iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 21
0
Software Development

後端基礎PHP+Mysql & Laravel 30日養成計畫系列 第 21

Day 21 實做猜數字遊戲(一):遊戲介紹

  • 分享至 

  • xImage
  •  

完成留言板後,要來挑戰個稍微進階一點點的遊戲實做。
這是個用PHP和MySQL所實做出的1A1B猜數字遊戲,規則大概是這樣:
正確答案會是一組四位數字,範圍介於0~9,數字有可能重複出現,例如:1122。
玩家要透過回傳的線索來判斷出正確答案,而線索會以xAxB的形式回傳:
數字與位置正確為A,數字正確但位置不正確則為B。例如:正解為1341,猜1354則會得到線索2A1B。
遊戲的主畫面會長這樣:
https://ithelp.ithome.com.tw/upload/images/20191006/201200244YVYUMBb2P.png
當玩家輸入名稱後就會進入main.php,顯示上面的遊戲主畫面。當他第一次輸入猜的數字後,會先擷取一次當下的時間,然後會先進到judge.php中,先產生出一組正確答案(只有第一次猜的時候才會做這個動作),比對正解和這組數字並產生線索,接著把線索回傳到guess.php這邊將他所猜的數字和回傳的線索存進guess這個table,並且判斷是否已猜到正確答案:若還沒猜中則再回到main.php繼續猜,畫面會顯示出他所有猜過得數字及得到的線索:
https://ithelp.ithome.com.tw/upload/images/20191006/20120024L0JQt1ugu5.png
若猜到正解則再擷取一次當下時間,扣掉遊戲開始的時間,計算出他猜出答案所花費的時間,並將花費時間和猜的總次數存到rank這個table中,然後會顯示恭喜猜中的畫面,最後出現像這樣的排行榜。
https://ithelp.ithome.com.tw/upload/images/20191006/20120024pIbnFiTofx.png
程式的運作流程大概是這樣:
https://ithelp.ithome.com.tw/upload/images/20191006/20120024hgyOoaGmjR.jpg
(打紅色叉那邊就當作沒看到)


上一篇
Day 20 Authentication基礎概念介紹:session、cookie and token
下一篇
Day 22 實做猜數字遊戲(二):遊戲主畫面
系列文
後端基礎PHP+Mysql & Laravel 30日養成計畫36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言