小編這次要給大家分享的是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/bash clear echo echo "###################################################################" 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 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 #輸出標準值,測試需要,開發完成注釋掉 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} 進制轉換 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
看完這篇關于linux如何實現猜數字小游戲的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
當前文章:linux如何實現猜數字小游戲
地址分享:http://vcdvsql.cn/article8/phocop.html
成都網站建設公司_創新互聯,為您提供網站設計、微信公眾號、網站設計公司、網頁設計公司、自適應網站、Google
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