猜字游戏源码

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;
using System.Threading;

namespace 制作猜字游戏
{
    public partial class Frm_main : Form
    {
        public int G_int_num; //定义字段,模拟全局变量
        public int G_int_temp;//定义字段,模拟全局变量
        public int G_time_num;//定义字段,模拟全局变量
        Thread G_th;//开辟一个进程
        public Frm_main()
        {
            InitializeComponent();//初始化form上的控件
            this.Text = "制作一个数字猜猜看小游戏";//更改窗口的标题
        }
        private void button1_Click(object sender, EventArgs e)//按键触发事件
        {
            //RemoveControl();
            int P_int_x = 10;//x轴初始坐标为10
            int P_int_y = 60;//y轴初始坐标为60
            for (int i = 0; i < 100; i++)//添加100个按钮
            {
                Button bt = new Button();   //创建Button控件bt
                bt.Text = (i + 1).ToString();//设置button控件的文本值
                bt.Name = (i + 1).ToString();//设置Button的Name属性
                bt.Width = 35;//按钮的宽度
                bt.Height = 35;//按钮的高度
                bt.Location = new Point(P_int_x, P_int_y);//定义button控件的位置
                bt.Click += new EventHandler(bt_Click);
                P_int_x += 36;
                if ((i + 1) % 10 == 0)
                {
                    P_int_x = 10;
                    P_int_y += 36;
                }
                Controls.Add(bt);
            }

            G_th = new System.Threading.Thread(delegate ()
                {
                    int P_int_count = 0;//初始化计数器
                    while (true)//开始无限循环
                    {
                        P_int_count = (++P_int_count > 100000) ? 0 : P_int_count;
                        /* 三元表达式判断P_int_count>10000是否成立,如果成立则P_int_count=0,
                         如果不成立则P_int_count=P_int_count;*/
                        this.Invoke((MethodInvoker)delegate
                            {
                                lb_time.Text = P_int_count.ToString();
                            });
                        System.Threading.Thread.Sleep(1000);
                        G_time_num = P_int_count;
                    }
                });
            G_th.IsBackground = true;
            G_th.Start();

            Random G_random = new Random();//建立一个随机数函数
            G_int_num = G_random.Next(1, 100);//产生一个随机数,在1~100之间
            button1.Enabled = false;//按钮失效
        }

        private void bt_Click(object sender, EventArgs e)
        {
            Control P_control = sender as Control;

            if (int.Parse(P_control.Name) == G_int_num)
            {
                P_control.BackColor = Color.Gold;
                P_control.Text = "命中";
                MessageBox.Show("恭喜您!!猜中了!\n"+
                    string.Format("用了{0}秒钟,按{1}次", G_time_num, GetCount()));
                G_th.Abort();  // 线程终止
                RemoveControl();//清除所有按键
                //goto ;
                //Environment.Exit(0);    //强行关闭窗体
            }
            else
            {
                if (int.Parse(P_control.Name) < G_int_num)
                {
                    P_control.BackColor = Color.Green;    //背景 设置 绿色
                    P_control.Enabled = false;          //按钮停用
                    P_control.Text = "小";
                    MessageBox.Show("小于随机数");

                }
                else
                {
                    P_control.BackColor = Color.Red;    //背景 设置 红色
                    P_control.Enabled = false;          //按钮停用
                    P_control.Text = "大";
                    MessageBox.Show("大于随机数");
                }
                // }
            }
        }
        string GetCount()

        {

            int P_int_temp = 0; //初始化计数器

            foreach (Control c in Controls)//遍历控件在controls中
            {
                if (!c.Enabled) P_int_temp++; // 计数器累加
            }
            return P_int_temp.ToString();// 把整数变成字符串返回

        }
        void RemoveControl()//删除控件方法
        {
            for (int i = 0; i < 100; i++)  //遍历 100 个按钮
            {
                if (Controls.ContainsKey((i + 1).ToString())) //判断中 是否 有此按钮
                {
                    for (int j = 0; j < Controls.Count; j++)
                    {
                        if (Controls[j].Name == (i + 1).ToString())
                        {
                            Controls.RemoveAt(j);//从指定索引位置的控价集合中删除控件
                            break;
                        }
                    }
                }
            }
        }
    }
}

  

原文地址:https://www.cnblogs.com/yuanshou/p/10263494.html

时间: 2024-10-04 18:09:14

猜字游戏源码的相关文章

一款很不错的猜牌游戏源码完整版

