前情提要:
在經過第一週的洗禮後,腦袋的混沌狀態好像有好一些,大腦在想程式架構上好像有那麼一點應該怎麼打基底概念(應該吧),小專題很能體認到我們class好像只是在做資料夾分類而已,但實際上裡面該寫什麼屬性跟方法還是相當不合邏輯(但跑的起來XD)
當你腦袋中有越多熟知的工具(像是ArrayList ,寫法,內建class的各種方法)寫code速度就會天差地遠,Stan寫一小時,我們大概要寫六小時(9成時間在想⋯)這才造成好像專題加上作業,我們就算待到晚上十二點都寫不完,記住並熟練寫法真的好重要!(工具的重要性)
遇到的困難:小專題的升級狀況與龜速進展的作業
-
小專題前次發表後,原本是進入戰鬥就直接跑到打完(回合連續),現在要改為每回合都能再次選擇(逃跑/戰鬥/使用道具),原本以為就只是將戰鬥迴圈取消就好,結果發現會有像是第一下被打死進入無窮迴圈被打的狀況。
-
新增地圖,本來是兩個地圖,只要通關,將變數設為另一個就好,但當變成三個時,變成要三個隨機取一,然後剩下兩個取一,這整個就卡住了。
-
新增商店,買賣功能比較沒問題,但狀況是這個商人在一個地圖只會出現一次,如何將商人已出現過就排除隨機事件項目中?
-
新增到技能且有冷卻時間,道具效果也有冷卻時間,主要是技能打完一個怪,全部冷卻清空,但道具是看戰鬥的回合數,兩者判別方式不太一樣。
-
目前如果可以知道要用什麼寫法的作業,影片也能看懂的話,大概也還是要花4~6小時寫完(像是介面練習,商品管理系統_介面_lambda_建造者),但如果是開放的寫法(像是史萊姆)好像介面可以,好像enum也可以,好像要一起用?但會卡到像是enum寫技能,可以知道如何去用這個技能的方式了,但如何三個技能只取二,而技能又分傷害技能(有retrue值)和治療技能(不用reture值)在隨機釋放時如何判斷,就又卡住了一整天寫不出來。
-
這週其中一個作業(骰子遊戲)是小組一起討論,一人寫。效果覺得算是不錯,感覺在互相說明自己的想法時也在整理對於寫法的理解,別人的想法有時也會開通竟然有這種作法的感覺,骰子遊戲本來看到題目是沒什麼概念的,在討論的過程,反而能要求自己更要一步步問題拆開來做,因為一步跨太多,我也不知道怎麼解釋,但反而這樣一步步走,意外進行得比較順利。
如何排除問題:
-
第一次很有自信地將無窮戰鬥迴圈拆開來,並且覺得在每回合戰鬥後插入戰鬥選擇,在判斷是否雙方有一方死亡就好,自顧自的修改。一跑起來就發生被無窮被打,訊息重複出現,死後還有戰鬥選擇等等狀況,自己一步步看程式碼又感覺好像沒錯,那邊修一下,這邊修一下,總是修不好。最後是將一次戰鬥整個流程畫出樹狀圖,才發現樹狀圖內有些狀況根本沒判斷到,樹狀圖也比較清楚知道哪邊要修。修起來比較知道自己在幹嘛,才順利修正完成,測試結果也沒問題了!
-
本來兩個地圖在Main Class中各自一個無窮迴圈,但是導致整格程式碼非常長,stan說過,發現總是複製貼上時就要知道這不是好的寫法(不斷重工),於是只保留一個地圖迴圈,裏面差異的地方,就用變數去判斷控制,第三個地圖也就加上判斷的條件就好,縮短整個程式碼長度。
-
史萊姆作業已經花了一整天,嘗試enum,介面,等等方式,實在很挫折,明明影片都看得懂。但也發現又開始犯了想到啥就嘗試啥的老毛病。要求自己!再次拆分為小問題,再試看看。
課程進度:
-
資深工程師演講:分享了現實工作中對於處理專案的流程,狀況,應該如何處理。
-
感覺應該會在期中,期末專案用到,小專題時間太短。
-
對於未來可能的工作環境,生活,有一個雛形想像,但覺得還有點遠。
-
比較能現在用到的應該是 code style的養成,畢竟要是壞習慣做久了,就難改了,從我們一開始寫code就該開始遵守。
-
-
每次來教室的時間真的像進入精神時光屋,大腦不斷在想的解法,時間一下就過了,其實進入這種不斷思考而忘記時間的狀態我是喜歡的,但也有些挫折為何花這麼多時間還是沒有進度,甚至重來,影片有沒看懂的地方嗎?這是不是個蠢問題?我是不是在找一下就會了?等等迴圈當中。
-
小專題比較有進度,每次跑起來測試能有新功能實在都很感動啊XD,錄了一小段這週進度的影片~