仓酷云

标题: 来一发shell小游戏 猜数字 [打印本页]

作者: 飘飘悠悠    时间: 2015-1-14 20:14
标题: 来一发shell小游戏 猜数字
欢迎大家来到仓酷云论坛!天生的暗码和用户输出能够承受反复数字
以是绝对一样平常划定规矩的猜数字大概难度要年夜很多
本版本划定规矩:
A--数字对,地位也对
B--扫除A的了局后,数字对,但地位不合错误
入手下手后,体系化初始化一个4位可反复数字,如“1223”。假定用户第一次输出“1234”,那末体系将提醒“2A1B”,前两位数字“12”不异而且地位也不异,为“2A”。后两位数字中,用户输出的“3”与密文中“3”不异,但二者地位分歧,则为“1B”,终极了局为“2A1B”。
再假定用户此时输出“1232”,那末了局则为“2A2B”,盘算***与上次一样。

代码以下
  1. #!/bin/bashclearechoecho"###################################################################"echo"#thisisabash-shellgamewritebyEmail:breeze7086@gmail.com#"echo"#thegamecalled*digits*,andthisversionhaverepeatednumbers#"echo"#version1.0#"echo"###################################################################"echo-e"
  2. "declareINPUTdeclarePASSWORDdeclareAdeclareBdeclareXdeclareYdeclareLOOP#ThisfuntioninitthevariablePASSWORDthatuserneedtoguessinit_password(){PASSWORD=`echo$(($RANDOM%10000))`echo$PASSWORD|grep^[0-9]{4}$>/dev/null2>&1if[$?!=0]theninit_passwordelseinputfi}#Thisfuntionaccepttheinputfromuserskeyboardinput(){echo-n"pleaseinputanumberbetween0000-9999:"readINPUTecho$INPUT|grep^[0-9]{4}$>/dev/null2>&1if[$?!=0]thenecho"retryanumberbetween0000-9999anddonotinputachar"inputelsejudgefi}#Thisfuntionisthemainfuntionjudge(){X=$INPUTY=$PASSWORDwhile[$INPUT!=$PASSWORD]doA=0B=0judge_ajudge_bLOOP=`expr$LOOP+1`echo"****************************"echo"*"$A"A"$B"B*"echo"****************************"inputdone}#ThisfuntioncountthevariableAsvaluejudge_a(){foriin`seq4`doVAR_INPUT=`exprsubstr"$X"$i1`forjin`seq4`doVAR_PASSWORD=`exprsubstr"$Y"$j1`if[[$VAR_INPUT=$VAR_PASSWORD&&$VAR_INPUT!=""&&$VAR_PASSWORD!=""&&$i=$j]]thenA=`expr$A+1`X=`exprsubstr$X1"$[$i-1]"``exprsubstr$X"$[$i+1]"4`Y=`exprsubstr$Y1"$[$i-1]"``exprsubstr$Y"$[$i+1]"4`judge_afidonedone}#ThisfuntioncountthevariableBsvaluejudge_b(){foriin`seq4`doVAR_INPUT=`exprsubstr"$X"$i1`forjin`seq4`doVAR_PASSWORD=`exprsubstr"$Y"$j1`if[[$VAR_INPUT=$VAR_PASSWORD&&$VAR_INPUT!=""&&$VAR_PASSWORD!=""]]thenB=`expr$B+1`X=`exprsubstr"$X"1"$[$i-1]"``exprsubstr"$X""$[$i+1]"4`Y=`exprsubstr"$Y"1"$[$j-1]"``exprsubstr"$Y""$[$j+1]"4`judge_bfidonedone}#ThisisthebeginofscriptLOOP=1init_passwordecho"#############################################"echo"#congratulations!Youhavetried$LOOPtimes!#"echo"#Thepasswordis$PASSWORD!#"echo"#############################################"
复制代码

如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
作者: 海妖    时间: 2015-1-15 08:20
标题: 来一发shell小游戏 猜数字
利用工具方信息不对称,很多国外地摊货到zg都变成了奢侈品,那zg有啥垃圾牌子在国外冒充高档货?
作者: 简单生活    时间: 2015-1-21 20:50
在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。
作者: 冷月葬花魂    时间: 2015-1-30 22:39
虽然大家都比较喜欢漂亮的mm,但是在学 linux 的过程中,还是要多和“男人”接触一下:P 遇到问题的时候,出来看说和上网查之外,就是要多用 linux 下的 man 命令找找帮助。
作者: 若天明    时间: 2015-2-17 17:48
熟读Linux系统有关知识,如系统目录树,有关内容可购书阅读或搜索论坛。
作者: 蒙在股里    时间: 2015-3-5 22:49
Linux简单,占内存少,特别是对于程序开发人员来说很方便,如果说windows的成功在于其方便用户的窗口管理界面。
作者: 再见西城    时间: 2015-3-12 16:43
一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。
作者: 若相依    时间: 2015-3-20 01:31
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2