【发布时间】:2013-11-13 20:10:14
【问题描述】:
我正在开发井字游戏, 我希望当我完成游戏时我的意思是 X 或 O 赢(一个 X 或 O 块)我希望轮数从 1 变为 2 并且我清除所有字段(我使用按钮作为字段和按钮文本作为 X 或 O ) 这是代码的一部分: B1 , B2 , B3 vars ,当它们具有 1 作为值时,意味着在该字段上完成了 X
if (B1 == 1 && B2 == 1 && B3 == 1)
{
MessageBox.Show("X Win");
Form1 Form = new Form1();
Form.Dispose();
}
我在 Form.Load 上写道:
private void Form1_Load(object sender, EventArgs e)
{
round++;
label3.Text = "Round: " + round.ToString();
}
它没有任何解决方案?
我在这里定义了变量
public Form1()
{
InitializeComponent();
}
byte player = 1;
byte B1 = 0;
byte B2 = 0;
byte B3;
byte B4;
byte B5;
byte B6;
byte B7;
byte B8;
byte B9;
byte round;
byte Player1, Player2;
对于整个代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
byte player = 1;
byte B1 = 0;
byte B2 = 0;
byte B3;
byte B4;
byte B5;
byte B6;
byte B7;
byte B8;
byte B9;
byte round;
byte Player1, Player2;
private void button1_Click(object sender, EventArgs e)
{
if (player == 1)
{
if (B1 == 0)
{
button1.Text = "X";
B1 = 1;
player = 2;
}
}
else if (player == 2)
{
if (B1 == 0)
{
button1.Text = "O";
B1 = 2;
player = 1;
}
}
}
private void button2_Click(object sender, EventArgs e)
{
if (player == 1)
{
if (B2 == 0)
{
button2.Text = "X";
B2 = 1;
player = 2;
}
}
else if (player == 2)
{
if (B2 == 0)
{
button2.Text = "O";
B2 = 2;
player = 1;
}
}
}
private void button3_Click(object sender, EventArgs e)
{
if (player == 1)
{
if (B3 == 0)
{
button3.Text = "X";
B3 = 1;
player = 2;
}
}
else if (player == 2)
{
if (B3 == 0)
{
button3.Text = "O";
B3 = 2;
player = 1;
}
}
}
private void button5_Click(object sender, EventArgs e)
{
if (player == 1)
{
if (B5 == 0)
{
button5.Text = "X";
B5 = 1;
player = 2;
}
}
else if (player == 2)
{
if (B5 == 0)
{
button5.Text = "O";
B5 = 2;
player = 1;
}
}
}
private void button4_Click(object sender, EventArgs e)
{
if (player == 1)
{
if (B4 == 0)
{
button4.Text = "X";
B4 = 1;
player = 2;
}
}
else if (player == 2)
{
if (B4 == 0)
{
button4.Text = "O";
B4 = 2;
player = 1;
}
}
}
private void button9_Click(object sender, EventArgs e)
{
if (player == 1)
{
if (B9 == 0)
{
button9.Text = "X";
B9 = 1;
player = 2;
}
}
else if (player == 2)
{
if (B9 == 0)
{
button9.Text = "O";
B9 = 2;
player = 1;
}
}
}
private void button7_Click(object sender, EventArgs e)
{
if (player == 1)
{
if (B7 == 0)
{
button7.Text = "X";
B7 = 1;
player = 2;
}
}
else if (player == 2)
{
if (B7 == 0)
{
button7.Text = "O";
B7 = 2;
player = 1;
}
}
}
private void button8_Click(object sender, EventArgs e)
{
if (player == 1)
{
if (B8 == 0)
{
button8.Text = "X";
B8 = 1;
player = 2;
}
}
else if (player == 2)
{
if (B8 == 0)
{
button8.Text = "O";
B8 = 2;
player = 1;
}
}
}
private void button6_Click(object sender, EventArgs e)
{
if (player == 1)
{
if (B6 == 0)
{
button6.Text = "X";
B6 = 1;
player = 2;
}
}
else if (player == 2)
{
if (B6 == 0)
{
button6.Text = "O";
B6 = 2;
player = 1;
}
}
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (B1 == 1 && B2 == 1 && B3 == 1)
{
MessageBox.Show("X Win");
}
if (B4 == 1 && B5 == 1 && B6 == 1)
{
MessageBox.Show("X Win");
}
if (B7 == 1 && B8 == 1 && B9 == 1)
{
MessageBox.Show("X Win");
}
if (B1 == 1 && B4 == 1 && B7 == 1)
{
MessageBox.Show("X Win");
}
if (B2 == 1 && B5 == 1 && B8 == 1)
{
MessageBox.Show("X Win");
}
if (B3 == 1 && B6 == 1 && B9 == 1)
{
MessageBox.Show("X Win");
}
if (B1 == 1 && B5 == 1 && B9 == 1)
{
MessageBox.Show("X Win");
}
if (B3 == 1 && B5 == 1 && B7 == 1)
{
MessageBox.Show("X Win");
}
}
private void button10_Click(object sender, EventArgs e)
{
Form2 Form2 = new Form2();
Form2.Show();
this.Hide();
}
private void Form1_Load(object sender, EventArgs e)
{
round++;
label3.Text = "Round: " + round.ToString();
}
【问题讨论】:
-
你在哪里定义
round? -
我认为我们需要一个更完整的概述。如果 round 不是全局变量,它将不起作用。
-
如果是象棋游戏,你会声明像
private void buttonNNN_Click(object sender, EventArgs e)这样的64个方法吗? -
我想看看你的go (19x19)代码
标签: c# .net visual-studio-2010 visual-studio visual-studio-2008