using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void RandomVal(object sender, EventArgs e)
{
MessageBox.Show(SweClockersExample_Dices.Stats.Statistics(panel1));
}
private void button2_Click(object sender, EventArgs e)
{
SweClockersExample_Dices.Randomize.SetContent(panel1);
}
}
}
namespace SweClockersExample_Dices
{
public class Stats
{
static int one = 0, two = 0, three = 0, four = 0, five = 0, six = 0, control = 0;
private static List<int> number = new List<int>();
private bool Contains = false;
public static string Statistics(Panel panel)
{
for (int i = 0; i < panel.Controls.Count; i++)
{
if (panel.Controls[i] is TextBox)
{
number.Add(Convert.ToInt16(panel.Controls[i].Text));
}
}
foreach (int num in number)
{
switch (num)
{
case 1:
one++;
break;
case 2:
two++;
break;
case 3:
three++;
break;
case 4:
four++;
break;
case 5:
five++;
break;
case 6:
six++;
break;
default:
MessageBox.Show("Felaktigt värde inlagt");
break;
}
}
return string.Format("Ettor: {0}; Tvåor: {1}\nTreor: {2} Fyror: {3}\nFemmor: {4} Sexor: {5}", one, two, three, four, five, six);
}
}
public static class Randomize
{
static Random Random = new Random();
static List<int> Numbers = new List<int>();
public static void SetContent(Panel panel)
{
Clear(panel);
int tempRandom = Random.Next(1, 7);
SetStartContent();
do
{
for (int ii = 0; ii < Numbers.Count; ii++)
{
switch (Numbers.Contains(tempRandom))
{
case true:
tempRandom = Random.Next(1, 7);
break;
case false:
if (Numbers.Count < 6)
{
Numbers.Add(tempRandom);
}
break;
default:
tempRandom = Random.Next(1, 7);
break;
}
}
} while (Numbers.Count < 6);
PrintNumbers(panel);
}
private static void PrintNumbers(Panel panel)
{
for (int iii = 0; iii < panel.Controls.Count; iii++)
{
if (panel.Controls[iii] is TextBox)
{
((TextBox)panel.Controls[iii]).Text = Numbers[iii].ToString();
}
}
}
private static void ShowCount()
{
MessageBox.Show(Numbers.Count.ToString());
}
private static void SetStartContent()
{
if (Numbers.Count < 1)
{
Numbers.Add(Random.Next(1, 7));
}
}
private static void Clear(Panel panel)
{
Numbers.Clear();
for (int io = 0; io < panel.Controls.Count; io++)
{
((TextBox)panel.Controls[io]).Text = "";
}
}
}
}