public HanoiVisual(HanoiGame hanoiGame, Panel panelA, Panel panelB, Panel panelC, Panel gameArea) { game = hanoiGame; panels = new Panel[3]; this.gameArea = gameArea; panels[0] = panelA; panels[1] = panelB; panels[2] = panelC; CalculateSize(); CreateTowers(); CreateBlocks(); SetupBlocks(); currentMove = game.originTowers; //game.BlockMoved += Visualize; }
public void Visualize(HanoiGame.MoveInfo move) { for (int i = 0; i < 3; i++) { VisualTower visualTower = visualTowers[i]; for (int t = 0; t < game.blockCount; t++) { Block block = move.towers[i][t]; if (block == null) { continue; } visualTower.PlaceBlock(blockInfos[block.size - 1], t); } } currentMove = move; }
void UpdateLabel() { HanoiGame.MoveInfo move = game.moves[scrollIndex]; indicator.Text = (scrollIndex).ToString() + "/" + (game.moves.Count - 1).ToString(); }