搜尋

搖骰子 ( 可選擇 1~3 個 )

在「搖骰子」的文章中已經可以操作單一個骰子,這篇教學會運用 Scratch 做出多個骰子的實例,並讓使用者自己選擇 1~3 顆骰子,最後在畫面中顯示骰子的總點數。

相關文章參考:重複分身廣播訊息

繪製角色

使用「繪畫」方式新增一個名為「dice」的骰子角色,運用向量繪圖工具繪製六個造型,分別是骰子 1~6 點六個面的正方形,正方形的中心點對齊畫布中心點,六個面的造型名稱分別設定為「1~6」

小技巧:先畫「一點」的造型,再使用複製造型後修改點數,就能讓每個造型都固定位置和大小。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 繪製角色骰子角色

使用「繪畫」方式新增一個名為「btn」的按鈕角色,負責讓使用者切換 1~3 個骰子,運用向量繪圖工具繪製三個圓形按鈕,上面分別寫上 1~3,正方形的中心點對齊畫布中心點。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 繪製角色按鈕角色

使用「繪畫」方式新增一個名為「btn_start」的按鈕角色,負責讓使用者點擊之後會開始搖骰子,運用向量繪圖工具繪製一個長方形,上面放入文字「搖骰子」,中心點對齊畫布中心點。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 繪製搖骰子按鈕角色

使用「繪畫」方式新增一個名為「result」的文字角色,負責顯示最後骰子的總點數,運用向量繪圖工具新增 19 個造型,分別是「點數:1」一直到「點數:18」,最後一個造型是「點數:---」,造型名稱使用「1~18」,最後一個造型名稱設定為「0」

小技巧:因為文字預設都是「置中對齊」,為了方便「靠左對齊」,可以將「位置:」和「數字」拆成兩個文字物件,如此一來會比較容易調整位置。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 繪製搖骰子按鈕角色

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 繪製搖骰子按鈕角色

積木程式原理 ( btn_start 按鈕 )

點擊「btn_start」角色,設定點擊綠旗時,定位並發送 run 廣播訊號,表示開始骰子骰子。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( dice 骰子 )

積木程式原理 ( btn 按鈕 )

點擊「btn」角色,設定點擊綠旗時,位置固定在舞台左上方,並設定造型為 1、亮度 70。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( btn 按鈕 )

新增一個名為「產生選擇按鈕」的函式,勾選「執行完畢再更新畫面」,這個步驟可以快速執行內容的積木。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( btn 按鈕 )

使用「隱藏本尊」搭配「建立分身」的方式,透過切換造型的方法,依序往右建立三個分別是 1、2、3 的分身按鈕。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( btn 按鈕 )

從左側積木選單裡,建立 btn 和 btn_local 兩個變數。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( btn 按鈕 )

注意!由於 btn_local 需使用「區域變數」,所以要勾選「僅適用當前角色」( 參考「全域變數、區域變數」 )。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( btn 按鈕 )

運用區域變數 btn_local 搭配分身,就能讓不同的分身的 btn_local 具有不同數值 ( 參考「控制指定分身」 ),接著就能根據數字,要求 btn_local 為 1 的分身恢復正常亮度,執行後,舞台中的按鈕就只有第一顆會恢復成原本的亮度。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( btn 按鈕 )

使用「重複無限次」搭配「邏輯判斷」,製作點擊分身的程式,當分身被點擊時,將 btn 的數值更換為分身區域變數的 btn_local 數值,同時發送 click 廣播訊息以及分身的名稱 ( 1~3 ),表示現在畫面上要出現幾個骰子

接著設定收到 click 廣播訊息時 ( 每個分身都會收到 ),讓分身判斷自己的 btn_local 變數是否等於 btn 變數數值,如果相等 ( 表示點擊 ),就恢復正常亮度,如果不相等 ( 表示沒有點擊 ),就提高亮度。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( btn 按鈕 )

執行後,點擊不同的按鈕,該按鈕就會呈現不同的顏色。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( btn 按鈕 )

積木程式原理 ( dice 骰子 )