该源码实现了一款很不错的猜牌游戏源码完整版,喜欢的朋友可以下载学习看看. 项目游戏源码下载:http://code.662p.com/view/1463.html<ignore_js_op><ignore_js_op>  <ignore_js_op> 详细说明:http://android.662p.com/thread-60-1-1.html

C++编写的一个简单的猜数字游戏源码

将开发过程比较重要的一些内容段做个记录,下面内容段是关于C++编写的一个简单的猜数字游戏的内容. #include <iostream> #include <string> #include <cstdlib> #include <cctype> #include <ctime> #include <conio.h> using namespace std; int main () { int wins = 0; int losses

21款网页版html5小游戏源码

html5魅族创意的贪食蛇游戏源码下载 html5网页版打砖块小游戏源码下载 html5 3D立体魔方小游戏源码下载 html5网页版飞机躲避游戏源码下载 html5三国人物连连看游戏源码下载 js html5 2048数字游戏源码_2048网页版源码下载 html5盲打高手打飞字游戏下载_网页版英文打飞字游戏源码下载 jQuery flappy bird电脑版小游戏源码下载 网页版html5 3d俄罗斯方块游戏源码下载 jQuery html5迷宫游戏源码下载 html5网页游戏仿flappy

HTML5小游戏源码收藏

html5魅族创意的贪食蛇游戏源码下载 html5网页版打砖块小游戏源码下载 html5 3D立体魔方小游戏源码下载 html5网页版飞机躲避游戏源码下载 html5三国人物连连看游戏源码下载 js html5 2048数字游戏源码_2048网页版源码下载 html5盲打高手打飞字游戏下载_网页版英文打飞字游戏源码下载 jQuery flappy bird电脑版小游戏源码下载 网页版html5 3d俄罗斯方块游戏源码下载 jQuery html5迷宫游戏源码下载 html5网页游戏仿flappy

猜字游戏---批处理

最近学习批处理,看到一个大神写得猜字游戏,看懂了之后也仿了一个一模一样的,今天就来说道说道.先看下源码和效果图. @echo off color 0f mode con:cols=55 lines=30 title 猜数字游戏 By leo echo.&echo. echo.&echo ***** 游戏规则 ***** echo.&echo 程序会自动生成一组四个互不相同的0-9内的整数, echo.&echo 请你根据猜测和判断,每次输入一组四个互不相同 echo.&am

android猜猜红桃A游戏源码

一个简单的猜扑克游戏,很适合初学者,点击TextView扑克由反面变为正面,未点击的TextView有透明效果,点击再玩一次按钮,运行洗牌程序undefined <ignore_js_op><ignore_js_op> 详细说明:http://android.662p.com/thread-876-1-1.html android猜猜红桃A游戏源码,布布扣,bubuko.com

【141030】VC++贪吃蛇游戏源码(Win32+API)

不错的贪吃蛇游戏,运用了Win32的API.完整源代码,在VS2005下编译通过.内附有编程要点,很好的学习范例. 游戏源码下载地址:点击下载

11款手机微信小游戏源码特效

html5微信吃苹果游戏源码下载 html5手机淘宝万能时装屋小游戏源码下载 html5 3d拳王游戏制作3D拳击游戏源码下载 html5 3d拼图游戏制作3D魔方游戏源码下载 htm5 3d游戏制作3D熊出没游戏源码下载 html5微信小游戏超级染色游戏源码下载 html5读心术小游戏源码下载_读心术微信小游戏源码下载 找你歌微信html5游戏源码下载_找你歌微信游戏源码下载 方言等级考试游戏源码下载_方言等级测试微信游戏源码下载 中秋节吃月饼游戏html5微信游戏源码下载 9款html5微信

【史上最全】微信朋友圈游戏源码下载

源码介绍:  所有源码都是html5开发,可以跨平台,无论谷歌安卓还是苹果ios都可以流畅运行,游戏可以根据自己的情况添加链接,可以分享到微信圈后跳转的你的游戏平台页.个别游戏可以设置指定次数提示添加微信账号回复指定内容获得答案.保证游戏可运行性,不像某些不良卖家价格很高买来的根本没几个能用或者很多凑数游戏. 一个简单的营利模式: 通过手机作为入口,分享某某游戏的得分到朋友圈,朋友圈内的病毒式传播速度超过你想象.然后你可以自己加入关注微信代码.百度移动广告代码.淘客代码.等等吧,可以发挥的空间非