贪吃蛇简单代码_贪吃蛇游戏代码

贪吃蛇简单代码_贪吃蛇游戏代码$(function(){varbox=$("<divclass=’box’></div>");varArr=[23,22,21];vardirection="right";varnumber=0;varbool=false;//画地图…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 $(function () {
        var box=$("<div class='box'></div>");
        var Arr=[23,22,21];
        var direction="right";
        var number=0;
        var bool=false;
        //画地图
        for(var i=0;i<20*20;i++){
            if(i<20){
                var div=$("<div class='qiang'>"+i+"</div>");
            }else if(i%20==0){
                var div=$("<div class='qiang'>"+i+"</div>");
            }else if((i+1)%20==0){
                var div=$("<div class='qiang'>"+i+"</div>");
            }else if(i>20*19){
                var div=$("<div class='qiang'>"+i+"</div>");
            }else {
                var div=$("<div class='kong'>"+i+"</div>");
            }
            box.append(div);
        }


        //蛇
        function she(snakeArr) {
            for(var i=0;i<snakeArr.length;i++){
                $("div").eq(snakeArr[i]+1).removeClass();
                $("div").eq(snakeArr[i]+1).addClass("snake");
            }
        }

        //食物
        function food() {
        var foodNum=parseInt(Math.random()*20*20);
        if(foodNum<20|| foodNum%20==0|| (foodNum+1)%20==0|| foodNum>20*19 ){
            food();
        }else {
            if( $("div").eq(foodNum+1).attr("class")=="snake"){
                food();
            }else {
                $("div").eq(foodNum+1).removeClass();
                $("div").eq(foodNum+1).addClass("food");
            }
        }
        }

        //移动蛇
        function moveSnake(snakeArr) {
            timer=setInterval(function () {
                if(direction=="left"){
                    var head=snakeArr[0]-1;
                }else if(direction=="right"){
                    var head=snakeArr[0]+1;
                }else if(direction=="up"){
                    var head=snakeArr[0]-20;
                }else if(direction=="down"){
                    var head=snakeArr[0]+20;
                }

                //判断是否撞墙
                if($("div").eq(head+1).attr("class")=="qiang"||$("div").eq(head+1).attr("class")=="snake"){
                    clearInterval(timer);
                    // alert("结束");
                    $("span").show();
                    return;
                }else if($("div").eq(head+1).attr("class")!="food"){
                    $("div").eq(snakeArr[snakeArr.length-1]+1).removeClass();
                    $("div").eq(snakeArr[snakeArr.length-1]+1).addClass("kong");
                    snakeArr.length=snakeArr.length-1;
                }else if($("div").eq(head+1).attr("class")=="food"){
                    number++
                    $("button").html(number);
                    food();
                }
                snakeArr.unshift(head);
                she(snakeArr);
                bool=false;
            },300);
        }

        //控制方向
        function kzfx() {
            document.onkeydown = function (event) {
                if (bool) {
                    // console.log("不可改变方向")
                    return;
                }
                var temp = event.keyCode;
                if (temp == 37) {
                    if (direction == "right") {
                        return;
                    } else {
                        bool = true;
                        direction = "left";
                    }
                } else if (temp == 38) {
                    if (direction == "down") {
                        return;
                    } else {
                        bool = true;
                        direction = "up";
                    }
                } else if (temp == 39) {
                    if (direction == "left") {
                        return;
                    } else {
                        bool = true;
                        direction = "right";
                    }
                } else if (temp == 40) {
                    if (direction == "up") {
                        return;
                    } else {
                        bool = true;
                        direction = "down";
                    }
                }
            }
        }
        

        $("body").append(box);
        $("button").click(function () {
            moveSnake(Arr);
            she(Arr);
            food();
            kzfx();
        })
    })
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197089.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解决Win键不能用的问题[通俗易懂]

    解决Win键不能用的问题[通俗易懂]问题描述:突然有一次,乱按了一通键盘,突然win键就不能使用了;win键既可以启动开始界面,同时又是win自带的快捷键的关键按键,比较重要。解决方法:发现自己的问题就是:按fn+F12(他会带一个小锁的键)就是锁定Win键;我解决的办法就是:按fn+Prtsc(他会带一个小钥匙的键)这样就可以使用Win键了;可能是以为电脑而异吧,多试一下上面的按键…

    2022年6月3日
    36
  • noscript 标签

    noscript 标签noscript标签中的元素中的内容只有在下列情况下才会显示出来:浏览器不支持脚本浏览器支持脚本,但脚本被禁用noscript标签是一个相当古老的标签,其被引入的最初目的是帮助老旧浏览器的平滑升级更替,因为早期的浏览器并不能支持JavaScript。noscript标签在不…

    2025年8月1日
    7
  • java finalize方法_实例分割模型

    java finalize方法_实例分割模型作者源代码已经开源,因此更新了结合作者源代码分析的网络实现部分此外,SOLOv2论文已经发布https://arxiv.org/abs/2003.10152,

    2022年8月23日
    6
  • Voliate

    Voliate1、voliate的理论作用:A、保证可见性B、保证指令不重新排2、可见性原理:a.保证写后的数据马上回写到系统内存b。根据缓存一致性协议,保证写后,数据在总线声明为过期,其他已经读取过这个变量的处理器会通过嗅探技术,发现自己的数据内存被修改,声明无效,如果要修改,则会重新去读取,但是,如果不修改,则不会去读取c.不能保证原子性代码:while(i==1){i++;}…

    2022年4月28日
    72
  • Python爬虫常用:谷歌浏览器驱动——Chromedriver 插件安装教程

    Python爬虫常用:谷歌浏览器驱动——Chromedriver 插件安装教程我们在做爬虫的时候经常要使用谷歌浏览器驱动,今天分享下这个Chromedriver插件的安装方法。第一步、打开谷歌浏览器打开设置面板第二步、查看当前谷歌浏览器版本号第三步、点击插件下载,进去这个界面,找到跟自己谷歌浏览器版本号最相近的那一个。下载地址:插件下载这里有许多的版本,注意icons/向下的版本是无用的。选择icons/以上的版本,越靠近icons/的版本越新。第四步、找到对应版本后点击它计进入这个页面,点击notes.txt查看与Chrome版本是否对应。第五步、回

    2022年5月11日
    62
  • Spring batch教程 之 spring batch简介

    Spring batch教程 之 spring batch简介SpringBatch介绍在企业领域,有很多应用和系统需要在生产环境中使用批处理来执行大量的业务操作.批处理业务需要自动地对海量数据信息进行各种复杂的业务逻辑处理,同时具备极高的效率,不需要人工干预.执行这种操作通常根据时间事件(如月末统计,通知或信件),或者定期处理那些业务规则超级复杂,数据量非常庞大的业务,(如保险赔款确定,利率调整),也可能是从内部/外部系统抓取到的各种数据,通常需要

    2022年5月11日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号