點擊「dice」角色,設定點擊綠旗時,位置固定在舞台中心,接著隱藏本尊 ( 待會會用分身呈現 ),將造型設定為 1,並發送 1 的廣播訊息,表示舞台上現在只有一顆骰子,新增 num 變數預設為 1,表示現在畫面上是 1 點 ( 注意,這邊兩個 1 是不同的意義,廣播訊息表示有幾個骰子,num 是指現在點數幾點 )。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( dice 骰子 )

設定收到廣播訊息 1 時,設定 x 座標並產身分身,收到廣播訊息 2 時,設定兩個座標並產生兩個分身,收到廣播訊息 3 時,設定三個座標並產生三個分身,收到廣播訊息 click 時,表示要更換畫面中骰子數量,只要刪除分身就能清空 ( 在另外一個按鈕,會等待 click 完成後再發送 1、2、3 的廣播訊息 )。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( dice 骰子 )

設定收到廣播訊息 run 時開始骰骰子,正在骰的時候設定 num 點數為 0,並尋找一個適合骰子的音效播放。接著設定產生分身時顯示分身,使用重複無限次積木搭配等待,當 num 為 0 時更換 10 次隨機造型,接著將 num 增加最後一個造型的點數,完成後發送 result 廣播訊息。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( dice 骰子 )

完成後點擊切換骰子數量按鈕,骰子數量就會跟著改變。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( dice 骰子 )

積木程式原理 ( result 結果顯示 )

點擊「result」角色,設定點擊綠旗時,造型換成 1 點,接著按照下圖,設定收到不同的廣播訊息時,更換成對應的點數造型。

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( dice 骰子 )

完成結果

全部完成後,點擊綠旗,就可以開始進行骰骰子的遊戲,並可以切換 1~3 顆骰子。

範例解答:搖骰子 Dice ( 可選擇 1~3 個,自動加總點數 )

Scratch 教學 - 搖骰子 ( 可選擇 1~3 個 ) - 積木程式原理 ( dice 骰子 )

延伸練習

如果已經熟悉了搖骰子的原理,還可以嘗試更多好玩的作法:

  • 使用「文子轉語音」的功能,唸出目前的點數。
  • 讓骰子隨機的速度從快到慢。
  • 讓三個骰子停止的時間不相同。

意見回饋

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

Scratch 教學

基本介紹

關於 Scratch 使用 Scratch 3 註冊與登入 操作介面 我的東西

圖形與聲音

繪製造型&背景 編輯音效

程式積木

積木種類 動作 外觀 音效 事件 控制 偵測 運算 變數 清單 函式積木

擴充功能

音樂 畫筆 視訊偵測 文字轉語音 翻譯

技巧&觀念

全域變數、區域變數 深入理解區域變數 控制指定分身 控制所有分身的方法 雲端變數 雲端變數記錄文字 變數串接文字 判斷英文字母大小寫 中斷與停止程式 廣播訊息並等待 鍵盤與滑鼠 滑鼠點擊與長按 點擊隱藏的角色 突破角色尺寸限制 角色與舞台邊界 重複積木的等待時間 音樂暫停與繼續播放 使用造型名稱建立清單 使用造型代替變數 文字轉清單 清單合併為文字 判斷兩個清單是否相同 複製清單、反轉清單 清單數字排序 清單最大值最小值

入門範例

鍵盤控制貓咪 指向中間的箭頭 水果音樂鋼琴 貓咪的影分身之術 貓咪的細胞分裂 螃蟹跑來跑去 吃水果 摸蝴蝶 小狗追棒球 魚兒水中游 小鳥往前飛 舞棍阿伯 小時鐘 搖骰子 轉動的眼球 抽獎輪盤 大樂透電腦選號 卡牌抽籤 ( 20 中 1 ) 移動到邊緣切換場景 人物依序跳舞 ( 廣播 ) 按鈕控制貓咪 ( 廣播 )

進階範例

貓咪跑步 ( 連續背景 ) 貓咪跑步 ( 超長背景 ) 大型數字 ( 圖形數字 ) 拖拉怪獸碰撞牆壁 鍵盤鋼琴 ( 記錄音符 ) 中文字逐字稿 英文字逐字稿 計算機 1 ( 顯示數字 ) 計算機 2 ( 加減乘除 ) 雲端聊天室 音樂播放器 推貓咪 ( 視訊偵測 ) 圍捕小魚 ( 視訊偵測 ) 戳泡泡 ( 視訊偵測 )

