gpt4 book ai didi

c# - Tic Tac Toe 转弯问题 C#

转载 作者:太空宇宙 更新时间:2023-11-03 10:21:23 25 4
gpt4 key购买 nike

我在上基础编程课,现在我们要编写一个模拟玩井字游戏的程序。在我的代码中,我计划让人们选择他们是想看模拟游戏还是想玩,然后这将是一个两人游戏我还没有准备好尝试制作一个游戏来对抗电脑。

我卡在了模拟部分,所以转到了游戏部分。玩家 1 走了,但我的 if 语句的工作方式是为玩家 1 执行操作,但随后也为玩家 2 执行操作。代码很长,但是每个按钮都是一组相同的基本代码,所以我只发布一个按钮的值(value)。

添加了 "lblTest.Text = OneDown.ToString();" 代码,这样我就可以看到它的数学运算,每次点击都对玩家 1 和 2 进行计数,显示结束编号作为 8. 我将如何让它只为玩家一或玩家二运行?

private void btn1_Click(object sender, EventArgs e)
{
if (PlayerTurn == 1)
{
OneDown = OneDown + 5;
OneAcross = OneAcross + 5;
SlashOne = SlashOne + 5;
btn1.Text = "X";
btn1.Enabled = false;
PlayerTurn = PlayerTurn - 1;
lblTurn.Text = "O";
}

if (SlashOne == 15 || OneAcross == 15 || OneDown == 15)
{
MessageBox.Show("Player 1 Wins!");
}
else if (PlayerTurn == 0)
{
OneDown = OneDown + 3;
OneAcross = OneAcross + 3;
SlashOne = SlashOne + 3;
btn1.Text = "O";
btn1.Enabled = false;
PlayerTurn = PlayerTurn + 1;
lblTurn.Text = "X";
lblTest.Text = OneDown.ToString();
}

if (SlashOne == 9 || OneAcross == 9 || OneDown == 9)
{
MessageBox.Show("Player 2 Wins!");
}

最佳答案

基本上你的 else-if 没有附加到正确的 if。

private void btn1_Click(object sender, EventArgs e)
{
if (PlayerTurn == 1)
{
OneDown = OneDown + 5;
OneAcross = OneAcross + 5;
SlashOne = SlashOne + 5;
btn1.Text = "X";
btn1.Enabled = false;
PlayerTurn = PlayerTurn - 1;
lblTurn.Text = "O";

if (SlashOne == 15 || OneAcross == 15 || OneDown == 15)
{
MessageBox.Show("Player 1 Wins!");
}

}
else if (PlayerTurn == 0)
{
OneDown = OneDown + 3;
OneAcross = OneAcross + 3;
SlashOne = SlashOne + 3;
btn1.Text = "O";
btn1.Enabled = false;
PlayerTurn = PlayerTurn + 1;
lblTurn.Text = "X";
lblTest.Text = OneDown.ToString();

if (SlashOne == 9 || OneAcross == 9 || OneDown == 9)
{
MessageBox.Show("Player 2 Wins!");
}
}

关于c# - Tic Tac Toe 转弯问题 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33352364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com