千家信息网

linux如何实现猜数字小游戏

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,小编这次要给大家分享的是linux如何实现猜数字小游戏,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。游戏规则:猜数字游戏通常由两个人玩,一方出数字,一方猜。出数
千家信息网最后更新 2026年11月04日linux如何实现猜数字小游戏

小编这次要给大家分享的是linux如何实现猜数字小游戏,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

游戏规则:

猜数字游戏通常由两个人玩,一方出数字,一方猜。出数字的人要想好一个没有重复数字的 4 个数,不能让猜的人知道。猜的人就可以开始猜。每猜一个数字,出数者就要根据这个数字给出几 A 几 B,其中 A 前面的数字表示位置正确的数的个数,而 B 前的数字表示数字正确而位置不对的数的个数。如正确答案为 5234,而猜的人猜 5346,则是 1A2B,其中有一个 5 的位置对了,记为 1A,而 3 和 4 这两个数字对了,而位置没对,因此记为 2B,合起来就是 1A2B。接着猜的人再根据出题者的几 A 几 B 继续猜,直到猜中(即 4A0B)为止。

猜的人有 8 次机会。

例如:

乙出一个数字,甲猜。
甲 乙
1234 1A0B
5678 2A1B
5674 1A1B
5638 1A1B
2678 2A2B
6278 4A0B(猜中)

源码:

#!/bin/bashclearechoecho "###################################################################"echo "# this is a bash-shell game write by lee       #"echo "# this game is infinite frequency 猜数字       #"echo "#    version 2.1.1.20200421        #"echo "###################################################################"echo -e "\n\n"declare INPUTdeclare PASSWORDdeclare LEN_PWDdeclare Adeclare Bdeclare LOOP#this function is create random numberrandom_number(){ PASSWORD=$RANDOM LEN_PWD=`echo $PASSWORD | wc -L` if [[ $LEN_PWD -ne 4 ]] then random_number else #输出标准值,测试需要,开发完成注释掉 echo $PASSWORD input fi}#this function is accept the input from user's keyboardinput(){ read -n4 -p "please input a number between 0000-9999:" input# 10#${input} 进制转换 if [[ 10#${input} -eq 10#${PASSWORD} ]] then echo -e "\n" echo "#############################################" echo "#congratulations!You have tried $LOOP times!#" echo "# The password is $PASSWORD !   #" echo "#############################################" exit elif [[ $LOOP -eq 6 ]] then echo -e "\n" echo "You have tried $LOOP times!Game over!" exit else A=0 B=0 count_a count_b echo -e "\n" echo "****************************"  echo "*  "$A"A"$B"B   *"  echo "****************************" echo "You have tried $LOOP times! You left `expr 6 - $LOOP` times!" LOOP=`expr $LOOP + 1` input fi}#this function is count the variable A's valuecount_a(){ for i in `seq 4` do VAR_INPUT=`expr substr $input $i 1` for j in `seq 4` do VAR_PASSWORD=`expr substr $PASSWORD $j 1` if [[ $VAR_INPUT -eq $VAR_PASSWORD ]] && [[ $i -eq $j ]] then A=`expr $A + 1` fi done done}#this function is count the variable B's valuecount_b(){ for i in `seq 4` do VAR_INPUT=`expr substr $input $i 1` for j in `seq 4` do VAR_PASSWORD=`expr substr $PASSWORD $j 1` if [[ $VAR_INPUT -eq $VAR_PASSWORD ]] && [[ $i -ne $j ]] then B=`expr $B + 1` fi done done}LOOP=1random_number

看完这篇关于linux如何实现猜数字小游戏的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。

数字 位置 个数 文章 小游戏 对了 一方 两个 内容 不对 不错 兴趣 内容丰富 出题者 小伙 小伙伴 就是 更多 机会 标准 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 有格互联网科技 互联网科技公司税收优惠 朗新科技与工业互联网 重庆互联网络科技 互联网科技集团 佰商互联网科技有限公司 深圳市运趣互联网科技有限公司 农村开互联网科技讲堂 互联网科技博主是什么意思 常德市电业局互联网科技部 河南猎农互联网科技有限公司 开一家科技互联网公司需要多少钱 卓翼科技产业互联网合作 上海创道互联网络科技有限公司 工业互联网科技成果转化 神州科技互联网有限公司 珠海东科互联网科技有限公司 西安左小互联网科技有限公司 现代互联网科技公司 前海云享互联网科技 花魁咖啡 新华互联网科技学院 国外互联网科技网站 中国的互联网科技企业的崛起 西安小鹰速贷互联网科技有限公司 济南小医互联网科技有限公司招聘 昆明中奇联合互联网科技 广州三三互联网科技有限公司 北京瑞云互联网科技有限公司 互联网 科技节活动 微视频大赛
0