• 简单贪吃蛇


    js代码: 游戏的对象 ,食物,蛇 ,游戏控制思路如下 (完整代码在https://github.com/774044859yf/ObjectSnakeGame下载)

    var snake = {

            aSnake: [],//添加蛇的数组
            size: 20,//蛇的大小,每块身体的size
            top: 200,//初始位置
            left: 400,//初始位置
            speed: 250,//初始速度
            level: 1,//初始游戏等级
            len: 3,//蛇身长度默认3个单位
    direction: 'left',//方向默认向左走
    create: function () {//创建初始蛇},
            move: function () {//移动时 遍历蛇的身体div 设置的位置等于前一个的位置
            	snake.check();//移动的时候时刻检查是否撞到墙或自身
    		snake.eat();//移动时时刻检查是否吃掉食物
            },
            check: function () {// 检查蛇头部的位置(死亡 吃东西)
    	},
            grow: function () {//蛇吃东西增长方法
    	},
            eat: function () {//吃东西方法
    		if(){//吃掉东西
    			snake.grow()
    		}
            }
        };
    
    由于食物会重复调用 ,所以建成类,每次创建食物时new一下就行了
    把类的方法添加在类的prototype对象下
    function Food() {}
    Food.prototype.default = function () {//初始化食物的位置
       
    };
    Food.prototype.create = function () {//创建随机生成的食物
        
    };
    根据需求创建游戏控制
    var game = {
        inter: 'inter',
        init: function () {//根据自己的需求初始化游戏
    var food = new Food();
            food.default();//生成定位食物
    snake.create();//生成蛇
        },
        start: function () {//蛇开始动
            game.inter = setInterval(snake.move,snake.speed/snake.level);
        },
        stop: function () {
            clearInterval(game.inter)
        }
    };
    //调用游戏初始化
    game.init();
    
    初学js有什么错误请见谅,欢迎您指出错误并提出建议 ,谢谢~
  • 相关阅读:
    【剑指offer】3-数组中重复的数字
    自定义管道遇到问题解决方案
    vue的双向绑定示例
    子组件传递给父组件数据
    vue里的共享对象示例
    mysql里的explain介绍
    mysql索引
    修改MySQL字符集
    v-model修饰符示例
    vue下拉列表示例
  • 原文地址:https://www.cnblogs.com/520lin/p/5744104.html
Copyright © 2020-2023  润新知