c#窗体猜数字小游戏(初级版)

这是一个适合初学者的小游戏实现案例,通过使用C#编程语言及Windows Forms应用,实现了基本的猜数字游戏逻辑。游戏生成1到100之间的随机数,玩家通过点击不同数值的按钮来猜测正确答案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小游戏的简单实现,这种小游戏非常适合初学者,能够提升对编程的兴趣。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        int n;//全局变量
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Random a = new Random();                //用随机数赋值
            n = a.Next(1, 101);                     //答案的值
            int x = 10;
            int y = 60;
            for(int i=0;i<100;i++)                  //创建100个按钮
            {
                label1.Visible = false;
                Button bt = new Button();
                bt.BackColor = System.Drawing.Color.Blue;//改变按钮的背景色
                bt.Text = (i + 1).ToString();           //给按钮的text属性赋值
                bt.Name = (i + 1).ToString();           //给按钮的名字赋值
                bt.Width = 40;                          //设置按钮的宽和高
                bt.Height = 40;
                bt.Location = new Point(x, y);          //设置按钮的位置
                bt.Click += new EventHandler(bt_Click); //给按钮点击添加事件
                x += 36;
                if((i+1)%10==0)                         //每十个换一行
                {
                    x = 10;
                    y += 36;
                }
                Controls.Add(bt);                   //将按钮放入窗体控件集合中
            } 
        }
         private void bt_Click(object sender,EventArgs e)
        {
            Button but = (Button)sender;
            int t = int.Parse(but.Text);            //把按钮的Text的值转换为整型
                if(t==n)
                {
                label1.Text = "恭喜你答对了!";
                label1.Visible = true;
                but.BackColor = System.Drawing.Color.Red;
                }
                else if (t<n)
                    but.Text = "小";
                else
                    but.Text = "大";
        }
        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}

还有很多功能没有实现,希望大家多提意见!

界面设计(比较丑...):

C#编写的GUI游戏 源代码 using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace gn { public partial class Form1 : Form { string ready; int counti = 1; public Form1() { InitializeComponent(); this.label1.Hide(); this.button2.Hide(); this.button1.Hide(); this.button3.Hide(); this.button4.Hide(); this.textBox1.Hide(); this.pictureBox1.Hide(); this.pictureBox2.Hide(); } private void button1_Click(object sender, EventArgs e) { string number; int x, y; int count = 0; number = textBox1.Text; if (number.Length != 4) { MessageBox.Show("请输入4位数"); } else { if (counti <=8) { if (count <= 3) { x = 0; y = 0; for (int i = 0; i <= 3; i++) { for (int j = 0; j <= 3; j++) { if (number[i] == ready[j]) { if (i == j) ++x; else ++y; } } } label2.Text = "你已经过" + counti + "次"; ++count; label3.Text = x.ToString() + "A" + y.ToString() + "B"; if (number == ready) { this.label2.Text = "答对了"; this.pictureBox1.Show(); } } if (counti == 8) { this.button1.Enabled = false; this.pictureBox2.Show(); } } else { this.button1.Enabled = false; this.pictureBox2.Show(); } ++counti; } } private void button2_Click(object sender, EventArgs e) { MessageBox.Show(ready); } private void button3_Click(object sender, EventArgs e) { //this.button2.Hide(); this.textBox1.Text = ""; this.label3.Text = ""; this.label2.Text = ""; this.button1.Enabled = true; counti = 1; this.pictureBox1.Hide(); this.pictureBox2.Hide(); Random r = new Random(); string[] a; a = new string[8]; a[0] = "1263"; a[1] = "6598"; a[2] = "9654"; a[3] = "5986"; a[4] = "2915"; a[5] = "2046"; a[6] = "9035"; a[7] = "1057"; int z; z = r.Next(8); ready = a[z]; } private void label1_Click(object sender, EventArgs e) { } private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { } private void button4_Click(object sender, EventArgs e) { Close(); } private void button5_Click(object sender, EventArgs e) { Random r = new Random(); string[] a; a = new string[8]; a[0] = "1263"; a[1] = "6598"; a[2] = "9654"; a[3] = "5986"; a[4] = "2915"; a[5] = "2046"; a[6] = "9035"; a[7] = "1057"; int z; z = r.Next(8); ready = a[z]; this.textBox1.Show(); this.button1.Show(); this.button3.Show(); this.button4.Show(); this.label1.Show(); this.button2.Show(); this.button5.Hide(); } private void label4_Click(object sender, EventArgs e) { } private void Form1_Load(object sender, EventArgs e) { } private void pictureBox1_Click(object sender, EventArgs e) { } private void pictureBox1_Click_1(object sender, EventArgs e) { } } }
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值