编写窗体应用程序,实现猜数字游戏。 在窗体中添加一个字段,保存系统所产生的谜底(随机数)。 在窗体的load事件中用Random对象产生一个100以内的整数作为谜底。 游戏这在窗体中输入所猜的数字,并单击按钮提交输入。 如果和谜底想等,则提示猜中,并询问游戏者是否再玩一次。 如果猜错,则向游戏者提示所猜数字是”大了“还是”小了“,并显示尝试次数。 PS:文本框中输入的文本是string类型,要把string转换为整型,convert.ToInt32等
时间: 2024-02-15 15:04:10 浏览: 97
做一个猜数字的游戏,随机生成1~50之间的数字,然后有10次机会,供用户输入,判断是否猜中(使用for循环)
好的,下面是一个简单的示例代码,实现了您的要求。
```csharp
using System;
using System.Windows.Forms;
namespace GuessNumberGame
{
public partial class MainForm : Form
{
private int answer; // 系统所产生的谜底
private int tries; // 输入次数
public MainForm()
{
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e)
{
// 用 Random 对象产生一个100以内的整数作为谜底
Random random = new Random();
answer = random.Next(1, 101);
tries = 0;
}
private void submitButton_Click(object sender, EventArgs e)
{
// 将文本框中的文本转换为整数
int guess = Convert.ToInt32(guessTextBox.Text);
if (guess == answer)
{
// 猜中了
triesLabel.Text = "你猜了 " + tries + " 次";
MessageBox.Show("恭喜你,猜中了!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
// 询问是否再玩一次
DialogResult result = MessageBox.Show("再玩一次?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
// 重新开始游戏
Random random = new Random();
answer = random.Next(1, 101);
tries = 0;
triesLabel.Text = "";
guessTextBox.Text = "";
}
else
{
Close();
}
}
else if (guess < answer)
{
// 猜小了
tries++;
triesLabel.Text = "你猜了 " + tries + " 次";
MessageBox.Show("猜小了!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
// 猜大了
tries++;
triesLabel.Text = "你猜了 " + tries + " 次";
MessageBox.Show("猜大了!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
}
```
在这个示例代码中,我们创建了一个 MainForm 窗体,包含一个文本框、一个按钮和一个标签。在窗体的 Load 事件中,使用 Random 对象生成一个 1 到 100 之间的随机整数作为谜底。在按钮的 Click 事件中,将文本框中的文本转换为整数,与谜底进行比较,根据比较结果给出相应的提示。
需要注意的是,在用户猜中后,需要判断用户是否希望再次玩游戏。如果用户选择再次玩游戏,则需要重新生成谜底并清空猜测次数和文本框中的内容;如果用户选择结束游戏,则需要关闭程序窗口。
阅读全文