`
fangzhongteng
  • 浏览: 6323 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

javascript 贪吃蛇

阅读更多
闲来无聊,写点东西,写点啥呢?思来想去,学了点js,那就写个贪吃蛇吧,网上下了个贪吃蛇的源码,看了看。
本来是想用Table的,后来发现那东西比较麻烦,所以就用了div,比较容易控制。
写了以后发现写JS也需要设计,JS代码不想C#代码可以转到定义,所以没有设计很容易乱.我以后要把JS分个模块,每个功能属于模块.

本人新手,学习JS三个月,其中看了EXTJS3.0的API一个月,虽然也能小用点EXTJS,但是总觉的EXTJS集成的太好,不对JS学习点,心里总不踏实,
JS才是基础,所以觉得继续学习JS。现在正在看Javascript权威指南(好称犀牛书).
大家可以下源码看看,可以用砖拍我,但轻点~~呵呵
同时感谢42087743的大虾,我看了你的源码
分享到:
评论
11 楼 cuixiping 2010-11-14  
也太简陋了吧,最好发帖带截图,贴出代码,节省大家时间。
10 楼 daokun66 2010-01-06  
很好,学习了
9 楼 xzhenwangjie 2010-01-06  
和游戏还是有点差距的 BUG还是比较多的
1.蛇能穿自己身体
2.能跨行吃到食物
3.每次初始化 速度没有被重置
.... 鉴定完毕。
不过在我看来已经很强大了
8 楼 fangzhongteng 2010-01-04  
lostpast 写道
不错 加油

谢谢支持
7 楼 fangzhongteng 2010-01-04  
楼主,你“ document.onkeydown = function(e) {”有问题
下面调用的都是event变量,这里你才函数参数是e,所以问题在这里。改成event就可以顺利运行了。
总体上还不错,加油!
大侠,没听咋明白,参数e好像没有使用过啊~~本来我是想测试下onkeydown事件会不会传啥参数过来,后来忘了去掉e了.

如果把e改成event会envent会变成undefind

谢谢你的指点
6 楼 wujiazhao88 2010-01-03  
  startGame: function() {
                Game.initFood();
                Game.snakeInit();
                document.onkeydown = function(e) {

                    //向上
                    if (event.keyCode == 38) {
                        if (Game.moveState == "down" || Game.moveState == "up") {
                            return false;
                        }
                        else {
                            Game.lastMoveState = Game.moveState;
                            Game.moveState = "up";
                        }
                        return false;
                    }
                    //向左
                    else if (event.keyCode == 37) {
                        if (Game.moveState == "right" || Game.moveState == "left") {
                            return false;
                        }
                        else {
                            Game.lastMoveState = Game.moveState;
                            Game.moveState = "left";
                        }
                        return false;
                    }
                    //向右
                    else if (event.keyCode == 39) {
                        if (Game.moveState == "left" || Game.moveState == "right") {
                            return false;
                        }
                        else {
                            Game.lastMoveState = Game.moveState;
                            Game.moveState = "right";
                        }
                        return false;
                    }
                    //向下
                    else if (event.keyCode == 40) {
                        if (Game.moveState == "up" || Game.moveState == "down") {
                            return false;
                        }
                        else {
                            Game.lastMoveState = Game.moveState;
                            Game.moveState = "down";
                        }
                        return false;
                    }
                    //空格
                    else if (event.keyCode == 32) {
                        //假如游戏为停止状态
                        if (Game.gameState == "stop") {
                            Game.gameState = "run";
                            timeID = setInterval(Game.move, Game.speed);
                            return false;
                        }
                        //假如游戏为运行状态
                        else if (Game.gameState == "run") {
                            Game.gameState = "stop";
                            clearInterval(timeID);
                            return false;
                        }
                        //假如游戏为失败状态
                        else if (Game.gameState == "dead") {
                            Game.gameState = "stop";
                            for (var i = 0; i < Game.snake.length; i++) {
                                document.getElementById("gameInterface").removeChild(Game.snake[i]);
                            }
                            Game.snake = [];
                            Game.snakeInit();
                            return false;
                        }
                    }
                }

楼主,你“ document.onkeydown = function(e) {”有问题
下面调用的都是event变量,这里你才函数参数是e,所以问题在这里。改成event就可以顺利运行了。
总体上还不错,加油!
5 楼 lostpast 2010-01-02  
不错 加油
4 楼 tkl211 2010-01-02  
横向移动,有问题,不是一个直线,是两个直线加起来了。。。
3 楼 fangzhongteng 2009-12-30  
Icgemu 写道
IE8、FF3.5运行不了

IE8应该可以,是空格开始~~~
2 楼 Icgemu 2009-12-29  
IE8、FF3.5运行不了
1 楼 fangzhongteng 2009-12-29  
  大家给我点意见!!!  

相关推荐

    JavaScript贪吃蛇小游戏.zip

    JavaScript贪吃蛇小游戏是一款基于网页的互动娱乐项目,利用JavaScript编程语言实现。JavaScript是一种轻量级的解释型编程语言,广泛应用于网页和网络应用开发,它允许在浏览器端执行代码,为用户提供动态交互的体验...

    javascript贪吃蛇(源码)

    【JavaScript贪吃蛇游戏详解】 JavaScript,作为网页开发中的重要脚本语言,具有广泛的用途,不仅可以处理用户交互,还能创建动态、有趣的游戏。本篇将深入解析基于JavaScript编写的贪吃蛇游戏,帮助你理解其背后的...

    Javascript贪吃蛇游戏源码

    JavaScript贪吃蛇游戏是一款经典的基于Web的休闲游戏,利用JavaScript编程语言实现。在这个游戏中,玩家控制一条蛇在网格中移动,通过吃掉食物来增长蛇的长度,同时避开蛇身,因为碰到自身或边界会导致游戏结束。...

    javascript贪吃蛇网页小游戏

    JavaScript贪吃蛇是一款基于网页的经典小游戏,利用JavaScript、jQuery等技术实现。JavaScript是浏览器端的主要脚本语言,负责处理游戏的逻辑和用户交互,而jQuery则简化了DOM操作和事件处理,让代码更加简洁易懂。 ...

    javascript贪吃蛇

    瞎写的,很多功能没实现,比如暂停开始,本来想整合到一起

    javascript贪吃蛇游戏

    javascript贪吃蛇游戏,欢迎下载!

    javaScript贪吃蛇源代码

    JavaScript贪吃蛇是一款基于网页的经典小游戏,通过JavaScript编程语言实现。这款游戏的核心原理是利用JavaScript的事件监听、定时器和数组操作来控制蛇的移动、食物的生成以及碰撞检测。下面我们将详细探讨这些知识...

    javascript贪吃蛇小游戏

    JavaScript贪吃蛇小游戏是一款利用JavaScript编程语言开发的互动娱乐项目,它基于HTML页面展示游戏界面。这个小游戏的设计目的是为了帮助开发者提升JavaScript技能,同时提供一个有趣的学习和交流平台。在这个游戏中...

    javascript开发贪吃蛇游戏

    将上述逻辑整合到一起,一个完整的JavaScript贪吃蛇游戏大致如下: ```javascript // 初始化 // ... document.addEventListener('keydown', (event) =&gt; { // ... }); function gameLoop() { // ... ...

    html+javascript 贪吃蛇(说明详细)

    在这个贪吃蛇游戏中,JavaScript主要负责以下功能: 1. **初始化游戏状态**:定义蛇的位置、方向、长度,以及食物的位置。 2. **事件监听**:监听用户键盘输入,根据按键改变蛇的方向。 3. **游戏逻辑**:每帧更新...

    Javascript贪吃蛇

    JavaScript贪吃蛇是一款基于网页的经典游戏,通过JavaScript编程语言实现,展现了JavaScript在游戏开发中的应用。这款游戏的原理是利用HTML作为展示界面,JavaScript处理游戏逻辑和用户交互,为玩家提供了一个简单但...

    html+JavaScript贪吃蛇原创(详细说明)

    【HTML+JavaScript贪吃蛇原创】是一个经典的网页游戏实现,主要利用HTML作为页面结构,JavaScript进行动态逻辑处理,实现了一款可自定义修改的贪吃蛇游戏。这个游戏的基础原理是利用用户输入控制蛇的移动,当蛇吃到...

    Javascript贪吃蛇.rar

    JavaScript贪吃蛇小游戏是一款经典的基于Web的实现,它利用了JavaScript语言的核心特性,尤其是面向对象编程的概念,为前端初学者提供了很好的实践平台。在这款游戏中,玩家通过控制蛇的移动来吃食物,每次吃到食物...

    JavaScript贪吃蛇.zip

    JavaScript贪吃蛇游戏是一款经典的基于网页的休闲游戏,利用HTML、CSS和JavaScript技术实现。HTML负责构建游戏的基础结构,CSS用于美化游戏界面,而JavaScript则是游戏的核心,处理游戏逻辑、用户交互以及动态更新...

    javaScript贪吃蛇,2048

    JavaScript贪吃蛇与2048是两个非常受欢迎的基于浏览器的娱乐项目,它们都是利用JavaScript这门编程语言实现的。下面将详细讲解这两个项目的实现原理、涉及的技术点以及如何进行开发。 首先,我们来看JavaScript...

    javascript贪吃蛇(面向对象)

    JavaScript贪吃蛇是一款基于面向对象编程的经典小游戏,它利用了HTML、CSS和JavaScript技术来实现。在这个项目中,我们将深入探讨JavaScript的面向对象特性以及如何应用于游戏开发。 首先,JavaScript是一种支持...

    html+javascript贪吃蛇

    贪吃蛇是一款经典的电子游戏,它以其简单而有趣的游戏机制吸引了无数玩家。...本文将详细介绍如何利用这两种技术来创建一个贪吃蛇游戏。...不断学习和实践,可以让你的HTML+JavaScript贪吃蛇游戏变得更加完善和有趣。

Global site tag (gtag.js) - Google Analytics