private void NewTurn() { // find the next player and their tank currentTank = currentGame.GetPlayerTank(); currentPlayer = currentTank.GetPlayerNumber(); //set the title of a form to current round of total rounds this.Text = string.Format("Tank battle - Round {0} of {1}", currentGame.CurrentRound(), currentGame.GetNumRounds()); // set backcolor of controlpanel to currentplayers colour controlPanel.BackColor = currentPlayer.PlayerColour(); // show the current player's name currentPlayerLabel.Text = currentPlayer.Name(); // set angle to current gameplaytank's angle this.Aim(currentTank.GetTankAngle()); //show current tank's power this.SetTankPower(currentTank.GetPower()); //show current windspeed //postive values should state its a eastly wind while negative values come from windly west if (currentGame.GetWind() >= 0) { windspeedLabel.Text = string.Format("{0} E", currentGame.GetWind()); } else { windspeedLabel.Text = string.Format("{0} W", (currentGame.GetWind() * -1)); // times by a negative number to shows a flat value for wind } //clear weapon choices in weaponSelect weaponSelect.Items.Clear(); // find all weapons available to current tank foreach (string weapon in currentTank.GetTank().ListWeapons()) { // add each weapon to selection choice of weaponSelect weaponSelect.Items.Add(weapon); } //set the current weapon to be used of current tank SetWeapon(currentTank.GetWeapon()); if (currentPlayer is PlayerController) { // give controls for firing a weapon currentPlayer.BeginTurn(this, currentGame); } else if (currentPlayer is AIOpponent) { //run the firing command on currentplayer currentPlayer.BeginTurn(this, currentGame); } }