資源簡介
游戲規則
游戲的目的是猜中計算機隨機生成的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個文件信息
- 上一篇:分享一個asp.net醫院管理系統畢業課程設計
- 下一篇:TCP/IP通信c#例程
評論
共有 條評論