如何解决我正在做一个井字游戏,但它只是把 X
我正在做一个井字游戏,但它只是把 X。我在不使用母版页的情况下在网络表单上进行
bool turn = true;
int turn_count = 0;
protected void Page_Load(object sender,EventArgs e)
{
}
protected void bclick(object sender,EventArgs e)
{
Button b = (Button)sender;
if (turn)
{
b.Text = "X";
}
else
{
b.Text = "O";
}
turn = !turn;
b.Enabled = false;
}
}
}
解决方法
您的代码的问题在于您的页面每次都在回发并且它的初始化变为 true。 您应该为此使用会话。例如里面Page_Load方法使用:
Session["Turn"] = true;
并在按钮内相应地将其设置为 true 或 false。
,类似的东西。将 turn
存储在会话中。请注意,turn_count
也会有同样的问题。我真的不明白你用布尔值去哪里。如果您希望两个不同的玩家在两个浏览器上玩这个游戏,那么您需要做更多的工作来跟踪游戏状态以及哪些玩家在哪个游戏实例中处于活动状态。
protected void bclick(object sender,EventArgs e)
{
string whosTurn = "X";
if (!string.IsNullOrEmpty(Session["turn"] as string))
{
whosTurn = Session["turn"].ToString();
}
if(whosTurn == "X")
{
Session["turn"] = "O";
}
else
{
Session["turn"] = "X";
}
Button b = (Button)sender;
b.Text = whosTurn;
b.Enabled = false;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。