MainForm::MainForm() { SuspendLayout(); _humanBoard = gcnew Board(); _computerBoard = gcnew Board(false); _humanPlayer = gcnew HumanPlayer("Þaidëjas", _computerBoard); _computerPlayer = gcnew ComputerPlayer("Kompiuteris"); _scoreboard = gcnew ScoreBoard(_humanPlayer, _computerPlayer, 10, 100); _controller = gcnew GameController(_humanPlayer, _computerPlayer, _humanBoard, _computerBoard, _scoreboard); _shuffleButton = CreateButton(ShuffleCharacter.ToString(), ButtonBackColor); _newGameButton = CreateButton(NewGameCharacter.ToString(), ButtonBackColor); _startGameButton = CreateButton(StartGameCharacter.ToString(), ButtonBackColor); SetupWindow(); LayoutControls(); _scoreboard->GameEnded += gcnew EventHandler(this, &MainForm::OnGameEnded); _shuffleButton->Click += gcnew System::EventHandler(this, &MainForm::OnShuffleButtonClick); _startGameButton->Click += gcnew System::EventHandler(this, &MainForm::OnStartGameButtonClick); _newGameButton->Click += gcnew System::EventHandler(this, &MainForm::OnNewGameButtonClick); ResumeLayout(); StartNewGame(); };
GameController System::create_gamecontroller() { for (int i = 0; i < SDL_NumJoysticks(); ++i) { if (SDL_IsGameController(i)) { SDL_GameController* controller = SDL_GameControllerOpen(i); if (controller) { return GameController(controller); } else { std::ostringstream out; out << "Could not open gamecontroller: " << i << ": " << SDL_GetError(); throw std::runtime_error(out.str()); } } } return {}; }