void CreateBoard() { if (boardchanged) { if (mainboard != null) { mainview.Destroy(); } string gamechoice = gameChoiceButton.GetSelectionString(); switch (gamechoice) { case "Tic Tac Toe": mainboard = new GomokuBoard(3, 3, 3, 3); mainview = new GomokuView((GomokuBoard)mainboard); break; case "Tic Tac 5": mainboard = new GomokuBoard(5, 5, 3, 5); mainview = new GomokuView((GomokuBoard)mainboard); break; case "Gomoku 9x9": mainboard = new GomokuBoard(9, 9, 5, 5); mainview = new GomokuView((GomokuBoard)mainboard); break; case "Gomoku 15x15": // omitted from the options for now mainboard = new GomokuBoard(15, 15, 5, 5); mainview = new GomokuView((GomokuBoard)mainboard); break; case "Connect Four": mainboard = new ConnectFourBoard(7, 6); mainview = new ConnectFourView((ConnectFourBoard)mainboard); break; case "Othello": mainboard = new OthelloBoard(8, 8); mainview = new OthelloView((OthelloBoard)mainboard); break; case "Domineering 7x7": mainboard = new DomineeringBoard(7, 7); mainview = new DomineeringView((DomineeringBoard)mainboard); break; case "Domineering 9x9": mainboard = new DomineeringBoard(9, 9); mainview = new DomineeringView((DomineeringBoard)mainboard); break; case "Pentago": mainboard = new PentagoBoard(); mainview = new PentagoView((PentagoBoard)mainboard); break; case "Hex 7x7": mainboard = new HexBoard(7, 7); mainview = new HexView((HexBoard)mainboard); break; case "Hex 10x10": mainboard = new HexBoard(10, 10); mainview = new HexView((HexBoard)mainboard); break; default: Console.WriteLine("Unknown game name"); return; } AddChild(mainview); mainview.RegisterCellClickHandler(RegisterHumanMove); boardchanged = false; } else { mainboard.Reset(); } mainboard.SetActivePlayer(1); }