namespace 猜数字窗口
{
public partial class Form1 : Form
{
Random random = new Random();
int[] systemNumber = new int[4];
int count = 7;
bool right = false; public Form1()
{
InitializeComponent();
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != 8)
e.Handled = true;
} private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != 8)
e.Handled = true;
} private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != 8)
e.Handled = true;
} private void textBox4_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != 8)
e.Handled = true;
} private void Form1_Load(object sender, EventArgs e)
{
count = 7;
List<int> list = new List<int>();
for (int i = 0; i < 10; i++)
{
list.Add(i);
} int first = random.Next(9) + 1;// 首位不为0
int second = random.Next(9);// 要求不重复 所以依次递减 还剩9个
int third = random.Next(8);
int fourth = random.Next(7);
//系统生成了随机四位数 number int number = list[first] * 1000;
list.RemoveAt(first);
number += list[second] * 100;
list.RemoveAt(second);
number += list[third] * 10;
list.RemoveAt(third);
number += list[fourth];
list.RemoveAt(fourth);
string systemNumber = number.ToString();// 系统生成了随机四位数 number
guess2.Text = systemNumber;
} private void guess_Click(object sender, EventArgs e)
{
int usernumber1 = 0;
int usernumber2 = 0;
int usernumber3 = 0;
int usernumber4 = 0;
if (right)
{
MessageBox.Show("你已经猜对了,请重新开始!");
return;
}
if (count == 0)
{
MessageBox.Show("对不起,次数已用尽,请重新开始!");
return;
}
if (int.TryParse(textBox1.Text, out usernumber1) == false)
{
MessageBox.Show("请输入数字");
return;
}
if (int.TryParse(textBox2.Text, out usernumber2) == false)
{
MessageBox.Show("请输入数字");
return;
}
if (int.TryParse(textBox3.Text, out usernumber3) == false)
{
MessageBox.Show("请输入数字");
return;
}
if (int.TryParse(textBox4.Text, out usernumber4) == false)
{
MessageBox.Show("请输入数字");
return;
}
int a = 0;//猜对位置
int b = 0;//猜对数字
if (a == 4)
{
result8.Text="恭喜你猜对了!";
right = true;
}
int[] guessNumber = new int[4] { usernumber1, usernumber2, usernumber3, usernumber4 };
for (int i = 0; i < 4; i++)
{
// 含数字的情况
if (systemNumber.Contains(guessNumber[i]))
{
a++;
}
// 恰等于的情况
if (systemNumber[i].Equals(guessNumber[i]))
{
b++;
}
}
if (a == 4)
{
MessageBox.Show("恭喜你猜对了!");
}
count--;
guess1.Text = textBox1.Text + textBox2.Text + textBox3.Text + textBox4.Text;
result1.Text = a + "A" + b + "B";
}
}}
{
public partial class Form1 : Form
{
Random random = new Random();
int[] systemNumber = new int[4];
int count = 7;
bool right = false; public Form1()
{
InitializeComponent();
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != 8)
e.Handled = true;
} private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != 8)
e.Handled = true;
} private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != 8)
e.Handled = true;
} private void textBox4_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != 8)
e.Handled = true;
} private void Form1_Load(object sender, EventArgs e)
{
count = 7;
List<int> list = new List<int>();
for (int i = 0; i < 10; i++)
{
list.Add(i);
} int first = random.Next(9) + 1;// 首位不为0
int second = random.Next(9);// 要求不重复 所以依次递减 还剩9个
int third = random.Next(8);
int fourth = random.Next(7);
//系统生成了随机四位数 number int number = list[first] * 1000;
list.RemoveAt(first);
number += list[second] * 100;
list.RemoveAt(second);
number += list[third] * 10;
list.RemoveAt(third);
number += list[fourth];
list.RemoveAt(fourth);
string systemNumber = number.ToString();// 系统生成了随机四位数 number
guess2.Text = systemNumber;
} private void guess_Click(object sender, EventArgs e)
{
int usernumber1 = 0;
int usernumber2 = 0;
int usernumber3 = 0;
int usernumber4 = 0;
if (right)
{
MessageBox.Show("你已经猜对了,请重新开始!");
return;
}
if (count == 0)
{
MessageBox.Show("对不起,次数已用尽,请重新开始!");
return;
}
if (int.TryParse(textBox1.Text, out usernumber1) == false)
{
MessageBox.Show("请输入数字");
return;
}
if (int.TryParse(textBox2.Text, out usernumber2) == false)
{
MessageBox.Show("请输入数字");
return;
}
if (int.TryParse(textBox3.Text, out usernumber3) == false)
{
MessageBox.Show("请输入数字");
return;
}
if (int.TryParse(textBox4.Text, out usernumber4) == false)
{
MessageBox.Show("请输入数字");
return;
}
int a = 0;//猜对位置
int b = 0;//猜对数字
if (a == 4)
{
result8.Text="恭喜你猜对了!";
right = true;
}
int[] guessNumber = new int[4] { usernumber1, usernumber2, usernumber3, usernumber4 };
for (int i = 0; i < 4; i++)
{
// 含数字的情况
if (systemNumber.Contains(guessNumber[i]))
{
a++;
}
// 恰等于的情况
if (systemNumber[i].Equals(guessNumber[i]))
{
b++;
}
}
if (a == 4)
{
MessageBox.Show("恭喜你猜对了!");
}
count--;
guess1.Text = textBox1.Text + textBox2.Text + textBox3.Text + textBox4.Text;
result1.Text = a + "A" + b + "B";
}
}}
解决方案 »
- |ZYCWPF| 开源的WPF-Find-Replace-Dialog我发现当文档内容大的时候查询替换非常之慢,如何进行优化呢 谢谢
- 控件随窗体缩放而缩放(调整布局)
- 如何受一个事件触发时,自动将自己变为当前的活动窗口?
- c#把HTML转换为XML格式
- 做自动登录时,构造URL的问题
- Page.RegisterStartupScript有没办法写到app_code中的类里?
- vs2008安装部署的时候,怎么把.net框架一起打包到安装文件内?
- dataGridView删除特定行
- POP3协议的问题,快来看看
- 公司最近要转Android系统了!迷茫啊!大家给点意见
- Microsoft.Office.Interop.Excel用法
- Access怎么查询
猜数字游戏:由计算机生成一个4位数,每位数字各不相同(如:1234。1123则是错误的),用户输入数字进行猜测,计算机对比正确答案。如果用户猜中4位数中包含的数字,但位置不对,则B计数器累加一;如果用户猜中4位数中包含的数字,且位置正确,否则A计数器累加一。最后,计算器显示A、B计数器的统计结果。不断进行循环,直到用户猜测出正确结果,或者用户猜测的次数超过7次,则中断循环,显示正确结果。
把这个游戏做成windows窗体程序...