• 大小: 180KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-18
  • 语言: C#
  • 标签: 猜数字  小游戏  C#  

资源简介

游戏规则 游戏的目的是猜中计算机随机生成的4位数,猜数字的规则如下: 1. 每次玩家可以输入4个不同的数字进行猜测; 2. 计算机返回猜测结果,包括以下三种情况: 情况1:数字正常,位置也正确,则为A类,如 情况2:数字正确,但是位置不正确,则为B类 情况3:数字和位置都不对,则没猜中。 举例:假设4位数字为3259,以下输入分别为: 3580 -> 1A1B,因为3属于情况1,5属于情况2,所以A和B均为1; 1346 -> 0A1B,因为只有3属于情况2; 0184 -> 0A0B, 情况3. 当返回为4A0B时,表示全部猜中,游戏结束。

资源截图

代码片段和文件信息

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

namespace GuessUI
{
    public partial class MainForm : Form
    {
        static Random rnd = new Random();
        static string number = “1234“;
        /// 
        /// 初始化数据
        /// 

        private string GenerateString()
        {
            string str = ““;
            List list = new List();
            for (int i = 0; i < 10; i++)
            {
                list.Add(i);
            }

            for (int i = 0; i < 4; i++)
            {
                int t = rnd.Next(list.Count);
                str += list[t];
                list.RemoveAt(t);
            }

            return str;
        }

        //S1是源字符串,S2是输出字符串。
        private string CompareString(string s1 string s2)
        {
            // s1: “5629“  s2: “1234“; 
            //s1[0];

            int a = 0 b = 0;

            for (int i = 0; i < 4; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    if (s1[j] == s2[i])
                    {
                        b++;
                        break;
                    }
                }
            }

            for (int i = 0; i < 4; i++)
            {
                if (s1[i] == s2[i])
                    a++;
            }

            b -= a;

            return string.Format(“{0}A{1}B“ a b);
        }


        void Test()
        {

        } 

        public MainForm()
        {
            InitializeComponent();

            for (int i = 0; i < 10; i++)
            {
                string s = GenerateString();
                Console.WriteLine(s + “ “ + CompareString(s “1234“));
            }

        }

        private void button1_Click(object sender EventArgs e)
        {
            if (txtInput.Text.Length < 4)
            {
                MessageBox.Show(“输入位数长度不够,请输入4位数字。“);
                txtInput.Focus();
                return;
            }

            try
            {
                int p = int.Parse(txtInput.Text);
            }
            catch
            {
                MessageBox.Show(“数字格式不正确,请重新输入。“);
                txtInput.Focus();
                return;
            }
          
            string s = CompareString(number txtInput.Text);
            lbHistory.Items.Add((lbHistory.Items.Count + 1) + “: “ + txtInput.Text + “ “ + s); 
            txtInput.Clear();
            txtInput.Select();

            if (s.StartsWith(“4A“))
            {
                MessageBox.Show(“恭喜猜中,一共猜了“ + lbHistory.Items.Count + “次。“ “游戏结束“ MessageBoxButtons.OK MessageBoxIcon.Information);
            }
            Console.WriteLine(s);
        }

        private void Form1_Load(object sender EventArgs e)
        {
  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     33792  2019-05-26 22:26  GuessUI\.vs\GuessUI\v15\.suo

     文件      12288  2019-05-26 22:25  GuessUI\GuessUI\bin\Debug\GuessUI.exe

     文件      24064  2019-05-26 22:25  GuessUI\GuessUI\bin\Debug\GuessUI.pdb

     文件       5632  2012-01-18 13:37  GuessUI\GuessUI\bin\Debug\GuessUI.vshost.exe

     文件       3504  2019-05-26 22:13  GuessUI\GuessUI\GuessUI.csproj

     文件       4677  2019-05-26 22:25  GuessUI\GuessUI\MainForm.cs

     文件       6572  2019-05-26 22:22  GuessUI\GuessUI\MainForm.Designer.cs

     文件       5814  2019-05-26 22:22  GuessUI\GuessUI\MainForm.resx

     文件       1209  2019-05-26 22:10  GuessUI\GuessUI\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       6064  2019-05-26 22:12  GuessUI\GuessUI\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件         42  2019-05-26 22:12  GuessUI\GuessUI\obj\Debug\GuessUI.csproj.CoreCompileInputs.cache

     文件        643  2019-05-26 22:14  GuessUI\GuessUI\obj\Debug\GuessUI.csproj.FileListAbsolute.txt

     文件        908  2019-05-26 22:22  GuessUI\GuessUI\obj\Debug\GuessUI.csproj.GenerateResource.cache

     文件       6849  2019-05-26 21:46  GuessUI\GuessUI\obj\Debug\GuessUI.csprojAssemblyReference.cache

     文件      12288  2019-05-26 22:25  GuessUI\GuessUI\obj\Debug\GuessUI.exe

     文件        180  2019-05-26 22:22  GuessUI\GuessUI\obj\Debug\GuessUI.MainForm.resources

     文件      24064  2019-05-26 22:25  GuessUI\GuessUI\obj\Debug\GuessUI.pdb

     文件        180  2019-05-26 22:14  GuessUI\GuessUI\obj\Debug\GuessUI.Properties.Resources.resources

     文件       3584  2019-05-26 22:10  GuessUI\GuessUI\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll

     文件        268  2010-03-09 10:23  GuessUI\GuessUI\obj\GuessUI.csproj.FileList.txt

     文件        469  2019-05-26 22:12  GuessUI\GuessUI\Program.cs

     文件       1170  2010-03-09 09:44  GuessUI\GuessUI\Properties\AssemblyInfo.cs

     文件       2849  2019-05-26 21:46  GuessUI\GuessUI\Properties\Resources.Designer.cs

     文件       5612  2010-03-09 09:44  GuessUI\GuessUI\Properties\Resources.resx

     文件       1107  2019-05-26 21:46  GuessUI\GuessUI\Properties\Settings.Designer.cs

     文件        249  2010-03-09 09:44  GuessUI\GuessUI\Properties\Settings.settings

     文件       1120  2019-05-26 21:46  GuessUI\GuessUI.sln

    ..A..H.     13824  2010-03-09 10:28  GuessUI\GuessUI.suo

     目录          0  2019-05-26 21:46  GuessUI\.vs\GuessUI\v15\Server\sqlite3

     目录          0  2019-05-26 21:46  GuessUI\.vs\GuessUI\v15\Server

............此处省略20个文件信息

评论

共有 条评论