燒腦的一天。
進度
今天終於開始做前人提到的大魔王:五子棋。
目前只做出了基本的版面跟下棋功能:
但是判斷輸贏的方法想了一晚還是沒想出來rrrr
只好留到明天繼續戰鬥!加油!
學到的事情
今天剛開始做五子棋時,本來想用圈圈叉叉的資料結構來做:
1 | const data = [ |
這樣子做以後畫面確實可以運作,但是就卡在判斷輸贏的邏輯不知道該怎麼寫才好。上網查資料找到的全部都是用「二維陣列」的結構來解的。於是只好砍掉重練,乖乖用二維陣列來重做(雖然我真的很不想碰二維的陣列或物件QQ)。
剛開始真的還蠻燒腦的,太久沒碰這種比較複雜的資料結構了,再加上又得用雙層迴圈來處理。好在後來靜下來一會兒後有慢慢釐清思緒,一步一步把基本的東西先寫出來了。
後來也意外地踩到「淺拷貝」的地雷,所以寫了這篇筆記:該來談談淺拷貝(Shallow copy)與深拷貝(Deep copy)了
原本我還想說 JSON.parse(JSON.stringify(data))
是什麼脫褲子放屁的行為,後來才知道原來這就是 deep copy 阿,真的是太蠢了~
總之,雖然是很燒腦的一天,但也學到了蠻多東西。
題外話
喜歡聽唱歌好聽的人唱歌。我覺得唱歌好難呀。
期許
希望明天能把輸贏的邏輯寫出來!衝了!