戰鬥營開始了
最剛開始是創辦人與我們說明這個戰鬥營理念與工程師這個職業的描繪,與自己想像的相去不遠,畢竟也準備了近半年與考慮,但現在實際開始踏入這領域,還是要先親身體會才知道。
小專題一點都不小
第一週就開始了需要做出一個「小」作品的小專題遊戲,時間是一週(當週六補班日發表),我們這組題目是 MUD RPG。一開始還不知道怎麼下手,小組成員也不熟,直到週三學長姐演講分享時,提問關於專題的製作,才開始先將專題功能拆分,再分配各自所需要製作的部分。
開始動作做後遇到一些問題:
- 各自寫 code 的狀況下,當要合併測試時,大家可能同時都有寫 Main Class,但每個人的版本寫法都不同,合併時會出錯。
- RPG 中有角色(玩遊戲的)、怪物、物品,都有自己的屬性,且共通的屬性還滿多的。一開始我們是將學到的繼承套用在這部分(父類別:怪物;子類別:動物、惡魔),但遊戲中角色會升級,使用物品角色也會提升屬性,這要怎麼寫?
- 遊戲整個過程會不斷進行,而且不斷隨機出現事件,但又要能讓角色選擇動作,似乎是要用 while 迴圈?
一步一步實現功能與無窮 debug
- 先嘗試使用 Git 與 GitHub 來控制大家版本可以都是最新狀態,但實在不太懂整個機制流程。每個人都 fork 好版本後,也將自己的更新 push 上去,然後 pull 到我這最新版本。有些人可以在 GitHub Desktop 看到我的已經跟別人寫好的新版本,但有些人怎樣都是看不到,實在很奇怪。花了半天時間,最後乾脆各自先更新在自己的 GitHub,我再去一個個抓取並覆蓋過來檢查。
- 我們後來將所有怪物、物品、角色的屬性都合併在叫 Ability 的類中,將取得屬性的方法都寫在這,然後其他會用到屬性的通通繼承這個類。也寫方法將升級時透過 get 和 set 去改變物件屬性。
- 整個遊戲過程有好幾層 while 迴圈,讓角色在某一個功能需要重複選擇時,就不斷在 while 迴圈中,直到滿足條件離開,但還是在整個大 while 迴圈中,來保持遊戲進行。
課程進行
當週小專題:
- 小專題(遊戲)第一組主題:MUD RPG
課程進度:
- 抽象類別
- 介面
- Object 類別
toString方法- Overriding
- Overloading
- 多型
- 繼承
- Builder Pattern
練習作業:
- 多型練習_動物1
- 多型練習_動物2
- 物件導向_陣列包裝
- 多型練習_形狀
- 物件導向_圖書館管理系統
- 物件導向練習
戰鬥營這屆基本上以自學為主,有課程影片可以看,搭配當週作業和小專題,真的要完全發揮自學能力與提問能力(這部分還無法掌握)。看似份量不多,但是每個作業跟專題功能真的都需要花費非常多時間。第一週就兩天整整待到近 11 點才離開教室,就為了專題功能的討論與 debug 處理;debug 也比想像花了更多更多時間,可以體會到常聽到工程師很多時間都是在 debug,忽然有點能體會。