視覺特效範例

視差效果 水中吐泡泡 雪花隨風飄 鍵盤鋼琴 ( 音符動畫 ) 無限循環畫中畫 水底探照燈 狙擊望遠鏡 ( 兩倍變焦 ) 貓咪萬花筒 仙女棒 ( 光跡效果 ) 駭客任務背景特效 放煙火 1 ( 往上發射 ) 放煙火 2 ( 爆炸效果 )

繪圖範例

鏡射畫圖 ( 對稱圖形 ) 小畫家 ( 舞台上畫圖 ) 記錄畫圖軌跡 繪製圓形 繪製橢圓形 繪製立方體 ( 會動 ) 繪製正多邊形 繪製正多角星形 ( 單純 ) 繪製正多角星形 ( 多線 ) 繪製拋物線 繪製折線圖 繪製圓餅圖 繪製圓餅圖 ( 指示線 ) 蜘蛛結網 ( 八邊形網 ) 繪製舞台方格 繪製正弦波形 ( sin ) 正弦波毛毛蟲動畫 顯示聲波圖形

物理&模擬範例

鐘擺運動 簡單磁鐵效果 兩個磁鐵的磁力線 立體空間 ( 三度空間 ) 循跡移動 拋物線發射炮彈 地球繞著太陽轉 彈跳的籃球 電風扇 ( 控制強度 ) 拉不走的彈力球 慣性移動 ( 滑鼠 ) 慣性移動 ( 鍵盤 )

入門遊戲範例

猴子接香蕉 打地鼠 打地鼠 ( 體感視訊偵測 ) 刮刮樂 吹風機吹頭髮 太空狗閃躲隕石 九九乘法測驗 英文單字測驗 釣魚遊戲 拍西瓜 ( 儲存最高分 ) 寶可夢猜猜我是誰 ( 基本 ) 形狀配對拼圖 台灣地圖拼圖 英文打字機 英文打字機 ( 判斷大小寫 ) 射擊外星人 猜數字 ( 猜大小 ) 猜數字 ( 幾 A 幾 B ) 連連看 ( 產生器 ) 連連看

進階遊戲範例

青蛙過河 青蛙過馬路 反彈球 ( 乒乓球 ) 打磚塊 狙擊氣球 ( 兩倍變焦 ) Flappy Bird Flappy Bird ( 聲控版 ) 走迷宮 ( 基本 ) 大型迷宮 ( 鍵盤控制 ) 大型迷宮 ( 滑鼠控制 ) 翻卡記憶遊戲 翻卡記憶遊戲 ( 改良版 ) 井字棋 ( 圈圈叉叉 ) 九宮格拼圖 九宮格拼圖 ( 改良版 ) 音階記憶 貪吃蛇 ( 分身版 ) 貪吃蛇 ( 畫筆版 ) 小雞下樓梯 拉霸機

團康遊戲範例

搖骰子 ( 1~3 個 ) 比手畫腳 ( 猜動物 ) 音樂傳球遊戲 大聲公 ( 比賽誰的氣長 ) 抽籤 ( 可調整中籤數量 ) 轉盤指針 ( 指到誰就當鬼 ) 倒數計時器 ( 基本版 ) 倒數計時器 ( 大數字版 )

遊戲設計技巧

角色 ( 地上移動 ) 角色 ( 蹲下、左右轉 ) 角色 ( 跳耀、兩段跳 ) 角色 ( 牆壁、爬牆 ) 地圖 ( 清單轉換 ) 地圖 ( 二維陣列 ) 地圖 ( 控制移動 ) 地圖 ( 牆壁碰撞偵測 ) 地圖 ( 吃東西偵測 ) 俄羅斯方塊 ( 角色與背景 ) 俄羅斯方塊 ( 移動與碰撞 ) 俄羅斯方塊 ( 放置方塊 ) 俄羅斯方塊 ( 消除完成方塊 ) 俄羅斯方塊 ( 下個形狀 )