搜尋

吃角子老虎機

這篇文章會介紹如何使用「函式」、「計次迴圈」、「隨機取數」、「加減乘除」、「餘數」、「點亮」等積木,實作一個小型的吃角子老虎機遊戲 ( 五顆燈從上往下重複循環移動,停止時如果五顆燈在同一直線上就獲勝 )。

相關文章參考:函式計次迴圈隨機取數加減乘除餘數點亮

遊戲方式

吃角子老虎機是一種賭博遊戲機,開始遊戲後 ( 投幣 + 拉下拉霸 ),機器螢幕上會隨機滾動出現不同圖案,當停止後如果出現指定的圖案連線,則以不同賠率勝出。

micro:bit - 吃角子老虎機

這個範例會透過 micro:bit 的 LED,模擬吃角子老虎機的遊戲程式。遊戲操作步驟如下:

  • 按下 A 按鈕,開始遊戲,燈號從上往下不斷移動。
  • 燈號會從第一排依序停止道第五排。
  • 如果五個燈號連成一直線則獲勝
  • 如果連成一直線太困難,也可繪製圖形卡,如果燈號最後的排列組合和圖形卡相同則獲勝

micro:bit - 吃角子老虎機

積木程式原理

因為吃角子老虎機要用「同樣的程式」去控制五顆燈的移動,所以可以使用「函式」將同樣的程式獨立出來,建立一個名為 slot 的函式,並加入 x 和 y 兩個數字參數

micro:bit - 吃角子老虎機

接著編輯 slot 函式內容:

micro:bit - 吃角子老虎機

將函式放入「當啟動時」積木裡,micro:bit 啟動後,會看到 LED 燈依序從第一排到第五排,從上往下移動。

micro:bit - 吃角子老虎機

不過由於迴圈的特性是「在同一組積木裡,迴圈結束後,才會進行下面的程式」,所以如果按照上面的做法,LED 無法同時一起移動,這時就必須使用「多個」「重複無限次」積木,來讓迴圈可以同時運作。

將函式分別放入五個重複無限次積木裡,micro:bit 啟動後,會看到 LED 燈第一排到第五排,同時從上往下移動。

micro:bit - 吃角子老虎機

到這個步驟,已經大致了解燈號移動的原理,接下來要修改 slot 函式,讓燈號的移動是隨機的:

micro:bit - 吃角子老虎機

接著在「當啟動時」和「當按鈕 A 被按下」的積木裡,放入 a0、a1、a2、a3、a4 五個變數,當啟動時的數值設定 -2,按下按鈕的數值設定為 -1,目的作為「遊戲開始」以及「最後是否同一直線」的判斷依據,此外再新增一個數值為 1 的 ok 變數,作為最後是否獲勝的判斷。

micro:bit - 吃角子老虎機

修改第一個燈 ( 0,y ) 的重複無限次積木,放入「邏輯判斷」積木,判斷當 a0 = -1 時就呼叫 slot 函式

slot 函式執行結束後,會返回 y 除以 5 的餘數給 a0,所以 a0 的數值會從 0 變成 y 除以 5 的餘數

micro:bit - 吃角子老虎機

第二個燈 ( 1,y)、第三個燈 ( 2,y ) 和第四個燈 ( 3,y ) 的重複無限次積木幾乎相同,分別讓 a1、a2、a3 變數等於 slot 函式執行後的結果,接著使用邏輯判斷數值是否相同,如果相同,表示在同樣的位置,如果不相同,就讓 ok 變數等於 0

micro:bit - 吃角子老虎機

最後一顆燈的重複無限次積木和前幾顆燈類似,差別在於最後判斷如果 ok 等於 1,表示獲勝,出現愛心圖示。

micro:bit - 吃角子老虎機

完成後,啟動 micro:bit,按下 A 按鈕,開始玩吃角子老虎遊戲機。

micro:bit - 吃角子老虎機

範例解答

範例解答:吃角子老虎機

實作「吃角子老虎機」的小技巧

