先用 Processing 寫出遊戲,確定能執從後再連結Arduino做車體的控制,把原先 "上,下,左,右,空白鍵" 轉化為實體互動。此遊戲除了可以連結 Arduino,也能直接用鍵盤玩。
P.S.網頁執行時音效會有點 Leg
零件清單:
.Arduino UNO 板子*1
.單心線
.跳線
.光敏電組*2
.水銀開關*3
.電阻*5
.手套*1
遊戲連結:http://justmydesign.sg1005.myweb.hinet.net/2011_Processing/hw11/
P.S.不知為何加入Arduino程式碼後無法在網頁上執行(因為網頁無法讀取Arduino訊號?),所以我放上純Processing的遊戲版本。
遊戲名稱:手感賽車手 Car Racing Game
操作方式:鍵盤 or Arduino
遊戲步驟:上=加速,下=煞車,左=左轉,右=右轉,空白鍵=發射火焰。遊戲時間有60秒,吃到(+5時鐘)時間額外增加5秒,遊戲結束後玩家的距離分數+射擊分數=總分。
int sensorValueSpace, sensorValueUp; void setup() { for (int i=3; i<=7; i++) pinMode(i, INPUT); Serial.begin(9600); } void loop() { sensorValueSpace = analogRead(A5); sensorValueUp = analogRead(A3); if (sensorValueUp > 200) Serial.print(1, BYTE); //1 = 沒按上鍵 else Serial.print(2, BYTE); //2 = 按上鍵 if (digitalRead(4) == LOW) Serial.print(3, BYTE); //3 = 沒按下鍵 else Serial.print(4, BYTE); //4 = 按下鍵 if (digitalRead(5) == LOW) Serial.print(5, BYTE); //5 = 沒按左鍵 else Serial.print(6, BYTE); //6 = 按左鍵 if (digitalRead(6) == LOW) Serial.print(7, BYTE); //7 = 沒按右鍵 else Serial.print(8, BYTE); //8 = 按右鍵 if (sensorValueSpace > 200) Serial.print(9, BYTE); //9 = 沒按空白鍵 else Serial.print(10, BYTE); //10 = 按空白鍵 delay(100);}
資料來源
沒有留言:
張貼留言