前言

还是觉得要做就要把事情做完,昨天晚上回去花了不到一小时,结果就把省下来的做完了。也是没想到。早知道最起码把结果跑出来再提交代码了。

写这个不是为了弥补昨天的失误,也不是为了亡羊补牢,获得挽救的机会,改变结局,只是对自己的一个复盘,希望我以后能有所改变。

复盘

1.没有掌握节奏和紧迫感,这不是平常的一次开发任务,而是一次面试,需要的是短时高效高质的完成。一开始做的比较拖拉,导致第一个交卷的时候才完成棋盘和玩家的设计

2.没有分清主次,程序的重点和核心是游戏的规则算法和游戏的流程能完整运行无异常。

而我的想法是开始游戏需要棋盘和用户,第一步设计棋盘,尽可能的将棋盘设计成了可以支持n个节点,并且可以随机m个节点类型种类,用随机出的m个类型来分布到n个节点上,并且考虑了起始节点和终结点应为普通节点A。代码对应ChessBoardService (棋盘生成服务类), 和NodeTypeService(棋盘节点类型获取服务类)

结果导致大部分时间都耗在这个上面了。

3.没有坚持做完,心态不好

眼看着大家都走了, 有临近下班,我想我面试总不能在这加班写代码吧,太丢人了。心态需要提高。

昨晚回家后花了不到一小时的时候将流程运行的代码解开注释,解决了我那个工厂模型里B节点回退一步的bug, var temp= index--;然后temp 再递归去执行棋盘节点规则。 错在 temp= index--导致死循环了, --index就可以了;

2.在PlayUser中的Thrown()掷色子方法中添加上判断 当前掷完色子后的节点是不是>=钟节点。是就return;

3.增加gameService中的日志记录

4.每次thrown后调用下ext事件来判断是否要剔除其它用户到起始点

5。程序就开发完了

以上是我分析的原因

最重要的一点是第一点:没有把握好节奏感和紧迫感,没有侧重优先点

对于昨天反馈我的看法

1.我觉得我的代码结构本身是没问题的,只是这是一个小demo,如果要做单机或网游,代码框架就ok了。不过确实有必要尽量简洁,多看看源码。

2.昨天说的需要gamecontext来存放玩家信息和棋盘等信息, 我其实就是这样做的,只是我是gameservice和gameRecodeModel拆分开来了

3.昨天没有按时完成工作,和我本身功底招不扎实无关,我个人能力并问题,对得起6年的工作,不是混出来的。而是我做事的习惯问题,没有没有把握节奏和紧迫感,以及心态问题