VBA版本的2048
-
今天珂珂给大家带来了VBA版本的2048
这次推送不会以technical的东西为主,而是打算主要讲一下做它时候的心得叭。为什么想到要用excel做2048呢?因为excel本身就是格子嘛,和2048的游戏设计很像。而且excel的条件格式也相当适合做不同格子的颜色。
为了做这个游戏,我仔细研究了2048的游戏规律。游戏的最开始任意两个格子会出现2。
游戏进行过程中,滑动到上下左右,格子会向特定方向移动,并和相邻且值相同的格子合并在一起。同时会在另一端凭空出现另一个值为2或者4的格子。根据我的观察,出现2的概率大概是70%。因此,在我的游戏中,为了简化游戏,我只考虑了值为2的情况。
有了这个游戏后,我想探究的核心问题是,有策略地玩2048究竟能比没有策略下的2048好多少?
于是我设定了一个程序,让这个游戏随机跑,统计最后得到的数字是多少。(比如说你玩到512单元格就被填满了,那么这个数是512。)
因为excel带不动太大的循环,我就只跑了200次。结果如下:
也就是说,大多数情况下随机跑只能跑出64来,最高的情况下能达到256。
看起来是比我自己玩的结果的差一些。但是如果要得到确切的结论,最好进行假设检验,看看这个区别是否显著。
假设检验大家可以思考一下要怎么做,给我们留言。
如果大家对代码感兴趣的话,我把代码放到了论坛上,很多写的不太好的地方,欢迎大家来和我讨论。
如果想要了解更多数据科学知识,欢迎来论坛提问,我们有问必答。可以涉及R,Python, VBA,JS等。我们支持markdown排版。
等你来。
-
code.rar
代码附上