linux如何实现猜数字小游戏
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,小编这次要给大家分享的是linux如何实现猜数字小游戏,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。游戏规则:猜数字游戏通常由两个人玩,一方出数字,一方猜。出数
千家信息网最后更新 2025年12月03日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安全错误
数据库的锁怎样保障安全
苏州工业软件开发价格表
网络技术交流大会
软件开发界面菜单布局
vs2017 本地数据库
杭州鲸喜网络技术有限公司
jsp连接数据库教程
乌海网络技术哪个好
大合网络技术公司
维护网络安全信息手抄报
数据库中的事务特性通俗易懂
网络安全隐患风险点
操作数据库会导致应用程序异常吗
广州仕索家互联网科技有限公司
华为20x热点网络安全密钥
展厅软件开发与制作
touch炫舞服务器怎么找
fm2020数据库更新方法
魔兽从服务器断开连接
杭州赋能猫网络技术有限公司工作岗位
镇江橙子科技互联网有限公司
完美软件开发
为什么地下城需要服务器
淮北证券软件开发
国家网络安全自主创新
一元夺宝 数据库设计
系统软件开发经销商
直播软件开发系统怎么解决
华为官方网络安全认证初级
宝塔数据库文件提权
嘉定区企业软件开发供应商