编写窗体应用程序,实现猜数字游戏。 在窗体中添加一个字段,保存系统所产生的谜底(随机数)。 在窗体的load事件中用Random对象产生一个100以内的整数作为谜底。 游戏这在窗体中输入所猜的数字,并单击按钮提交输入。 如果和谜底想等,则提示猜中,并询问游戏者是否再玩一次。 如果猜错,则向游戏者提示所猜数字是”大了“还是”小了“,并显示尝试次数。
时间: 2024-02-11 20:09:41 浏览: 178
好的,下面是一个简单的猜数字游戏窗体应用程序的实现代码:
```
public partial class Form1 : Form
{
private int answer; // 系统谜底
private int tries; // 尝试次数
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 随机生成一个100以内的整数作为系统谜底
Random rand = new Random();
answer = rand.Next(1, 101);
tries = 0;
lblHint.Text = "";
lblTries.Text = "尝试次数:" + tries;
}
private void btnGuess_Click(object sender, EventArgs e)
{
try
{
int guess = int.Parse(txtGuess.Text); // 获取用户输入的猜测数字
if (guess == answer)
{
// 猜中了,弹出提示框
MessageBox.Show("恭喜你,猜中了!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
// 询问玩家是否再玩一次
DialogResult result = MessageBox.Show("是否再玩一次?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
// 重新开始游戏
Form1_Load(sender, e);
}
else
{
// 关闭窗体
Close();
}
}
else if (guess < answer)
{
// 猜小了,显示提示信息
lblHint.Text = "猜小了!";
tries++;
}
else
{
// 猜大了,显示提示信息
lblHint.Text = "猜大了!";
tries++;
}
lblTries.Text = "尝试次数:" + tries;
}
catch
{
// 用户输入不是数字,提示错误信息
MessageBox.Show("请输入一个数字!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
```
在上面的代码中,我们首先在窗体加载时使用 `Random` 类生成一个随机数作为系统谜底,并将尝试次数重置为0。当用户点击“猜”按钮时,我们首先尝试将用户在文本框中输入的内容转换为整数,如果转换失败,说明用户输入了非数字的字符,我们就弹出错误提示框;如果转换成功,就将用户猜测的数字和系统谜底进行比较,根据比较结果更新提示信息和尝试次数。如果用户猜中了,我们就弹出胜利提示框,并询问用户是否再玩一次。如果用户选择再玩一次,我们就重新生成随机数作为系统谜底,重置尝试次数,重新开始游戏。如果用户选择不再玩一次,我们就关闭窗体,游戏结束。
阅读全文