日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Linux中通過(guò)shell腳本實(shí)現(xiàn)猜數(shù)字小游戲

本篇文章重點(diǎn)為大家講解一下Linux中通過(guò)shell腳本實(shí)現(xiàn)猜數(shù)字小游戲的功能,有需要的小伙伴可以參考一下。

成都創(chuàng)新互聯(lián)長(zhǎng)期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為西豐企業(yè)提供專業(yè)的網(wǎng)站制作、成都做網(wǎng)站,西豐網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

一個(gè)簡(jiǎn)單的linux猜數(shù)字小游戲源碼

游戲規(guī)則:

猜數(shù)字游戲通常由兩個(gè)人玩,一方出數(shù)字,一方猜。出數(shù)字的人要想好一個(gè)沒(méi)有重復(fù)數(shù)字的 4 個(gè)數(shù),不能讓猜的人知道。猜的人就可以開(kāi)始猜。每猜一個(gè)數(shù)字,出數(shù)者就要根據(jù)這個(gè)數(shù)字給出幾 A 幾 B,其中 A 前面的數(shù)字表示位置正確的數(shù)的個(gè)數(shù),而 B 前的數(shù)字表示數(shù)字正確而位置不對(duì)的數(shù)的個(gè)數(shù)。如正確答案為 5234,而猜的人猜 5346,則是 1A2B,其中有一個(gè) 5 的位置對(duì)了,記為 1A,而 3 和 4 這兩個(gè)數(shù)字對(duì)了,而位置沒(méi)對(duì),因此記為 2B,合起來(lái)就是 1A2B。接著猜的人再根據(jù)出題者的幾 A 幾 B 繼續(xù)猜,直到猜中(即 4A0B)為止。 猜的人有 8 次機(jī)會(huì)。

例如:

乙出一個(gè)數(shù)字,甲猜。 甲 乙 1234 1A0B 5678 2A1B 5674 1A1B 5638 1A1B 2678 2A2B 6278 4A0B(猜中)

源碼:
#!/bin/bash
clear
echo
echo "###################################################################"
echo "# this is a bash-shell game write by lee       #"
echo "# this game is infinite frequency 猜數(shù)字       #"
echo "#    version 2.1.1.20200421        #"
echo "###################################################################"
echo -e "\n\n"
declare INPUT
declare PASSWORD
declare LEN_PWD
declare A
declare B
declare LOOP

#this function is create random number
random_number()
{
PASSWORD=$RANDOM
LEN_PWD=`echo $PASSWORD | wc -L`
if [[ $LEN_PWD -ne 4 ]]
then
random_number
else
#輸出標(biāo)準(zhǔn)值,測(cè)試需要,開(kāi)發(fā)完成注釋掉
echo $PASSWORD
input
fi
}

#this function is accept the input from user's keyboard
input()
{
read -n4 -p "please input a number between 0000-9999:" input
# 10#${input} 進(jìn)制轉(zhuǎn)換
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 value
count_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 value
count_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=1
random_number

標(biāo)題名稱:Linux中通過(guò)shell腳本實(shí)現(xiàn)猜數(shù)字小游戲
URL網(wǎng)址:http://m.5511xx.com/article/cojjsic.html