/// <summary> /// /// When this button is pressed, the next player can select their /// name, tank and controller. When all players have selected their loadouts /// the game will begin. /// /// Author John Santias and Hoang Nguyen October 2017 /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void nextPlayerButton_Click(object sender, EventArgs e) { playerNames.Add(playerNameInput.Text); if (humanRadioButton.Checked) { humans[player - 1] = "human"; } else if (aiRadioButton.Checked) { AIs[player - 1] = "Ai"; } // If not all players have not assign player name, tank types and controller if (player != playerAmount) { player++; PlayerLabel.Text = "Player #" + player + "'s name:"; playerNameInput.Text = "Player " + player; BackColor = Gameplay.GetTankColour(player); // If all players have put in their details, game starts } else if (player == playerAmount) { Gameplay game = new Gameplay(playerAmount, roundAmount); //create human players for (int i = 0; i < playerAmount; i++) { if (humans[i] == "human") { Opponent a = new HumanOpponent(playerNames[i], TankModel.GetTank(1), Gameplay.GetTankColour(i + 1)); game.SetPlayer(i + 1, a); } else if (AIs[i] == "Ai") { Opponent a = new AIOpponent(playerNames[i], TankModel.GetTank(1), Gameplay.GetTankColour(i + 1)); game.SetPlayer(i + 1, a); } } game.NewGame(); Close(); } }
private void newGameButton_Click(object sender, EventArgs e) { GameController game = new GameController(2, 1); TankController player1 = new PlayerController("Player 1", Chassis.CreateTank(1), GameController.GetTankColour(1)); TankController player2 = new AIOpponent("Player 2", Chassis.CreateTank(1), GameController.GetTankColour(2)); TankController player3 = new AIOpponent("Player 3", Chassis.CreateTank(1), GameController.GetTankColour(3)); TankController player4 = new AIOpponent("Player 4", Chassis.CreateTank(1), GameController.GetTankColour(4)); TankController player5 = new AIOpponent("Player 5", Chassis.CreateTank(1), GameController.GetTankColour(5)); TankController player6 = new AIOpponent("Player 6", Chassis.CreateTank(1), GameController.GetTankColour(6)); TankController player7 = new AIOpponent("Player 7", Chassis.CreateTank(1), GameController.GetTankColour(7)); TankController player8 = new AIOpponent("Player 8", Chassis.CreateTank(1), GameController.GetTankColour(8)); game.SetPlayer(1, player1); game.SetPlayer(2, player2); //game.SetPlayer(3, player3); //game.SetPlayer(4, player4); //game.SetPlayer(5, player5); //game.SetPlayer(6, player6); //game.SetPlayer(7, player7); //game.SetPlayer(8, player8); game.BeginGame(); }
/// <summary> /// used to move to the next player /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void NextPlayer_Click(object sender, EventArgs e) { string playerName; int tankChoice = 1; //check that a choice has been made for both controller and tank if (!(humanChoice.Checked || computerChoice.Checked)) { MessageBox.Show("Looks like you haven't setup a controller for this player \n please choose either human or computer"); return; } if (!(basicTank.Checked || HeavyTank.Checked || quickFireTank.Checked || armoredTank.Checked)) { MessageBox.Show("Looks like you haven't setup a tank for this player \n please select one to continue"); return; } //find the choice of tank for this player if (basicTank.Checked) { tankChoice = 1; } if (quickFireTank.Checked) { tankChoice = 2; } if (HeavyTank.Checked) { tankChoice = 3; } if (armoredTank.Checked) { tankChoice = 4; } //stub more choices to come for future references //find the player's name if (inputtedName.Text == "") { // if no name inputted then go to basic name playerName = string.Format("Player {0}", setupPlayers + 1); } else { //if name inputted then set player to that name playerName = inputtedName.Text; } // add player to array of GenericPlayers if (humanChoice.Checked) { // Human player made Players[setupPlayers] = new PlayerController(playerName, TankModel.GetTank(tankChoice), Battle.TankColour(setupPlayers + 1)); } if (computerChoice.Checked) { Players[setupPlayers] = new AIOpponent(playerName, TankModel.GetTank(tankChoice), Battle.TankColour(setupPlayers + 1)); } // add entry of new player into the game currentBattle.SetPlayer(setupPlayers + 1, Players[setupPlayers]); // now move to the next player to setup setupPlayers++; //check to see if the next player is the last player if (setupPlayers + 1 == totalPlayers) { //change the nextplayer text to show that it will start the game on next click NextPlayer.Text = "Start Game!!!"; NextPlayer.ForeColor = Color.Red; } //check to see if all players are setup if (setupPlayers == totalPlayers) { //start the game currentBattle.NewGame(); this.Dispose(); return; } //reset for next player Reset(); }