I am doing MVC and I am new at it. I am making a game where 5 dice roll by clicking on the 'roll dice' button and show random numbers. Under each die label there is a check box. If the player clicks on the check box the dice don't roll again and the other dice do roll.
I can show dice numbers in my view but I don't understand how to make it so the dice don't roll if you check the checkbox. I translated my program because it's in dutch: Waarde=value; dobbesteen=dice; werp=throw.
public class Dobbelsteen
{
Random rnd = new Random();
public int Waarde { get; set; }
public bool Checked { get; set; }
public int Worpen { get; set; }
public void Rollen()
{
if (Checked == false)
Waarde = rnd.Next(1, 7);
}
}
public class BusinessController
{
List<int> dice = new List<int>();
Dobbelsteen objdobbelsteen = new Dobbelsteen();
public BusinessController()
{
}
public int Roll()
{
for (int i = 0; i < 5; i++)
{
objdobbelsteen.Rollen();
dice.Add(i);
}
return objdobbelsteen.Waarde;
}
public int Werp()
{
objdobbelsteen.Worpen++;
return objdobbelsteen.Worpen;
}
public int nietroll()
{
int i = 1;
return i;
}
/*public bool Winnaar()
{
if (dice[1] == dice[2])
{
return true;
}
else return false;
}*/
public void SetLock(int p)
{
if(objdobbelsteen.Checked==false)
{
nietroll();
}
}
}
public partial class Form1 : Form
{
BusinessController busniessController = new BusinessController();
public Form1()
{
InitializeComponent();
}
public void Gooien_Click(object sender, EventArgs e)
{
lblWorpen.Text = Convert.ToString(busniessController.Werp());
dblsteen1.Text = Convert.ToString(busniessController.Roll());
dblsteen2.Text = Convert.ToString(busniessController.Roll());
dblsteen3.Text = Convert.ToString(busniessController.Roll());
dblsteen4.Text = Convert.ToString(busniessController.Roll());
dblsteen5.Text = Convert.ToString(busniessController.Roll());
if (dblsteen1.Text==dblsteen2.Text)
MessageBox.Show("u win");
}
public void checkBox1_CheckedChanged(object sender, EventArgs e)
{
busniessController.SetLock(1);
}
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
busniessController.SetLock(2);
}
private void checkBox3_CheckedChanged(object sender, EventArgs e)
{
busniessController.SetLock(3);
}
private void checkBox4_CheckedChanged(object sender, EventArgs e)
{
busniessController.SetLock(4);
}
private void checkBox5_CheckedChanged(object sender, EventArgs e)
{
busniessController.SetLock(5);
}
}