c# - 如何在 if-else 语句中创建循环?
问题描述
我正在尝试在 WPF 应用程序的 if-else 语句中创建循环。我想创建一个错误计数器,当它达到 4 时它会结束游戏。
private void Window_Loaded(object sender, RoutedEventArgs e)
{
Random prvni = new Random();
Random druhy = new Random();
int maxprvni = 10;
int maxdruhy = 10;
int prvnic = prvni.Next(1, maxprvni);
int druhyc = druhy.Next(2, maxdruhy);
int total = (prvnic + druhyc);
prvnit.Text = prvnic.ToString();
druhyt.Text = druhyc.ToString();
vysledek.Text = total.ToString();
}
private void kontrola_Click(object sender, RoutedEventArgs e)
{
if (vysledekhrac.Text == vysledek.Text)
{
hlaska.Text = "Správně";
}
else
{
int poch = new Int32();
do
{
hlaska.Text = "Špatně";
poch++;
pocetchyb.Text = poch.ToString();
} while (poch==4);
}
}
此代码将确保它通常拼写错误或正确,但不会将其添加到错误总数中。
该应用程序暂时只是添加随机数,但我想在未来完成其他数值运算但我一定会在其他时候问这个问题:D
感谢您的任何建议
解决方案
您可以在方法之外使用包含错误计数器的字段。不需要循环。
// fields always automatically intialized with default value which is 0 for 'int'.
private int poch;
private void kontrola_Click(object sender, RoutedEventArgs e)
{
if (vysledekhrac.Text == vysledek.Text)
{
hlaska.Text = "Správně";
}
else
{
hlaska.Text = "Špatně";
poch++;
pocetchyb.Text = poch.ToString();
if (poch == 4)
{
// end game
}
}
}
推荐阅读
- pandas - Pandas group by moth only returns January
- python - 有效地选择每个项目有可能被挑选的子集
- c++ - 无法编译简单的 C++17 程序
- c# - 我可以使用带有事件处理程序的按钮将用户发送到不同的 xaml 屏幕吗?
- manjaro - Luks 内容不可见/不可访问 - Manjaro Linux
- python - 带有芹菜执行器的气流用于内存饥饿的 Dags
- node.js - 为什么我每次在ubuntu都要写sudo
- sql - 如何在 SQL Server 中将主表选定列值作为子查询列名传递
- c++ - 是否可以在堆中分配向量但通过引用访问?
- javascript - Stripe:是否可以创建具有幂等性的直接充电