/// <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();
            }
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        /// <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();
        }