iT邦幫忙

2021 iThome 鐵人賽

0
自我挑戰組

Scratch 3 從入門到精通系列 第 35

Day35 ( 遊戲設計 ) 猜數字 ( 幾 A 幾 B )

猜數字 ( 幾 A 幾 B )

教學原文參考:猜數字 ( 幾 A 幾 B )

這篇文章會介紹,如何在 Scratch 3 裡使用詢問、清單、說話、變數、邏輯判斷、重複...等積木,實作用幾 A 幾 B 猜中四個數字的數字遊戲。

相關文章參考:詢問清單說話變數邏輯判斷

積木程式原理

這個遊戲會隨機產生四個 1~9 不重複的數字讓使用者猜,因為四個數字要分別和使用者的答案比對,所以會透過「清單」的方式來實作 ( 可以參考:清單教學 )。

  • 建立一個名為「答案」的清單。
  • 放入「刪除答案所有項目」,讓清單的內容是空的。
  • 使用「重複...直到」積木,直到「清單答案的長度」等於 4,如此就能只產生 4 個數字。
  • 在每次重複的時候,從 1~9 中隨機取出一個數字,並將這個數字「添加到答案清單」裡

Scratch 3 教學 - 猜數字 ( 幾 A 幾 B  )

執行後,會發現四個數字可能有些會重複,所以要加入一個邏輯判斷,判斷如果「清單答案包含數字不成立」( 清單裡面沒有這個數字 ) 的時候,才將這個數字加入清單裡,完成後,點擊綠旗,就會產生四個不重複數字的答案。

Scratch 3 教學 - 猜數字 ( 幾 A 幾 B  )

  • 再建立一個名為「回答」的清單,將「刪除回答所有項目」放到剛剛的積木下方。
  • 分別建立 a 和 b 兩個變數 ( 因為要判斷幾 A 幾 B ),將 a 和 b 都設為 0。
  • 放入「重複...直到」積木,直到「a 等於 4」的時候停止重複 ( 表示答對了 )。

Scratch 3 教學 - 猜數字 ( 幾 A 幾 B  )

撰寫邏輯之前,先看一下判斷的原理,當使用者輸入四個數字後,讓四個數字分別和答案比對,首先判斷「有沒有包含」,如果「有包含」,再接著判斷「位置有沒有相同」,如果位置相同,就讓 a 增加 1,如果位置不相同,就讓 b 增加 1。

Scratch 3 教學 - 猜數字 ( 幾 A 幾 B  )

根據判斷原理,放入對應的積木。

  • 新增一個名為 n 的變數,在每次重複時設定為 1,後續會使用到。
  • 每次重複時,將 a 和 b 設為 0。
  • 放入「詢問」積木,請使用者輸入數字。
  • 放入「重複直到 n > 4」的重複積木,在每次重複時讓 n 增加 1,就能將數字一個個進行判斷。
  • 使用「如果...那麼」判斷答案清單裡是否包含答案的第 n 個字 ( 此時如果 n 是 1 就會判斷第一個數字 )。
  • 再度使用「如果...那麼」,判斷已經包含數字的答案,如果位置相同,就讓 a 增加 1,如果位置不同,就讓 b 增加 1

Scratch 3 教學 - 猜數字 ( 幾 A 幾 B  )

使用「字串組合」積木,將答案和結果,記錄到回答的清單裡,方便根據記錄,繼續遊戲。

Scratch 3 教學 - 猜數字 ( 幾 A 幾 B  )

接著在使用者回答正確之後,出現「答對了!正確答案是...」的文字。

guess-number-ab-07-s.jpg

最後,在一開始放入「隱藏答案」和「顯示回答」的積木,就可以開始進行遊戲了。

guess-number-ab-07-s.jpg

完成效果

點擊綠旗,就可以輸入四個數字,開始進行遊戲。

guess-number-ab-07-s.jpg

範例解答

範例解答:猜數字 ( 幾 A 幾 B )

延伸練習

如果已經熟悉了猜數字 ( 幾 A 幾 B ) 的原理,還可以嘗試更多好玩的作法:

  • 增加時間機制,看看花了多少時間解答。( 解答 )
  • 增加兩個按鈕,一個可以偷看答案,一個可以重新玩一次。( 解答 )

關於我

大家好,我是 OXXO,是個即將邁入中年的斜槓青年,如果對我有點興趣(笑,可以與我聯繫,一起來做點有玩又有創意的東西吧!


上一篇
Day34 ( 遊戲設計 ) 射擊外星人
下一篇
Day36 ( 遊戲設計 ) 釣魚遊戲
系列文
Scratch 3 從入門到精通46
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言