【獲得成就-十五篇博文打卡】 很開心不知不覺開通博客已經半個月了,雖然中間有兩天斷了,但是好歹沒放棄,一直在堅持,其實最難的事情還是堅持寫博客啊…… 今天狀態其實比昨天好些了,起碼晚上有足夠的時間寫代碼了,昨天那個sort的次數問題,今天也百度了很久,問了一些人,但是都還是沒弄懂,想了想就算了吧,要 ...
【獲得成就-十五篇博文打卡】
很開心不知不覺開通博客已經半個月了,雖然中間有兩天斷了,但是好歹沒放棄,一直在堅持,其實最難的事情還是堅持寫博客啊……
今天狀態其實比昨天好些了,起碼晚上有足夠的時間寫代碼了,昨天那個sort的次數問題,今天也百度了很久,問了一些人,但是都還是沒弄懂,想了想就算了吧,要順利找到工作的話,會用就行了,又不是去搞懂原理、做研究。
今天還是在寫作業四。。。
昨天解決了生成牌、洗牌的問題,今晚主攻發牌問題,特別是發牌裡面的判斷大小的問題。
之前聽老師講過,肯定有人會用switch case去判斷兩張牌之間的大小問題,但是我不想這麼乾,我就不想按老師的思路走。
我馬上想到是用連續的字元串來操作,因為之前學過很多字元串的API,其中有一個不記得名字,但知道功能的API,就是可以查找出子字元串的位置。
就是這個indexOf,我都快忘了它的用法了。
我的想法一開始又被自己否定了,原因是10這張牌,我之前想的是,10占了兩個字元啊,那就不能匹配了,我甚至還想到用羅馬的Ⅹ來代替10,但是想想我生成牌的時候也要換成Ⅹ了,另想思路的時候,突然發現,就算是兩位,10,也是很特別的,因為沒有11,12,13這樣的了,其他10以上的都是字母了。。。當時可能是智障了
pop提取這副牌的最後一張,在把前面的花色去掉,因為我們只單純比較數值。
單獨封裝了一個方法compare來比較兩張牌的大小,這裡採坑了。。。之前一直輸出的結果是undefined,一直都找不到原因,用console到處堅持是不是穿不進參數,還是外面的迴圈出了問題,發現結果都不是。。。找了我半天。後面發現是我把standard這個標準樣板字元串放到一個數組裡面去了。。。真是醉了,白白浪費至少半個小時,還在打斷點,用debug一直調試……
大概是石樂志。。。才會這麼寫的
後面輸出的不是undefined了,但是只是輸出0或者是1,我始終是不理解。。。直到debug調試發現其中插入一個console.log(answer)的結果為true。
我再仔細看了下,麻蛋,原來不知道怎麼地居然複製了兩段相同的代碼。。。一直都是運行兩次代碼,怪不得輸不出結果來。
在經歷千辛萬苦之後,終於把大致的bug都找全了,但是還是輸不出結果,簡直想死了,輸出的player和machine只有0和1兩個值。。。
當時也是智障了,就不去靜下來好好想想為什麼是0或1,這兩個值,我一直在調試,一直在用debug調試,一直調試的生不如死。。。。
調試了近四五十分鐘,一直打斷點,調試,我還以為是indexOf返回的子字元的位置不是number型的,而是string型的,甚至還給它外面套了個Number強制轉換。。。。。。。想起來真是醉了
結果當然還是這樣的,player和machine這兩個變數一直是0或者1.。。。
後面又懷疑是if和else這兩個條件判斷根本沒有進去,player++ 和 machine++根本沒加的,但是加console調試的時候發現又進去了的呀,,,,
再然後想到或者是count出了問題,無意間才瞥見var player = 0, machine = 0; 我以為是不能併列著寫,但想了想,還去改了改,完全可以這樣的寫的呀。
最後終於看見
就是這一句的問題,而且是我之前翻過的同樣的問題。。。初始化的數據這麼久放在while裡面了呀,哎呦我的大兄弟(キ`゚Д゚´)!!
真是醉了同樣的問題被卡了兩次了,而且是那種異常痛苦的卡住。。。
應該是,不是應該,就是我自己while用的太少了,每次都把初始化變數放在迴圈體裡面,醉了醉了,服,真的服我自己……
牢記這個教訓吶!
酸爽的一晚上,作業4還是沒解決。。。又是明天再說咯_(:з」∠)_