private void NewTurn() { BattleTank player = currentGame.CurrentPlayerTank(); GenericPlayer tankController = player.GetPlayerById(); this.Text = "Tank Battle - Round " + currentGame.GetCurrentRound() + "of " + currentGame.GetRounds(); BackColor = tankController.GetTankColour(); lblPlayerName.Text = tankController.Identifier(); Aim(player.GetPlayerAngle()); SetTankPower(player.GetPower()); if (currentGame.WindSpeed() > 0) { lblWindValue.Text = currentGame.WindSpeed() + " E"; } else { lblWindValue.Text = currentGame.WindSpeed() * -1 + " W"; } scrollWeapon.Items.Clear(); TankModel tank = player.CreateTank(); String[] lWeaponsAvailable = tank.ListWeapons(); scrollWeapon.Items.AddRange(lWeaponsAvailable); SetWeaponIndex(player.GetCurrentWeapon()); tankController.BeginTurn(this, currentGame); }
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); } }