九月中旬工作总结

上个星期张靖给我们过来讲课,上课的主要内容是讲牌类斗地主游戏的制作。讲课也只讲了分牌算法。分牌算法讲了两节可左右已经讲得我们有点难以消化,干脆我们建议自己下去看源代码。

张靖上完课后给我们不知任务是接下来的一个星期把斗地主的框架先搭出来,然后把图片贴上,并且理解分牌算法。这就是我们接下来的任务。

我们写扫雷大概已经一个多月了。这一个月中当然也包括了回家的时间。但是我们的速度还是太慢,我恨不得晚上通宵写代码把游戏做好。上一周对程序的体会最深的一点我觉的应该是对游戏的策划,因为写到后来不是因为我写不出某个特定的功能,而是这个功能在源代码里是通过前面的一些功能函数来完成的,而我写的函数功能上与游戏源代码的写法不同,这就导致了我的游戏是按照我自己的算法来完成,而我的想法都是没有经过长远的考虑的,这就导致了我没有做好策划就动手写代码,这虽然在短期内让我模仿着源程序写,进度能进行比较快,可是随着程序核心的深入,这样的做法暴露出了许多问题,譬如算法的思想跟原来游戏的思想不一样,导致做到后来就很难再参考源程序,只能按照新思想写下去。

遇到这样的问题我请教了张靖,张靖的观点是:做一个新游戏肯定是没思路的,而书上提供的源程序的思路是一种比较精巧的思路,那么为何不模范这种精巧的思路来写呢,当然这种模仿不叫抄袭,因为这种模仿是用来练手的,模仿着写的同时我必须看懂原作者的意图,并且我要有自己的发挥,也就是说我不能照搬照抄的模仿,我要吸收作者的思想并改进。这让我豁然开朗很多,我之前都比较忌讳使用书上的算法,所以我都采用自己的算法,其实这种想法陷入了一种极端,就是排斥别人的代码,觉得自己抓破脑袋想出来的算法是最好的。这样做有不好的地方,我要花很多时间去想一个时间复杂度和空间复杂度都比书上算法复杂的算法,虽然锻炼了思维,但在一定程度上限制了我使用书上作者写的优秀算法。其实最好的状态就是,我使用书上的核心算法(扫雷的源代码告诉我作者已经提供了极为精妙的核心算法贯穿整个游戏),但是一些功能模块,譬如获得周围雷的数目等模块自己重写,至于扫雷游戏的主思想即主要算法是可以直接拿来用的。

想到这里,又让我想到了一篇文章,鲁迅的《拿来主义》。鲁迅有一句话:取其精华去其糟粕。写程序的时候也应该这样,别人的优秀算法要拿过来使用,但是不好的地方也要加以优化,这样才能变出效率高质量好的程序代码。

以扫雷这个游戏为借鉴,以后做程序的时候有取舍地使用好的算法和思想,谨记!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值