- 賽道可以自己畫,也可以上網搜尋「2D賽車」
- 賽車轉向
- 必須採用控制車輛的左轉右轉來操控前進方向,而不是直接用方向鍵移動
- 可能用到的程式片段:
- 2.1 讓轉向更順暢
- 如果單純使用鍵盤來操控轉向,會因為鍵盤本身的重複延遲時間,
- 造成轉向動作不連續的狀況,這個狀況可以用程式的「重複執行」來完成。
- 可能用到的程式片段:
- 2.2 解決蛇行現象
- 如果是利用重複執行來進行轉向動作,會造成賽車不是左轉就是右轉,無法直線前進。
- 方法1:
- 利用短暫的重複執行,來彌補鍵盤重複的延遲時間。在鬆開鍵盤時,車輛就會恢復直線前進。
- 方法2:
- 使用變數的判斷,讓賽車進行轉向或是直線前進。
- 賽道偵測
- 賽車必須維持在賽道上,不可離開賽道。
- 提示:在 "移動的過程中" "碰到" 賽道外面的顏色,讓賽車"後退"
- 其次,應該後退多少步?根據「作用力=反作用力」,速度越快,後退的距離也該越大。
- 計時
- 計算跑完一圈的時間。
- 可以利用計時器來讓電腦計算時間。設定起跑時讓計時器歸零,開始計時,抵達終點線時停止計時。
- 可以新增一個 終點線 的角色,當車子碰到終點線時停止計時。
- 問題來了:
- 4.1 計時器一直在跑,如何將目前的計時結果記錄下來?
- 4.2 起點、終點都是同一條線,如何讓電腦知道現在是剛出發?還是抵達終點?
- 遊戲複雜度
- 可以加速、減速,多圈計時,增加賽車,兩人競賽,警車追捕,增能道具,障礙物...