:::

2-2-4 資料蒐集的優化(範例程式2)

原本賽車中的範例程式2,收集的資料較少,對於訓練比較沒有明顯的效果 。

說明:只取得玩家的x和y座標

問題與思考:遊戲的規則是不能碰到其他車, 有方法可以偵測玩家的附近是否有車嗎 ?

我們可以寫一個函式,來偵測玩家附近是否有車。

說明:函式又稱為副程式(subroutine),代表的是一串程式區段的集合。


寫函式前,先了解一下賽道的基本資訊。

  • 賽道左上角的座標為(0,0),算是座標原點
  • 每輛車的車長60,寬30(這牽涉到偵測其它車輛的距離)
  • 賽道的寬50px

圖片來源:PAIA官網

圖片來源:創課坊


此函式主要用到了迴圈與判斷式

迴圈說明: 
「計次...取值」是針對陣列的迴圈積木,重複次數依據陣列的長度而定,每次重複會依序取出陣列的資料,直到取得最後一筆資料後停止重複。

第一個判斷是看有沒有其它車輛在兩條紅線的範圍之間,如果有,則依次判斷

  • 玩家前方是否有車?
  • 玩家左邊是否有車?
  • 玩家右邊是否有車?

在了解了基本觀念後,我們就開始來寫程式吧!