After the Roll button is pressed, a timer will be enabled to generate random die rolls every 1/10 of a second. The images shown for each die will change with the random numbers generated, so the dice will appear to be rolling randomly.After about 10 random rolls, the timer will be stopped and the final roll and current score displayed.
public partial class Form1 : Form
{
Random m_rnd = new Random();
List
List
int diceTotal;
private int[] i_Array = new int[5] { 0, 1, 2, 3, 4 };
public Form1()
{
InitializeComponent();
pictureBox1.Image = imageList1.Images[i_Array[0]];
pictureBox2.Image = imageList1.Images[i_Array[1]];
pictureBox3.Image = imageList1.Images[i_Array[2]];
pictureBox4.Image = imageList1.Images[i_Array[3]];
pictureBox5.Image = imageList1.Images[i_Array[4]];
dice.Add(pictureBox1);
dice.Add(pictureBox2);
dice.Add(pictureBox3);
dice.Add(pictureBox4);
dice.Add(pictureBox5);
}
private void btn_roll_Click(object sender, EventArgs e)
{
pictureBox1.Image = imageList1.Images[m_rnd.Next(0, 6)];
pictureBox2.Image = imageList1.Images[m_rnd.Next(0, 6)];
pictureBox3.Image = imageList1.Images[m_rnd.Next(0, 6)];
pictureBox4.Image = imageList1.Images[m_rnd.Next(0, 6)];
pictureBox5.Image = imageList1.Images[m_rnd.Next(0, 6)];
diceTotal = 0;
diceResults.Clear();
for (int i = 0; i <= 4; i++)
{
diceResults.Add(m_rnd.Next(1, 6));
int imageNumber = diceResults[i] - 1;
dice[i].Image = this.imageList1.Images[imageNumber];
diceTotal += diceResults[i];
}
lbl_totalscore.Text = diceTotal.ToString();
}
private void timer1_Tick(object sender, EventArgs e)
{
}
private void btn_playagain_Click(object sender, EventArgs e)
{
pictureBox1.Image = imageList1.Images[i_Array[0]];
pictureBox2.Image = imageList1.Images[i_Array[1]];
pictureBox3.Image = imageList1.Images[i_Array[2]];
pictureBox4.Image = imageList1.Images[i_Array[3]];
pictureBox5.Image = imageList1.Images[i_Array[4]];
lbl_totalscore.Text = "0";
lbl_rollscore.Text = "0";
}
}
VulpesPosted Oct 11, 2011, 3:45 PM
Jonathan CrispePosted Oct 11, 2011, 2:42 PM
When a picturebox is clicked, the background color will be changed to red, indicating that that particular die will not be rolled. If the user clicks on a red die again, the color will return to green, indicating that that die will be rolled.
VulpesPosted Oct 10, 2011, 6:11 AM