运用记事本编写小游戏(bat)(2)

这是第二篇,今天我要教大家猜数字

代码是:

@echo off&title 猜数字游戏 QQ:137563876

mode con: cols=55 lines=40

for %%i in (n m r a0 a1 a2 a3 a4 a5 a6 a7 a8 a9) do (set %%i=0)

setlocal enabledelayedexpansion

echo ┌─────────────────────┐

echo │              规则说明                  │

echo └─────────────────────┘

echo │首先,本程序在打开时会自动使用0~9这10个数 │

echo  ──────────────────────

echo │生成一个随机的4位数,且每个数字只使用 1 次│

echo  ──────────────────────

echo │,这个数是不会显示出来的。在你输入一个4 位│

echo  ──────────────────────

echo │数之后,系统会自动将它与系统初始生成的随机│

echo  ──────────────────────

echo │4 位数相比较。在个、十、百、千位上,每猜中│

echo  ──────────────────────

echo │一位,正确数加1;若猜中数字,但数字所在位 │

echo  ──────────────────────

echo │不对(即数字顺序不对),则位置错误数加1。 │

echo  ──────────────────────

echo │你猜测的历史记录将会显示在列表中 ,你可以 │

echo  ──────────────────────

echo │根据你的猜测记录来推测正确的数字。        │

echo  ──────────────────────

echo │注意:你不能输入含重复数字的4位数。      │

echo  ──────────────────────

echo │    准备好了吗?按任意键开始游戏!!    │

echo └─────────────────────┘

pause>nul

cls

set "f=┌───────────────────────┐"

set "h=│猜测记录│    数字    │  正确  │ 顺序错误 │"

set "i= ────────────────────────"

echo %f%&echo %h%&echo %i%

::随机生成数字不重复的4位数

set u=1

set num0=10

:again

set /a num%u%=%random%%%10

set /a v=u-1

for /l %%i in (1 1 %v%) do (if !num%%i!==!num%u%! goto :again)

if %u% lss 4 set /a u+=1&goto :again

set ans=%num1%%num2%%num3%%num4%

::计算随机数字中0~9每个数字的个数

for /l %%i in (0 1 9) do (

for %%j in (%num1% %num2% %num3% %num4%) do (

if %%j==%%i set /a a%%i=a%%i+1

)

)

::输入猜测数并获取每个位上的数

:input

set t=1

set ent=

set /p "ent=│输入你猜测的有效4位数(超过则截取前4位):"

set "t4=%ent:~3,1%"

if not defined t4 goto :input

set "t1=%ent:~0,1%"

set "t2=%ent:~1,1%"

set "t3=%ent:~2,1%"

::检测输入是否正确(是否有重复数字、输入的是否全是数字)

for /l %%i in (1 1 3) do (

set /a ii=%%i+1

  for /l %%j in (!ii! 1 4) do (

    if "!t%%i!"=="!t%%j!" goto :input

)

)

:te

set "t0=!t%t%!"

for /l %%i in (0 1 9) do (if "%t0%"=="%%i" set wr=true)

if defined wr (set /a t+=1) else (goto :input)

set wr=

if %t% lss 5 goto :te

set /a num0-=1

::计算猜对个数

cls

for /l %%i in (1 1 4) do (

  for /l %%j in (%%i 1 %%i) do (

    if "!t%%i!"=="!num%%j!" set /a n+=1

)

)

::计算输入数字中0~9每个数字的个数

for /l %%i in (0 1 9) do (

for %%j in (%t1% %t2% %t3% %t4%) do (

if %%j==%%i (set /a b%%i=b%%i+1)

)

)

::计算位置错误个数

for /l %%i in (0 1 9) do (

if !a%%i! gtr 0 (if !b%%i! gtr 0 (set /a m=m+!a%%i!))

)

set /a g=%m%-%n%

::输出猜测记录

set /a r+=1

set /a s=r

if %r% lss 10 set "s=0%r%"

set r%r%=│ 第%s%组 │    %t1% %t2% %t3% %t4%  │  %n%    │    %g%    │

echo %f%

echo %h%

echo %i%

for /l %%i in (1 1 %r%) do (echo !r%%i!&echo %i%)

for %%i in (m n g b0 b1 b2 b3 b4 b5 b6 b7 b8 b9) do (set %%i=0)

if "%ans%"=="%ent%" set zz=      猜对啦,你好厉害哦!!!!  &goto :right

if "%num0%"=="0" set zz=还猜不对啊?笨哪!正确答案是:%ans% &goto :right

goto :input

:right

echo ┌───────────────────────┐

echo │    %zz%      │

echo └───────────────────────┘

pause>nul

赶快去试一下,怎么样你猜对了吗?

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,679评论 0 11
  • 今天教大家怎样编写五子棋 代码是: @echo off&setlocal enabledelayedexpansi...
    六代火影阅读 25,193评论 0 2
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,443评论 0 13
  • 2018年07月09日刘博林日精进打卡 姓名:刘博林 公司:扬州市方圆建筑工程有限公司 349期(南京)《六项精进...
    Polin1990阅读 96评论 0 0
  • 今天下去去接宝放学的时候,看到我的第一句话是今天是我的倒霉日,我问怎么了,宝说有两件事,第一,今天又比赛了,输了...
    商望芳阅读 274评论 0 1