這題可以說是台中市107年Scratch國小程式設計組最難的一題,能夠成功作出來的非常少,不過把題目仔細拆解成小部分,還是有方法可以做出來,前面能夠得分的部分還是要盡量拿。
https://contest.tc.edu.tw/pub/showrank.aspx
玩法 按下「 開始設計」後,提出使用者要輸入 3 到 17 的奇數數字, 並出現輸入框。
如果使用者輸入的是偶數數字, 則畫面要出現提示「 您輸入的是偶數, 請重新輸
入 3 到 17 的奇數數字」( 2 秒);如果輸入的數字不在範圍內, 則畫面要出現提
示「 您輸入值不在圍內, 請重新輸入 3 到 17 的奇數數字」( 2 秒)。如果輸入正
確,則出現則在畫面中央出現一面由紅、白二種顏色的正方形 LED 燈牆,且排列
規則需依下圖所示正確呈現。

入 3 到 17 的奇數數字」( 2 秒);如果輸入的數字不在範圍內, 則畫面要出現提
示「 您輸入值不在圍內, 請重新輸入 3 到 17 的奇數數字」( 2 秒)。如果輸入正
確,則出現則在畫面中央出現一面由紅、白二種顏色的正方形 LED 燈牆,且排列
規則需依下圖所示正確呈現。

1.匯入舞台背景圖與各項元件10%
(基本分數,必拿)2.按下綠旗 ,舞台畫面切換到 background-0.png,並出現「 開始按鈕」 (Start.png)。 其他角色隱藏。10%
舞台程式碼:
「開始按鈕」程式碼:
其他元件皆設為:
(是否要定位可自行決定)
3.滑鼠按下「開始按鈕」(Start.png)後,舞台畫面切換到background-1.png;同時出現 Giga 人物角色(Giga-b2 造型)、顯示提示用語「請輸入 3 到 17 的奇數數字」( 2 秒),以及等待使用者輸入列。10%
「開始按鈕」程式碼:
Giga程式碼:
(定位點可自行決定)
4.如果使用者輸入的是「偶數」 數字, Giga 人物角色呈現不高興造型(Giga-d),並出現「 您輸入的是偶數, 請重新輸入 3 到 17 的奇數數字」( 2 秒)的提示,然後再請使用者重新輸入。10%
此部分為偵錯功能,在角色Giga上繼續接上這一段即可。
5.如果輸入的數字不在範圍內, Giga 人物角色呈現不高興造型(Giga-d),並出現「您輸入值不在範圍內, 請重新輸入 3 到 17 的奇數數字」( 2 秒)的提示,然後再請使用者重新輸入。10%
這也是偵錯功能,在角色Giga上繼續接這一段即可,可以直接複製上面整塊程式碼稍稍修改即可。
6.正確產生輸入值的正方形矩陣的 LED 牆圖形。例如輸入 3,則產生 3x3 的 LED 牆圖形,例如輸入 17,則產生 17x17 正方形的 LED牆圖形。顯示位置不做限定,惟不可以超出邊緣之外。20%
這部分已經稍有難度了,可以利用「蓋章」或「分身」產生矩陣。
先向上、向左移動足夠的空間(每格大小15像素),再重複執行「蓋章」,每排蓋(輸入數字)個,蓋完再換行,向下移動1排,向左移動(輸入數字)*15個像素繼續蓋第2排,直到蓋完(輸入數字)為止。7.依據規則正確產生紅、白色 LED 牆,其中紅色 LED 部份須以等差級數及「中間」上下對稱方式產生。例如 7x7 的 LED 牆圖形,其中紅色部份要依序由上而下產生 1、 3、 5、 7、 5、 3、 1 個紅色 LED。25%
這也是本題最難的部分,目前只有看到一人用「新增積木」的方式成功完成(在其他程式設計語言這功能叫做「函式」)。
新增兩個變數M、N,M負責「白色」,N負責「紅色」
在「更多積木」新增一個LED,並選擇「數字輸入」。
沒有留言:
張貼留言