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/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
以上就是本文的全部內容,希望對大家的學習有所幫助
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2689752/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 猜數字小遊戲遊戲
- 【Java基礎教程】用Java實現猜數字小遊戲Java遊戲
- LeetCode 299 猜數字遊戲 Java實現LeetCode遊戲Java
- 猜數字遊戲遊戲
- Shell猜數字遊戲遊戲
- 【Java】——猜數字遊戲Java遊戲
- 【python小練習】簡單的猜數字遊戲Python遊戲
- 使用者猜數字遊戲遊戲
- C語言實現的一個簡單的猜數小遊戲C語言遊戲
- C#之簡易猜數字遊戲C#遊戲
- 7-24 猜數字遊戲 (15分)遊戲
- pyqt5例項——pycharm實現猜數遊戲QTPyCharm遊戲
- wordle game 猜字遊戲GAM遊戲
- IOS技術分享| 你畫我猜小遊戲快速實現iOS遊戲
- [數字華容道] Html+css+js 實現小遊戲HTMLCSSJS遊戲
- 回憶小時的快樂,利用python做一款數字猜謎小遊戲Python遊戲
- Rust學習之旅1——寫個猜數字遊戲Rust遊戲
- C語言初學者(自學)做的一個猜數字小遊戲C語言遊戲
- python實現簡單猜單詞遊戲Python遊戲
- 透過編寫“猜數字”遊戲來學習 Awk遊戲
- 猜數字
- 猜數字11.9
- 以猜數字遊戲引出的分治演算法的理解與思考遊戲演算法
- MATLAB 簡易版 你畫我猜小遊戲Matlab遊戲
- Java學習筆記(一) 猜數遊戲Java筆記遊戲
- 數字遊戲遊戲
- leedcode-猜數字大小
- 演算法 猜數字演算法
- [TJOI2009] 猜數字
- 猜數字的介面版
- javascript實現前端小遊戲2048JavaScript前端遊戲
- Shell指令碼——Linux系統中的時間猜數字指令碼Linux
- iOS 小遊戲專案——數字速算升級版iOS遊戲
- Android實現買賣商品小遊戲Android遊戲
- Python程式碼實現“FlappyBird”小遊戲PythonAPP遊戲
- LeetCode-374-猜數字大小LeetCode
- Rust——猜謎遊戲【二】Rust遊戲
- 雜湊競猜遊戲遊戲