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); } }
private void NewTurn() { GameplayTank tank = currentGame.GetCurrentGameplayTank(); GenericPlayer player = tank.GetPlayerNumber(); //Sets the form caption Text = String.Format("Tank Battle - Round {0} of {1}", currentGame.GetCurrentRound(), currentGame.GetRounds()); controlPanel.BackColor = player.GetColour(); playerLabel.Text = player.PlayerName(); SetAngle(tank.GetTankAngle()); SetForce(tank.GetTankPower()); int wind = currentGame.WindSpeed(); if (wind >= 0) { windLabel.Text = String.Format("{0} E", wind); } else { windLabel.Text = String.Format("{0} W", Math.Abs(wind)); } //Remove all the current selectable weapons and replace them with the current tanks weapons. weaponSelector.Items.Clear(); String[] weapons = tank.GetTank().ListWeapons(); foreach (String weapon in weapons) { weaponSelector.Items.Add(weapon); } //tank.SelectWeapon SelectWeapon(tank.GetCurrentWeapon()); player.NewTurn(this, currentGame); }