意見回饋

如果有任何建議或問題,可傳送「意見表單」給我,謝謝~

micro:bit 教學

基本介紹

關於 micro:bit micro:bit 硬體規格 micro:bit 開發方式 使用 MakeCode 開始控制 micro:bit

程式積木

基本 輸入 輸入 ( V2 ) 輸入 ( 更多 ) 音效 音效 ( V2 ) 燈光 燈光 ( 更多 ) 廣播 廣播 ( 更多 ) 迴圈 邏輯 變數 數學

進階積木

函式 陣列 文字 圖像 遊戲 引腳 引腳 ( 更多、V2 ) 控制 序列

擴展積木

超音波 ( 偵測距離 ) 溫濕度 伺服馬達 紅外線接收 紅外線發射 MAX7219 點矩陣 LCD1602 顯示器 OLED1306 顯示器 TM1637 七段顯示器

入門範例

跳動的心 簡單煙火動畫 倒數計時放煙火 改變動畫預設時間 剪刀石頭布 ( 按鈕 ) 搖骰子 一直向下的箭頭 指北針 長條圖顯示亮度 光影魔術手 愛心呼吸燈 愛心小夜燈 按鈕秀文字 按鈕計數器 晃動計步器 顯示隨機圖案 空中傳愛 ( 廣播 ) 超時空跑馬燈 ( 廣播 ) 長條圖顯示音量 ( V2 ) 拍手換圖案 ( V2 ) 亮度樂器 ( V2 ) 翻轉大黃蜂音效 ( V2 )

燈光範例

燈光繞圈 ( 座標 ) 燈光繞圈 ( 數字函式 ) 循環霹靂燈 依序點燈 ( 座標 ) 依序點燈 ( 數字函式 ) 隨機不重複的燈 按鈕依序開關燈 平衡燈 ( 姿勢 ) 平衡燈 ( 旋轉感測 ) 陣列點燈 ( 顯示圖形 ) 陣列點燈 ( 動畫 ) 移動速度不同的燈

遊戲範例

小瑪莉遊戲機 射擊幽浮 記憶大考驗 翻轉吃豆子 猴子接香蕉 老鼠走迷宮 吃角子老虎機 太鼓達人 貪吃蛇 心電感應 ( 廣播 )

電子元件範例

閃爍的 LED 燈 全彩 LED 光線變化 長條圖顯示土壤濕度 小夜燈 ( 光敏電阻 ) LED 顯示溫濕度 LCD1602 顯示溫濕度 超音波倒車雷達 七段顯示器顯示距離 人體紅外線偵測 旋鈕控制 LED 亮度 電流急急棒 OLED 繪製數學圖形 OLED 顯示手繪圖案 觸碰開燈 ( 引腳按下 ) 觸碰開燈 ( 類比訊號 ) 水果鋼琴 ( 類比訊號 )

MoonCar 自走車

MoonCar 教學導讀 關於 MoonCar 自走車 程式積木介紹 控制移動和轉彎 七彩魔幻 LED 超音波隔空推車 超音波倒車雷達 超音波隔空彈鋼琴 超音波自動避障 偵測和辨識顏色 辨識顏色+演奏音樂 辨識顏色+控制移動 紅外線遙控器控制移動 micro:bit 廣播遙控 趨光性自走車 指北車 ( 永遠轉向北方 ) 循跡自走車 循跡自走車+辨識顏色 聽到聲音就移動 ( V2 )

EZStartKit 擴充板

EZ Start Kit 教學導讀 關於 EZ Start Kit+ 程式積木介紹 LED 基本控制 LED + 按鈕開關 LED + 可變電阻 LED 光感應小夜燈 RGB LED 基本控制 RGB LED + 紅外線遙控器 OLED 顯示文字與數字 OLED 顯示動態數字 OLED 文字跑馬燈 OLED 繪製圖形 OLED 繪製正弦波圖形 OLED 倒數計時器 OLED 顯示手繪圖案 繼電器 + 紅外線遙控器