Javascript 极限编程 - 大小仅为 2048 字节的带 AI 的象棋 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
chenxiao07
V2EX    分享创造

Javascript 极限编程 - 大小仅为 2048 字节的带 AI 的象棋

  •  3
     
  •   chenxiao07 2014-04-30 19:38:58 +08:00 5761 次点击
    这是一个创建于 4189 天前的主题,其中的信息可能已经有所发展或是发生改变。


    花了一下午把以前的某段js代码重构了一下,终于在整个网页大小为2048字节的情况下实现了这个带AI的象棋程序。

    现在这个游戏的特点有:
    1,整个网页大小为2048字节
    2,有简单的图形操作界面
    3,实现了绝大部分的象棋规则和电脑AI,包括但不限于象不能过河,马可以蹩脚,卒过河前不能横走,电脑也会抽将等等。


    目前还存在的问题有:
    1,重炮绝对能将死电脑,百分之百的,不用试了。在容量限制情况没找到好的AI解决方法
    2,将帅可以对立。。
    3,将死之后还可以继续下,一直到把对方的子吃完为止(这算feature么)


    网址在这里,Chrome的话可以正常运行没问题。
    http://2048byte.chen-xiao.com/
    31 条回复    2014-05-06 17:38:16 +08:00
    lyric
        1
    lyric  
       2014-04-30 19:52:54 +08:00
    赢了一局
    yylzcom
        2
    yylzcom  
       2014-04-30 19:56:54 +08:00
    楼主网页里写明了utf-8,但我用chrome(版本 33.0.1750.154)打开,棋子是乱码
    xuc
        3
    xuc  
       2014-04-30 19:58:54 +08:00
    马可以憋腿。。
    icanfork
        4
    icanfork  
       2014-04-30 20:05:17 +08:00
    马可以憋腿,,,,,被搞走一个车,就不想玩了
    chenxiao07
        5
    chenxiao07  
    OP
       2014-04-30 20:17:20 +08:00
    汗,原来马不可以蹩脚

    修好了
    qiongqi
        6
    qiongqi  
       2014-04-30 20:44:18 +08:00
    我把帅吃了,然后游戏没有结束。。
    Perry
        7
    Perry  
       2014-04-30 20:50:46 +08:00
    应该是编码问题:
    haiyang416
        8
    haiyang416  
       2014-04-30 21:04:51 +08:00 via Android
    Chromium 打开乱码
    nsxuan
        9
    nsxuan  
       2014-04-30 21:27:24 +08:00
    我怎样才能写出这样的代码呢
    Lucius
        10
    Lucius  
       2014-04-30 21:40:42 +08:00
    AI智商太低了。。

    rannnn
        11
    rannnn  
       2014-04-30 21:47:52 +08:00
    好牛逼。。。
    chenxiao07
        12
    chenxiao07  
    OP
       2014-04-30 22:16:12 +08:00
    @Lucius 重炮百分之百可以将死电脑

    AI部分暂时只有100字节左右,开局的时候比较弱智。
    chenxiao07
        13
    chenxiao07  
    OP
       2014-04-30 22:17:26 +08:00
    @yylzcom @haiyang416 @Perry 关于乱码,我加了一行<meta cOntent="charset=" />,不知道修好了没
    yylzcom
        14
    yylzcom  
       2014-04-30 22:20:02 +08:00
    @chenxiao07 我这里暂时没效果,还是一样的乱码
    Tink
        15
    Tink  
    PRO
       2014-04-30 22:25:00 +08:00
    乱码
    TF
        16
    TF  
       2014-04-30 22:43:10 +08:00
    ff下棋子
    sujin190
        17
    sujin190  
       2014-04-30 22:48:37 +08:00
    分分钟吧对方老帅干掉,然后分分中自己方老将也被干掉了,然后游戏还在继续。。。
    Numbcoder
        18
    Numbcoder  
       2014-04-30 23:05:00 +08:00
    下了十几分钟,忽然发现我的老将不知道什么时候没了
    honk
        19
    honk  
       2014-04-30 23:22:14 +08:00
    原我下棋也很害,哈哈
    blueandhack
        20
    blueandhack  
       2014-05-01 14:03:26 +08:00
    双方棋子颜色一样?还是因为我色弱的缘故…………
    zzNucker
        21
    zzNucker  
       2014-05-01 14:39:30 +08:00
    @blueandhack 很不幸地告诉你,兄弟你可能是有点色弱。。。。
    viaNull
        22
    viaNull  
       2014-05-01 14:56:13 +08:00
    重炮百分之百可以将死电脑...

    我开局就直奔重炮。。。电脑很聪明的躲避了重跑炮。。。除了这点之外,几乎没发现其他AI ~~
    rankjie
        23
    rankjie  
       2014-05-01 15:01:01 +08:00
    Pete
        24
    Pete  
       2014-05-01 15:02:43 +08:00
    看了很久才发现他走了。
    顺便问问你中文为什么这么好 ==
    phyng
        25
    phyng  
       2014-05-01 18:27:24 +08:00
    喂,虽然我费点劲可以区分出来,但是。。。。。没法下,改个颜色吧
    wuyazi
        26
    wuyazi  
       2014-05-01 18:51:48 +08:00
    将被吃了,还可以走。。
    chuangbo
        27
    chuangbo  
       2014-05-01 20:44:27 +08:00
    好厉害。能详细介绍一下吗?
    Tankpt
        28
    Tankpt  
       2014-05-02 20:04:11 +08:00
    真是牛逼。。点赞
    NovemberEleven
        29
    NovemberEleven  
       2014-05-03 18:56:27 +08:00
    吃了帅没有赢啊。。。
    siteshen
        30
    siteshen  
       2014-05-05 10:45:30 +08:00
    哈哈,大赞最后一个 feature!
    manoon
        31
    manoon  
       2014-05-06 17:38:16 +08:00
    太极限了,有点像汇编的代码。看得头晕。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1218 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 17:35 PVG 01:35 LAX 10:35 JFK 13:35
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86