標籤:突發奇想 遊戲 shell指令碼 產品
原本想寫點shell指令碼練練手,突發奇想試試做個猜數字遊戲吧.於是就有了後續的事情.最先寫了個最最原始的猜數字指令碼.無論功能還是美觀度都不盡如人意,於是一個一個版本迭代更新,後續版本每次都比前一次功能更完善.
通過這次的指令碼練習我明白一個道理,"心急吃不了熱豆腐" 亙古不變的真理啊,無論創業也好,做實事打工也罷,還的從頭一步一步做起,凡是心高氣傲一次性想做出完美產品的都不切實際.好的產品需要從使用者需求出發,精雕細琢,層層迭代,才能經受更嚴峻的考驗.
猜數字遊戲原版V1
#給定一個不可變更的兩位元,使用者輸入數字,程式提示大小,根據提示繼續輸入,直到正確輸入數字為止,遊戲結束.
#!/bin/bashnum="32"while truedoread -p "Please input a "double-digit": " inputif [ $input -gt $num ] ; then echo "Try smaller!" elif [ $input -lt $num ];then echo "Try bigger!" else echo "Good! You are right!" break;fidone
猜數字遊戲改進版V2
#!/bin/bashNUM=`echo $RANDOM$RANDOM |cut -c 2-3`while truedo read -p "Please input a "double-digit": " input case $input in [0-9][0-9] ) if [ $input -gt $NUM ] ;then echo "Try smaller!" elif [ $input -lt $NUM ];then echo "Try bigger!" else echo "Good! You are right!" break; fi ;; *) read -p "Please input a "double-digit": " input ;; esacdone
猜數字遊戲改進版V3
增加了次數統計功能.
增加曆史最好成績前十排名功能.
增加時間顯示功能.
最佳化結果顯示.
#!/bin/bashNUM=`echo $RANDOM$RANDOM |cut -c 2-3`DATE=`date +%y%m%d-%H:%M`read -p "Please input your name: " USERwhile truedo read -p "Please input a "double-digit": " inputi=$((i+1)) case $input in [0-9][0-9] ) if [ $input -gt $NUM ] ;then echo "Try smaller!" elif [ $input -lt $NUM ];then echo "Try bigger!" else echo "Good! You are right!" break; fi ;; *) read -p "Please input a "double-digit": " input ;; esacdoneprintf "%-12s %s\n" "<$USER>" "your record is $i! Try better next time! $DATE" |tee -a ./record.recordprintf "\n\n"printf "%15s %6s %-8s\n" "-----" "HISTORY RECORD" "-----"cat ./record.record |sort -k5 -g|awk -F! ‘{print $1,"!",$3}‘|head -10printf "%15s %6s %-8s\n" "-----" "HISTORY RECORD" "-----"
本文出自 “statby的部落格” 部落格,請務必保留此出處http://statby.blog.51cto.com/7588140/1554538
遊戲發展史(Shell數字遊戲)