09貪吃蛇(8X8LED)
(2016/10/10)
一、軟體及硬體:
- 同單元05LED8X8顯示器(Transformer 2.0 +8X8 LED)
二、Scratch2.0程式
- 原始構想:設計一條蛇(一開始有二節(二顆LED燈),吃到一粒果實(一顆LED),會增加長度),但經我的程式測試後,發現反應速度很慢!!
- 修改:設計一條蛇(只有三節(三顆LED燈)),可利用上、下、左、右鍵來控制蛇的移動方向!
- 程式說明:
- 建立四個清單
- 第一個清單(X):是這三節蛇的X座標值 (X座標從1~8),如果蛇身更長就在此清單中增加資料
- 第二個清單(Y):是這三節蛇的Y座標值 (Y座標從1~8),如果蛇身更長就在此清單中增加資料
- 第三個清單(led-y):為每一欄中每一顆燈亮燈的10進位值,8顆燈分別是1、2、4、8、16、32、64、128
- 第四個清單(led-x):分別為第一欄到第8欄的亮燈的16進位值!
- 建立四個清單
- 程式一開始,先將這四個清單清空,及填上預定值
- 主程式部分:
- 蛇頭的X座標及Y座標如果小於1或大於9,代表走出畫面,就結束遊戲(下圖的item要用1)
- 取得8X8LED中,每一欄的10進位值(重複3次是有3節蛇身,如果增加蛇身,此處也要增加!)
- 取得8X8LED中,每一欄的16進位值,並在硬體上顯示出亮燈!(重複8次是LED燈有8欄)
- 移動蛇的位置(將第三段的蛇身座標移到第二段的蛇身位置,將第二段的蛇身座標移到第一段的蛇身位置,將第一段的蛇身座標依方向鍵來移動!
- 內有一段求16進位的副程式
- 方向鍵的程式
三、結論
- 最後,還是成功利用Transformer2.0來做出貪出蛇的移動,但移動的反應有點遲鈍,因此不想再做更複雜的功能(吃果實來增長蛇身),希望有人能提出更順暢的程式!!