學習目標
- 使用隨機數
- 整合事件與輸出
- 建立遊戲規則
遊戲專題CHAPTERS
每次按下按鈕產生三個 1–7 數字;777 亮綠色,其餘亮橘色。
保留程式與觀察紀錄,說明你修改了哪個部分,以及結果如何改變。
PROJECT PREVIEW

TRY IT
from mangobox import Mango
import random
from threading import Lock
m = Mango(mode="hardware")
round_lock = Lock()
def play():
with round_lock:
numbers = [random.randint(1, 7) for _ in range(3)]
won = numbers == [7, 7, 7]
m.clear()
m.text(" ".join(map(str, numbers)), 10, 20)
m.led_all("#00FF00" if won else "#FF7A00")
m.beep()
m.clear()
m.text("Press to play", 0, 0)
m.when_pressed("button", play)
m.start_button(100)
m.run_forever()
每次按下按鈕產生三個 1–7 數字;777 亮綠色,其餘亮橘色。
下載本課 Python 範例 →執行前請核對所需設備與頁面下方的執行環境。程式只在桌面工具執行,這個網頁不執行 Python 或連接硬體。
ENVIRONMENT & VERSIONS
本課以 MangoX2 教學套件為基準。MangoLite 需另核對模組、Enable 與 LED 數量,本課尚未宣稱直接相容。
先用 Device Manager 確認模組啟用、GPIO 與連線;MangoX2 的 OLED、RGB 和按鈕屬套件模組,不能只看裸板名稱判定已備妥。Host UART 與原生 Pico USB 的用途不同。
已核對官方文件與 Host 原始碼;本課尚未完成實機驗證
這是本站隨機遊戲延伸範例;老師新版 06-MangoX2-777Game.py 實際為 7.77 秒計時挑戰,兩者不是同一份教材。
對照來源:本站延伸實作;API 對照 HostPython/05-MangoX2-Button_LED.py
官方來源:MangoBox-Platform 公開 API 契約(2026-09-06)與 MangoThonny Host 原始碼 983cc296。本站範例為課程改寫,非逐字複製老師教材。
m.clear()清除 OLED 畫面m.text(text, x=0, y=0, size=1)在 OLED 顯示文字,支援換行m.led_all(color="#ffffff", duration=0, strip=None)設定全部 RGB LED 為同一顏色m.beep()bee() 的相容名稱m.when_pressed(sensor='button', callback=None)註冊按下事件的便利寫法m.start_button(period=100)啟動按鈕週期監看m.run_forever()Host:保持電腦程式存活以接收事件;不是 Pico Scheduler 迴圈。