[Scratch] 猜數字 1A2B 遊戲 (Guess Number)

[Scratch] 猜數字 1A2B 遊戲 (Guess Number)

今天也很快速的完成了 Scratch 版的 1A2B 猜數字遊戲~

先來看一下執行結果:

 

這邊只對比較重要的程式部分做介紹,

其他有興趣的就直接去 猜數字 (1A2B) 遊戲 看程式吧~

 

1. 決定答案

首先,遊戲裡有分難度,

由低至高分別代表 2~4 位數

因此程式一開始要產生一個 2~4 位數的答案。

 

這邊用一個比較沒有效率,但實作簡單的方法~

先用一個空字串儲存答案,

然後從 0~9 之間隨機選一個數字,

如果這數字不在答案裡,就可以加入答案中,

直到答案的長度符合預期的 2~4 個數字為止。

 

為什麼說這沒有效率呢?

因為最差狀況,就是隨機取到的一直是同一個數字,

然後就要無限次的持續找可用的數字…

不過實際測試,從 0~9 十個數字中隨機取數,

通常很快就可以取到 2~4 個不重覆的數字,所以還可以接受~

 

2. 判斷是幾 A 幾 B

這個我原本以為會有點複雜,後來發現主邏輯很簡單~

基本上就是由使用者給的答案的第 1 位數開始,

如果和真正解答的同位的數字相同 => 就是一個 A

否則,如果數字在真正解答裡面 => 就是一個 B:

 

3. 印出目前是幾 A 幾 B

這相對來說比較繁雜,因為 Scratch 目前沒辦法隨意顯示文字,

都只能用說 (Say) 才能說出任意的文字…

因此我的做法是用一個角色,裡面把 0~9、A、B 和 = 這幾個符號,

都做成這角色的一個外型 (costume):

 

當我要印出一串字時,就用這個角色配上對的外型,

使用筆 (Pen) 分類下的蓋章 (Stamp) 功能,

將這外型的字蓋在螢幕上~

 

要寫的字,基本上就是 (使用者輸入的答案) = ? A ? B 這些字

 

這遊戲製作起來還蠻快速的,

約在兩三個小時內可以完成,

而且這才發現 4 位數字的 1A2B 原來這麼難…

有興趣的人可以來玩玩看喔~^^

 

 

 

(本頁面已被瀏覽過 1,852 次)

One thought on “[Scratch] 猜數字 1A2B 遊戲 (Guess Number)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料