经典贪吃蛇蛇真的有人类能通关么

一个很精致(个人是这么认为的,尽管没有界面)的JavaScript贪吃蛇游戏
[问题点数:40分,结帖人Wind__Fantasy]
一个很精致(个人是这么认为的,尽管没有界面)的JavaScript贪吃蛇游戏
[问题点数:40分,结帖人Wind__Fantasy]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2010年6月 Web 开发大版内专家分月排行榜第三2009年7月 Web 开发大版内专家分月排行榜第三
2010年12月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
2011年4月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第三2011年3月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第三2010年11月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第三2010年10月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第三
2010年10月 Web 开发大版内专家分月排行榜第三
2011年5月 VB大版内专家分月排行榜第三2011年4月 VB大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。您当前位置: >
> 《世界大恐慌》评测:机械贪吃蛇与人类的战争
《世界大恐慌》评测:机械贪吃蛇与人类的战争
& & 由著名游戏《水果忍者》开发商Halfbrick推出的贪吃蛇式休闲游戏《世界大恐慌》已经发布了。游戏中玩家不再扮演正义的人类,而是要操纵一条巨型机械贪吃蛇来攻击人类。游戏采用的日本80年代的画风颇有新意,其玩法在休闲的基础上也增加了不少创新,可以说是休闲玩家必玩的佳作。&&&&关于《世界大恐慌》这款游戏的一些情况和玩法,此前我们通过不少新闻和视频位大家介绍过,游戏的开头就是电视新闻紧急报道巨型机械怪物接近地球,表现出人类的迷茫和恐慌,“祈祷它不要做出攻击决定”,结果话音未落,发动攻击的选择权就落在玩家手上了。&&&&首先盯上的是世界经济大国维托洛尼亚,这个怪物貌似没有生命也没有意识,但它却像输入了攻击指令那样,只要一着陆就会发动攻击,直至它被人类军队打败的那一刻。不管遇到什么建筑也好、军队也好通通一扫而光,不过作为一款休闲游戏,里面是不会出现真正血腥和恐怖的,所以貌似你看到的大摧毁都是工厂军队和建筑遭殃,不必担心出现什么儿童不宜的画面。&&&&巨怪发动攻击主要是依靠身上的各个能量块,就像塔防作战那样,每个能量块既是贪吃蛇身体的组成部分,又是武器,不同颜色的能量块具有不同的攻击方式,另外还有负责回复维修的专门能量块。当摧毁一定程度的物体之后,巨怪身上发射的各种激光、炸弹、光束的辐射就会生产出一个能量块,漂浮在地面上,玩家要做的工作就是拖动这些独立的能量块组合到巨怪身体上,让这个怪物像贪吃蛇那样越来越长,火力也越来越猛。&&&&不断地收集收集,欣赏着热闹火爆的画面,听着新闻直播里播音员和军队指挥的声音,气氛烘托得很浓烈,和简单快速的游戏节奏相互衬托。游戏的玩法很简单,不过其中还是有不少技巧,虽然说只要收集能量块就能变强,但能量块的组合却是需要好好掌握的。比如红蓝两色能量块挨在一起就会合成紫色的修复型能量块,黄蓝两色会组合成绿色,黄红两色则组成橙色的能量块等等,另外还有更重要的,那就是三个同样颜色的能量块会组合成高级能量块,具有更强大的杀伤力和耐打击力,所以要把收集到的新能量块安放在哪里,怎么组合,这还是很有讲究的。&&&&&此外在摧毁的过程中,人类会派出越来越强大的军事力量来抗衡,有时候光靠普通能量块的火力是不足的,尽快去收集一些特殊的能量块,比如加速射击和爆炸,利用它们的威力来扭转被军队包围的局面。一些重要的人类措施中隐藏着对巨怪意义重大的“棱镜”,非常珍贵,收集到棱镜就可以对能量块进行升级,让巨怪变得更强。&&&&&每关都有特定的摧毁目标,完成之后就过关了。摧毁获得的资金一般会用来交换棱镜,或者在战斗开始前修复、购买、调整、和强化能量块,不过价钱都相当昂贵,毕竟人家可是巨怪啊。&&&&《世界大恐慌》虽然用的经典的贪吃蛇模式,但是却丝毫不缺创新点。游戏的音乐和画面都很不错,原生的中文界面也让人倍感亲切,总的来说这是一款相当爽快的休闲游戏,强烈推荐。
7723游戏盒子
黄金圣斗士
三国志威力加强版
请向您的好友推荐,多谢支持!
Copyright (C) 手机游戏网 All Rights Reserved
闽ICP备号-1贪吃蛇玩成这样,真的是太牛逼了
发布: 12:35:18作者:微博搞笑排行榜
贪吃蛇玩成这样,真的是太牛逼了![赞]「转」
大家都在看
48小时点击榜
Copyright (C)
Inc. All Rights Reserved.
上海看看牛视网络传播有限公司 版权所有周末实在无聊,自己写了一遍被人写烂了的“贪吃蛇”,欢迎各位新手低手高手老手前来吐槽哈哈 - Mr Code - 博客园
随笔 - 19, 文章 - 0, 评论 - 24, 引用 - 0
&!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&
&html xmlns="http://www.w3.org/1999/xhtml"&
&title&贪吃蛇 作者:记忆中的马肠河&/title&
&script type="text/javascript"&
window.onload = function () {
var snake = {
//移动方向
fangxiang: "left",
snakeBody: [],
box: document.getElementById("snakeBox"),
move: function () {
var timer = "";
//判断是否GameOver
var isFailed = function () {
//判断蛇头是否碰到蛇身
var isHeadRunIntoBody=function(){
var t=false;
for(var i=0;i&snake.snakeBody.length-1;i++){
if(snake.snakeBody[snake.snakeBody.length-1].x==snake.snakeBody[i].x&&
snake.snakeBody[snake.snakeBody.length-1].y==snake.snakeBody[i].y
//判断条件:是否蛇身碰到蛇头、是否蛇头碰到墙壁
isHeadRunIntoBody()||
snake.snakeBody[snake.snakeBody.length - 1].x & snake.box.offsetLeft + parseInt(snake.box.style.borderWidth) + snake.box.clientWidth - 10
|| snake.snakeBody[snake.snakeBody.length - 1].x & snake.box.offsetLeft + parseInt(snake.box.style.borderWidth)
|| snake.snakeBody[snake.snakeBody.length - 1].y & snake.box.offsetTop + parseInt(snake.box.style.borderWidth)
|| snake.snakeBody[snake.snakeBody.length - 1].y & snake.box.offsetTop + parseInt(snake.box.style.borderWidth) + snake.box.clientWidth - 10
//清除定时器
clearTimeout(timer);
alert("Game over!");
return false;
//存放蛇头
var snakeHead = snake.snakeBody[snake.snakeBody.length - 1];
//去除蛇尾
var sheWei = snake.snakeBody.shift();
switch (snake.fangxiang) {
case "up":
sheWei.x = snakeHead.x;
sheWei.y = snakeHead.y - 10;
case "down":
sheWei.x = snakeHead.x;
sheWei.y = snakeHead.y + 10;
case "left":
sheWei.x = snakeHead.x - 10;
sheWei.y = snakeHead.y;
case "right":
sheWei.x = snakeHead.x + 10;
sheWei.y = snakeHead.y;
//把蛇尾放到蛇头
snake.snakeBody.push(sheWei);
//每次移动蛇身,都去吃食物.
snake.eatFood();
//是否失败
var ISF = isFailed();
//如果失败,不再绘制;
if (!ISF && ISF != undefined) {
snake.drawSnake();
//蛇身移动的定时器
timer = setTimeout(snake.move, 500);
drawSnake: function () {
//清空已绘制的蛇身
var bc = snake.box.childN
for (var i = 0, len = bc. i & i++) {
var tn = bc[i];
var tng = tn.tagN
if (tng) {
var id = bc[i].getAttribute("id")
if (tng.toLowerCase() == "div" && id != "foodDiv") {
snake.box.removeChild(bc[i]);
//没删除一个节点索引退一步
//判断是否是第一次加载蛇身,如果是,则添加蛇头
if (snake.snakeBody.length == 0) {
var a = {};
a.x = Math.floor(19 * Math.random()) * 10 + snake.box.offsetLeft + parseInt(snake.box.style.borderWidth);
a.y = Math.floor(19 * Math.random()) * 10 + snake.box.offsetTop + parseInt(snake.box.style.borderWidth);
}while((function(){
//第一次添加蛇头的时候不能让蛇头挨着边框
if(a.x==snake.box.offsetLeft + parseInt(snake.box.style.borderWidth)
||a.x+10==snake.box.offsetLeft + parseInt(snake.box.style.borderWidth)+snake.box.clientWidth
||a.y==snake.box.offsetTop+parseInt(snake.box.style.borderWidth)
||a.y+10==snake.box.offsetTop+parseInt(snake.box.style.borderWidth)+snake.box.clientHeight
return true;
return false;
snake.snakeBody.push(a);
//遍历存放蛇的数组并绘制在页面上
for (var b in snake.snakeBody) {
var d = document.createElement("div");
d.style.backgroundColor = 'red'; d.style.border = "0px solid green"; d.style.position = 'absolute'; d.style.zIndex = '1';
d.style.width = '10px'; d.style.height = '10px';
d.style.left = snake.snakeBody[b].x + "px"; d.style.top = snake.snakeBody[b].y + "px";
snake.box.appendChild(d);
eatFood: function () {
var foodObj = food.getFood();
//判断蛇头是否与食物重合,如果是,则把食物作为蛇头
snake.snakeBody[snake.snakeBody.length - 1].x == foodObj.offsetLeft
&& snake.snakeBody[snake.snakeBody.length - 1].y == foodObj.offsetTop
var o = {};
switch (snake.fangxiang) {
case "left":
o.x = snake.snakeBody[snake.snakeBody.length - 1].x - 10;
o.y = snake.snakeBody[snake.snakeBody.length - 1].y;
case "right":
o.x = snake.snakeBody[snake.snakeBody.length - 1].x + 10;
o.y = snake.snakeBody[snake.snakeBody.length - 1].y;
case "up":
o.x = snake.snakeBody[snake.snakeBody.length - 1].x;
o.y = snake.snakeBody[snake.snakeBody.length - 1].y - 10;
case "down":
o.x = snake.snakeBody[snake.snakeBody.length - 1].x;
o.y = snake.snakeBody[snake.snakeBody.length - 1].y + 10;
//把原来的食物删除
snake.box.removeChild(foodObj);
//把吃到的食物加到蛇头
snake.snakeBody.push(o);
//重新绘制食物
food.foodMake();
var food = {
//生成食物
foodMake: function () {
//定义食物出现的位置
x = Math.floor(19 * Math.random()) * 10 + snake.box.offsetLeft + parseInt(snake.box.style.borderWidth);
y = Math.floor(19 * Math.random()) * 10 + snake.box.offsetTop + parseInt(snake.box.style.borderWidth);
} while ((function () {
//蛇身是否在该位置,如果蛇身和食物重合则重新生成食物
var t = false;
for (var o in snake.snakeBody) {
t = snake.snakeBody[o].x == x && snake.snakeBody[o].y == y
var d = document.createElement("div");
d.style.backgroundColor = 'red'; d.style.border = "0px solid green"; d.style.position = 'absolute'; d.style.zIndex = '1';
d.style.width = '10px'; d.style.height = '10px'; d.setAttribute("id", "foodDiv"); //设置食物的ID用于区别蛇身
d.style.top = x + "px"; d.style.left = y + "px";
return snake.box.appendChild(d); //返回新生成的食物
//得到食物
getFood: function () {
return document.getElementById("foodDiv");
//先绘制食物
food.foodMake();
//绘制并移动蛇身
snake.drawSnake().move();
//控制方向键
document.onkeydown = function (event) {
var e = event || window.
switch (e.keyCode) {
if (snake.fangxiang != "right") {
snake.fangxiang = "left";
if (snake.fangxiang != "down") {
snake.fangxiang = "up";
if (snake.fangxiang != "left") {
snake.fangxiang = "right";
if (snake.fangxiang != "up") {
snake.fangxiang = "down";
&body style='text-align: center'&
&div id='snakeBox' style='border: 1 width: 200 height: 200px'&

我要回帖

更多关于 贪吃蛇通关 的文章

 

随机推荐