C# 클래스 DeenGames.Valence.Model.CoreModel

파일 보기 프로젝트 열기: deengames/valence

공개 메소드들

메소드 설명
BoardToString ( ) : string
ClearEventHandlers ( ) : void
CreateBoard ( ) : void
GenerateBoard ( ) : void
IsLevelOver ( ) : bool
LoadBoard ( int puzzleLevel ) : void
MoveToNextLevel ( ) : void
PickNextAtom ( ) : void
SaveLevelReached ( ) : void
SetGameStateToNormal ( ) : void
SignalGameOver ( ) : void
SpewOutAtomsFromMachine ( ) : IList
StartAtFirstLevel ( ) : void
StartCountdownTimer ( ) : void
StopCountdownTimer ( ) : void
_countdownTickTimer_Tick ( object sender, EventArgs e ) : void

비공개 메소드들

메소드 설명
CoreModel ( ) : System
GetPuzzleBoardAndToolboxDefinition ( int puzzleLevel ) : string
GetTilesInReaction ( Tile newAtomTile ) : IList
SetGameStateToGameComplete ( ) : void
calculateReactionsUsingBestFirstSearch ( IList potentialReactionTiles, Tile centerTile, IList foundSoFarInPath, IList foundSoFarInTotal ) : IList
calculateReactionsUsingBruteForceCombinations ( IList potentialReactionTiles, Tile userClickedTile ) : IList
clearBoard ( ) : void
countEmptyTilesOnTheBoard ( ) : int
generateNormalModeBoard ( ) : void
generatePuzzleModeLevel ( ) : void
getCombinationsOf ( int i, IList potentialReactionTiles, Tile userClickedTile ) : IList
getCombinationsOfTwo ( IList potentialReactionTiles, Tile userClickedTile ) : IList
getIncrementalCombinations ( IList potentialReactionTiles, IList previousSet ) : IList
getMostElectronegative ( IList molecules ) : Molecule
getNonEmptyAdjacentTiles ( Tile centerTile ) : IList
getPotentialReactionTiles ( Tile centerTile, IList toReturn ) : void

Get potential reaction tiles. These are non-empty tiles that are non-diagonally adjacent to centerTile. This also includes tiles that are adjacent to adjacent tiles.

loadLastReachedLevel ( ) : void
tileFollowsDifficultyBalancingAlgorithm ( Tile current, Atom proposedAtom ) : bool
weedOutNonConnectedMolecules ( IList molecules ) : IList

Given a list of potential molecules, weed out all the ones where the atoms are not all adjacent to each other. This can occur due to a bug-fix for I-shaped molecules not reacting, where we extended molecule detection to all non-empty adjacent tiles. As a result, you can have H-Be-Cl forming H-Cl, which is wrong. This function will fix that, by checking that H and Cl are adjacent.

메소드 상세

BoardToString() 공개 메소드

public BoardToString ( ) : string
리턴 string

ClearEventHandlers() 공개 메소드

public ClearEventHandlers ( ) : void
리턴 void

CreateBoard() 공개 메소드

public CreateBoard ( ) : void
리턴 void

GenerateBoard() 공개 메소드

public GenerateBoard ( ) : void
리턴 void

IsLevelOver() 공개 메소드

public IsLevelOver ( ) : bool
리턴 bool

LoadBoard() 공개 메소드

public LoadBoard ( int puzzleLevel ) : void
puzzleLevel int
리턴 void

MoveToNextLevel() 공개 메소드

public MoveToNextLevel ( ) : void
리턴 void

PickNextAtom() 공개 메소드

public PickNextAtom ( ) : void
리턴 void

SaveLevelReached() 공개 메소드

public SaveLevelReached ( ) : void
리턴 void

SetGameStateToNormal() 공개 메소드

public SetGameStateToNormal ( ) : void
리턴 void

SignalGameOver() 공개 메소드

public SignalGameOver ( ) : void
리턴 void

SpewOutAtomsFromMachine() 공개 메소드

public SpewOutAtomsFromMachine ( ) : IList
리턴 IList

StartAtFirstLevel() 공개 메소드

public StartAtFirstLevel ( ) : void
리턴 void

StartCountdownTimer() 공개 메소드

public StartCountdownTimer ( ) : void
리턴 void

StopCountdownTimer() 공개 메소드

public StopCountdownTimer ( ) : void
리턴 void

_countdownTickTimer_Tick() 공개 메소드

public _countdownTickTimer_Tick ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
리턴 void