VBA版本的2048



  • 今天珂珂给大家带来了VBA版本的2048
    这次推送不会以technical的东西为主,而是打算主要讲一下做它时候的心得叭。

    为什么想到要用excel做2048呢?因为excel本身就是格子嘛,和2048的游戏设计很像。而且excel的条件格式也相当适合做不同格子的颜色。

    6b86d662-39b8-4d51-933f-c061e4babfb4-image.png
    为了做这个游戏,我仔细研究了2048的游戏规律。游戏的最开始任意两个格子会出现2。
    ba7db7d1-c561-406a-86a7-d507c3a1363b-image.png
    游戏进行过程中,滑动到上下左右,格子会向特定方向移动,并和相邻且值相同的格子合并在一起。同时会在另一端凭空出现另一个值为2或者4的格子。根据我的观察,出现2的概率大概是70%。因此,在我的游戏中,为了简化游戏,我只考虑了值为2的情况。
    1ef893b5-cfbe-4d6b-bd00-2d2bd528ae0e-image.png
    有了这个游戏后,我想探究的核心问题是,有策略地玩2048究竟能比没有策略下的2048好多少?
    于是我设定了一个程序,让这个游戏随机跑,统计最后得到的数字是多少。(比如说你玩到512单元格就被填满了,那么这个数是512。)
    因为excel带不动太大的循环,我就只跑了200次。结果如下:
    d8314e9d-b6d9-4e00-8ef0-54f904104a64-image.png
    也就是说,大多数情况下随机跑只能跑出64来,最高的情况下能达到256。
    看起来是比我自己玩的结果的差一些。但是如果要得到确切的结论,最好进行假设检验,看看这个区别是否显著。
    假设检验大家可以思考一下要怎么做,给我们留言。
    如果大家对代码感兴趣的话,我把代码放到了论坛上,很多写的不太好的地方,欢迎大家来和我讨论。
    如果想要了解更多数据科学知识,欢迎来论坛提问,我们有问必答。可以涉及R,Python, VBA,JS等。我们支持markdown排版。
    等你来。


    登录后回复
     


  • code.rar
    代码附上


登录后回复