Создание игры крестики нолики - C#
Формулировка задачи:
Возникла проблема при создание игры крестики нолики. В форме имеется 9 Picturebox-ов(3на3) При нажатие на один из них левой кнопкой рисуется крестик, правой нолик. Если в Picturebox1 при нажатием левой кнопкой мыши нарисовался рисунок, нужно сделать так чтобы при нажатие снова на этот же Picturebox1 в нем ничего больше не рисовалось, и чтобы нельзя было нажать на левую кнопку мыши пока не нажмеш на правую(пока не поставиш нолик). Подскажите как можно это сделать.
Решение задачи: «Создание игры крестики нолики»
textual
Листинг программы
public partial class Form1 : Form
{
public int x_MouseDown, y_MouseDown;
int Number;
int[] arr = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
public void Nolik(System.Windows.Forms.PictureBox PB, int Number)
{
Graphics g = PB.CreateGraphics();
g.DrawEllipse(Pens.Blue, 5, 5, 90, 90);
g.Dispose();
arr[Number - 1] = 1;
}
......
....
....
rivate void Form1_Load(object sender, EventArgs e)
{
Random rnd = new Random();
int RandomNolik = rnd.Next(1, 9);
switch (RandomNolik)
{
case 1:
Nolik(pictureBox1, RandomNolik);
break;
case 2:
Nolik(pictureBox2, RandomNolik);
break;
case 3:
Nolik(pictureBox3, RandomNolik);
break;
case 4:
Nolik(pictureBox4, RandomNolik);
break;
case 5:
Nolik(pictureBox5, RandomNolik);
break;
case 6:
Nolik(pictureBox6, RandomNolik);
break;
case 7:
Nolik(pictureBox7, RandomNolik);
break;
case 8:
Nolik(pictureBox8, RandomNolik);
break;
case 9:
Nolik(pictureBox9, RandomNolik);
break;
}
if (arr[0] == 1 && arr[1] == 1 && arr[2] == 1 || arr[3] == 1 && arr[4] == 1 && arr[5] == 1 || arr[6] == 1 && arr[7] == 1 && arr[8] == 1 || arr[0] == 1 && arr[3] == 1 && arr[6] == 1 || arr[1] == 1 && arr[4] == 1 && arr[7] == 1 || arr[2] == 1 && arr[5] == 1 && arr[8] == 1 || arr[0] == 1 && arr[4] == 1 && arr[8] == 1 || arr[2] == 1 && arr[4] == 1 && arr[6] == 1)
{
MessageBox.Show("Выйграли синие!!");
}
/*
if (arr[0] == 1 && arr[1] == 1 && arr[2] == 1 || arr[3] == 1 && arr[4] == 1 && arr[5] == 1 || arr[6] == 1 && arr[7] == 1 && arr[8] == 1 || arr[0] == 1 && arr[3] == 1 && arr[6] == 1 || arr[1] == 1 && arr[4] == 1 && arr[7] == 1 || arr[2] == 1 && arr[5] == 1 && arr[8] == 1 || arr[0] == 1 && arr[4] == 1 && arr[8] == 1 || arr[2] == 1 && arr[4] == 1 && arr[6] == 1)
{
MessageBox.Show("Выйграли красные!!");
}
*/
}
.....
....
....
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
Graphics g = Graphics.FromHwnd(pictureBox1.Handle);
g.DrawLine(Pens.Red, 10, 10, 90, 90);
g.DrawLine(Pens.Red, 90, 10, 10, 90);
g.Dispose();
[U][B] arr[Number - 1] = -1;[/B][/U] вот тут пытался присвоить -1.
}