Exemple #1
0
    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);
    }