【问题标题】:How can i add 1 to this score我怎样才能在这个分数上加 1
【发布时间】: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


【解决方案1】:

您需要将变量round 存储在表单之外。每次销毁表格时,当前的轮数也会丢失。

您需要将其存储在您打开表单的任何位置。我还建议在打开表单之前增加整数,并将增加的值传递给表单进行显示。这样您就可以将所有关于回合的逻辑保存在一个地方。

【讨论】:

  • 你从哪里打开你的Form1
猜你喜欢
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-05
  • 2021-11-21
  • 2021-08-01
  • 1970-01-01
相关资源
最近更新 更多