linukso吧 关注:1,480贴子:173,636

2048 in OCaml

只看楼主收藏回复

--------------------------------------------
> 明显的一稿多投,不能少了解放区
--------------------------------------------
最近 2048 这个游戏太热,用什麼语言写都有,没看到有用 OCaml 的,正好 OCaml 自带图形库,可以省去第三方依赖,就用 OCaml 写了个
GUI 的

ascii art 的

编译需要 OCaml 4.01
代码放在 github 和 bitbucket 上,用户名是 pyx,项目名是 2048.ml
写了篇博粗略说,代码页面上有网址,网址可找到


1楼2014-03-22 06:24回复


    IP属地:河南来自iPhone客户端2楼2014-03-22 07:45
    回复
      2026-02-07 10:52:29
      广告
      不感兴趣
      开通SVIP免广告
      看来我真是个土鳖,听都没听过


      IP属地:美国3楼2014-03-22 08:00
      收起回复


        4楼2014-03-22 09:38
        回复
          hjkl是vi的节奏


          IP属地:上海来自Android客户端5楼2014-03-22 09:54
          回复
            八叔是绿营?御坂刺探隐私道。


            6楼2014-03-22 12:58
            收起回复
              弱弱地问句,2048是什么游戏


              7楼2014-03-22 15:12
              收起回复
                7楼:
                移动格子游戏,现在的贴吧不容易发链接。按照顶楼描述去项目主页,我 README 写的第一个链接就是原版游戏。
                这个是我用 OCaml 实现的 clone
                表面的不同点是原版是网页,我的是本地程序,原版有算分数,而我没实现(因为只是消去的数值总和,我觉得无甚意义)
                内裏的不同点主要是我的版本实现玩的操作使用了 monad,因此一些 bind 的操作用起来很方便
                例如,生成一个新的游戏,先放两个格子,然后向上移动,然后看看游戏是否完结,可以写成这样
                playing board >>= spawn >>= spawn >>= move_up >>= check
                README 裏的链接有我写的粗略讲了一下这个
                我怀疑另外有两个 haskell 的实现(没有去看)应该也使用了类似概念,或者直接使用 lense 等


                8楼2014-03-22 15:37
                回复
                  2026-02-07 10:46:29
                  广告
                  不感兴趣
                  开通SVIP免广告
                  根本停不下来系列


                  IP属地:广东9楼2014-03-22 16:09
                  回复
                    https://github.com/pyx/2048.ml
                    新增加了分数和步计算
                    分数和步统计用了手动写的半个 writer monad
                    忘记了移动还可以用 maybe monad(ocaml 裏是 option),有时间改


                    13楼2014-03-25 07:06
                    收起回复
                      http://xrefactor.com/blog/2048-in-ocaml


                      14楼2014-03-25 07:08
                      回复
                        若干年后,当记者们采访8pm嫂:是什么让您当年决定嫁给8pm叔了?
                        8pm嫂笑靥如花,羞赧地吐露道:遇到一个会用OCaml写2048的男子就嫁了吧。


                        IP属地:河南15楼2014-03-25 08:58
                        收起回复

                          http://pivoint.com/2048/


                          16楼2014-03-25 23:45
                          收起回复