Question: namespace Assignment _ 8 _ _ rpg _ form _ { public partial class RPGform : Form { PictureBox [ ] pbxHeroes; Label [ ]

namespace Assignment_8__rpg_form_
{
public partial class RPGform : Form
{
PictureBox[] pbxHeroes;
Label[] lblHeroes;
ProgressBar[] pbrHeroes;
List pbxVillains;
List pbrVillains;
List lblVillains;
Random random;
private bool current;
public RPGform()
{
InitializeComponent();
}
private void RPGform_Load(object sender, EventArgs e)
{
//Setup the heroes
pbrHeroes = new ProgressBar[7];
pbrHeroes[0]= pbrHero0;
pbrHeroes[1]= pbrHero1;
pbrHeroes[2]= pbrHero2;
pbrHeroes[3]= pbrHero3;
pbrHeroes[4]= pbrHero4;
pbrHeroes[5]= pbrHero5;
pbrHeroes[6]= pbrHero6;
pbxHeroes = new PictureBox[]{ pbxHero0, pbxHero1, pbxHero2, pbxHero3, pbxHero4, pbxHero5, pbxHero6};
lblHeroes = new Label[7];
lblHeroes[0]= lblHero0;
lblHeroes[1]= lblHero1;
lblHeroes[2]= lblHero2;
lblHeroes[3]= lblHero3;
lblHeroes[4]= lblHero4;
lblHeroes[5]= lblHero5;
lblHeroes[6]= lblHero6;
//Setup villains
pbxVillains = new List();
pbxVillains.Add(pbxVillain0);
pbxVillains.Add(pbxVillain1);
pbxVillains.Add(pbxVillain2);
pbxVillains.Add(pbxVillain3);
pbxVillains.Add(pbxVillain4);
pbxVillains.Add(pbxVillain5);
pbxVillains.Add(pbxVillain6);
pbrVillains = new List();
pbrVillains.Add(pbrVillain0);
pbrVillains.Add(pbrVillain1);
pbrVillains.Add(pbrVillain2);
pbrVillains.Add(pbrVillain3);
pbrVillains.Add(pbrVillain4);
pbrVillains.Add(pbrVillain5);
pbrVillains.Add(pbrVillain6);
lblVillains = new List();
lblVillains.Add(lblV0);
lblVillains.Add(lblV1);
lblVillains.Add(lblV2);
lblVillains.Add(lblV3);
lblVillains.Add(lblV4);
lblVillains.Add(lblV5);
lblVillains.Add(lblV6);
//Populate Random object
random = new Random();
current = true;
}
private void HeroesTurn()
{
//loop for each hero
for(int i =0; i pbrHeroes.Length; ++i)
{
//pick the hero
if (IsAlive(pbrHeroes[i].Value))
{
//generate the attack
int attack = HeroAttack();
//pick the villain to hit
int villain = PickVillain();
//bookkeeping
if(villain !=-1)
{
UpdateHeroAttack(i, attack, villain);
}
}
}
//Victory Check!
if (WeWon())
{
current = false;
btnFight.Enabled = false;
txtLog.Text ="The heroes won ! :)\r
"+ txtLog.Text;
}
}
private bool WeWon()
{
return pbrVillains[0].Value ==0 && pbrVillains[1].Value ==0 && pbrVillains[2].Value ==0 && pbrVillains[3].Value ==0 && pbrVillains[4].Value ==0 && pbrVillains[5].Value ==0 && pbrVillains[6].Value ==0;
}
private void UpdateHeroAttack(int hero, int attack, int villain)
{
//check villain hp vs attack
if (pbrVillains[villain].Value attack)
{
attack = pbrVillains[villain].Value;
}
pbrVillains[villain].Value -= attack;
txtLog.Text = $"{lblHeroes[hero].Text} hit {lblVillains[villain].Text} for {attack}!"+ txtLog.Text;
if (pbrVillains[villain].Value ==0)
{
txtLog.Text = $"{lblVillains[villain].Text} was defeated!\r
"+ txtLog.Text;
}
}
private bool IsAlive(int hp)
{
return hp >0;
}
private int HeroAttack()
{
return random.Next(10,25);
}
private int PickVillain()
{
int villain =0;
while (IsAlive(pbrVillains[villain].Value))
{
villain +=1;
if (villain ==6)
{
villain =-1;
break;
}
}
return villain;
}
private void VillainsTurn()
{
//loop for each hero
for (int i =0; i pbrVillains.Count; ++i)
{
Need help adding the following classes in the image attached to my code
 namespace Assignment_8__rpg_form_ { public partial class RPGform : Form { PictureBox[]

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!