小刘同学的第十五篇博文

【获得成就-十五篇博文打卡】

很开心不知不觉开通博客已经半个月了,虽然中间有两天断了,但是好歹没放弃,一直在坚持,其实最难的事情还是坚持写博客啊……

今天状态其实比昨天好些了,起码晚上有足够的时间写代码了,昨天那个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还是没解决。。。又是明天再说咯_(:з」∠)_

posted @ 2018-01-07 23:23  小刘-  阅读(232)  评论(2编辑  收藏  举报