72行代码贪吃蛇

稿件来源: csdn论坛   撰稿作者: 雾海树妖   发表日期: 2013-06-28   阅读次数: 76   查看权限: 游客查看

牛人在csdn论坛发布的原创贪吃蛇

<script type='text/javascript'>
X = Y = 30;
var S='';
for (var y = 0; y < Y; y++)
    for (var x = 0; x < X; x++)
        S+='<div style="display:inline-block;_display:inline;width:10px;height:10px;font-size:1px;background-color:#c0c0c0;" id="x' + x + 'y' + y + '"></div>'+(x == X - 1?'<br>':'');
document.write(S);
var sk = {
    Snake: [[X >> 1, Y >> 1]],
    Dir: [0, 1]
};
function $(xy) {
    return document.getElementById('x' + xy[0] + 'y' + xy[1]);
}
function setc(obj, color) {
    obj.style.backgroundColor = color;
}
var cancel, R ,add = 2;
(function() {
    cancel = 0;
    var st;
    with(sk) {
        for (var i=Snake.length; i--;) {
            if(i==Snake.length-1){
                setc($(Snake[i]), '#c0c0c0');
                st = Snake[i].join(',').split(',');
            }
            i && setc($(Snake[i] = Snake[i - 1].join(',').split(',')), 'blue');
            if (uequ(Snake[i], R)) R = 0 * ++add;
        }
        if (add) {
            --add;
            Snake.push(st);
        }
        Snake[0][0] += Dir[0];
        Snake[0][1] += Dir[1];
        var res;
        if (res = ('x'+Snake.join('xx')+'x').match(new RegExp('x'+X + ',|,' + Y + 'x|-|(x\\d+,\\d+x).*?x\\1', 'ig')))
            return alert(((res + '').match(/x.+?x/) ? '咬到自己!': '撞墙!'));
	setTimeout(arguments.callee,100);
        setc($(Snake[0]), 'red');
    }
    setc($(R = R || [Math.random() * X | 0, Math.random() * Y | 0]), 'green');
})();
document.onkeydown = function(e) {
    e = e || event;
    e = e.keyCode || e.which;
    var w = {
        '38': [0, -1],
        '39': [1, 0],
        '40': [0, 1],
        '37': [ - 1, 0]
    };
    if (!cancel && !uequ(sk.Dir, w[e])) {
        cancel = sk.Dir = w[e]||sk.Dir;
    }
};
function uequ(a1, a2) {
    return (a1 + '\n' + a2).replace(/-|,/g, '').match(/^(\d+)\n\1$/);
}
alert('按确定开始游戏!');
</script>

关键词: csdn,贪吃蛇   编辑时间: 2013-06-28

  • 感到高兴

    0

    高兴
  • 感到支持

    0

    支持
  • 感到搞笑

    0

    搞笑
  • 感到不解

    0

    不解
  • 感到谎言

    0

    谎言
  • 感到枪稿

    0

    枪稿
  • 感到震惊

    0

    震惊
  • 感到无奈

    0

    无奈
  • 感到无聊

    0

    无聊
  • 感到反对

    0

    反对
  • 感到愤怒

    0

    愤怒
0%(0)
0%(0)
共有0 条评论 发言请遵守【相关规定

网友评论

会员头像
发 表同步腾讯微博    验证码:  点击更新请先登陆
  • 暂无评论
关闭模块文章图片 article Pictrue
  • 我的妈妈爸爸
  • 基于koa2+mysql+vue2.0+Element阳光内容管理系统
  • 代码覆盖率工具 Istanbul 入门教程
  • 全栈工程师的武器——MEAN
  • 9款超炫的 CSS3 复选框(Checkbox)
  • 微信开发在线翻译功能
  • CSS3那些不为人知的高级属性
  • 给easyui的datebox添加清空事件
  • flash写字效果
  • kendoUI系列教程之DropDownList下拉菜单
  • kendoUI系列教程之datetimepicker日期时间选择
  • kendoUI系列教程之datepicker日期选择
  • kendoUI系列教程之combobox下拉列表框
  • kendoUI系列教程之colorpicker
  • kendoUI系列教程之calendar日历表
  • kendoUI系列教程之autocomplete自动补齐