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(); };
std::pair<std::vector<HumanPlayer>, std::vector<ComputerPlayer>> Menu::getPlayerVector(int nHuman, int nAI, std::vector<std::string> playerNames, float startingMoney) { std::vector<ComputerPlayer::PlayerType> aiType = { ComputerPlayer::NPC_ALEX,ComputerPlayer::NPC_SIDNEY }; std::vector<std::string> genericNames = { "Alex ", "Sidney " }; int nTypes = (int)aiType.size(); std::vector<HumanPlayer> humanVec(nHuman); std::vector<ComputerPlayer> npcVec(nAI); for (int i = 0; i < nHuman; i++) { humanVec[i] = HumanPlayer(startingMoney, playerNames[i]); } for (int i = 0; i < nAI; i++) { std::string str = genericNames[i%nTypes] + std::to_string(i / nTypes + 1); // creates computer player, cycling between different ai types in 'aiType' npcVec[i] = ComputerPlayer(startingMoney, str, aiType[i%nTypes]); } std::pair<std::vector<HumanPlayer>, std::vector<ComputerPlayer>> pair = { humanVec,npcVec }; return pair; }