繼續走下去。
進度
今天終於是把五子棋完成了,先附上成果圖:
不過有點小傷心,是關於判斷輸贏的部分。原本已經把橫排與直排的判斷給寫出來了,但就差在斜排的部分不知道該怎麼寫才好。
過程中一樣爬了蠻多篇文章,但感覺都不太能理解,看到各種三層迴圈,總覺得有點太過複雜化的感覺。於是最後參考了 Huli 寫的 範例。
這個過程就是一行一行 code 邊照著打邊思考,最後才理解原來只要「以下棋點為中心」來思考,在利用 do...while
其實就可以判斷應付所有 case 了。
學到的事情
也許是自己還是不夠厲害,只是個小遊戲而已卻也寫不太好,不過還是要繼續更加油下去吧。
從五子棋這個作業裡面除了學到 React 的思維,也碰到了一些以前學到的 JavaScript 進階概念,最深刻的大概就是「淺/深拷貝」和「閉包」了吧。
當然,還有那個顧人怨的 this 值(如果是寫 class component)。
總而言之,希望自己接下來要更努力把東西學好。
題外話
我以前總認為「很會寫程式」的定義是能用短短幾行 code 來解決問題。
但經過這幾年的時間,我現在認為真正厲害的人是能夠讓別人一下就理解它在寫什麼,這個才是比較厲害的地方。
期許
希望明天能把 week21 結束。