13.11 實作題怎麼寫

前面十節的零件湊在一起,就是 APCS 中級第 2 題的完整工具箱。最後說說寫的順序——實作題失分的地方通常不在不會,而在漏掉一條規則、寫反一個方向、少判一次邊界。

  1. 先把規則排好,再開始寫。 把題目的每一條規則編號抄在紙上(或註解裡),程式主迴圈就照這個順序寫,一條規則一段註解——蒐集寶石那份程式碼就是這樣長出來的。
  2. 零件先寫好。 inside、方向表、標記表在讀完題目的第一分鐘就可以先寫,不用等想通整題。
  3. 一個功能一個函式。 「這格能不能放」(canPlace)、「從這格看到幾格」這種會重複問的問題包成函式,主程式只剩流程;變數取名盡量跟題目一樣(RCK),一個月後回來看也讀得懂。
  4. 常數用 const 方向表、陣列上限都是 const int,不要在程式裡散落 4100 這種字面常數。
  5. 交出去之前自己造測資。 兩個範例都跑;再造幾個極端情況——1 \times 1 的地圖、起點在角落、整張都是牆、一整列——「範例過了大測資 RE」幾乎都是邊界沒判到,這種測資自己造最快(16.6)。