查看: 5838|回复: 0
打印 上一主题 下一主题

一个js写的搬运工游戏

[复制链接]
跳转到指定楼层
1#
发表于 2007-10-5 22:02:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
<script>
//BlueIdea Web Team . darkvn版权所有.
var smapdata = new Array(
"11111111111111111111",
"10000000000000000001",
"10010000000000000001",
"10010020000000000001",
"10010000000000000301",
"10010111110000003001",
"10000001000000000301",
"10000001000010000001",
"10000001000000000001",
"10000001000000111001",
"10000000000000000001",
"10000000011110000001",
"10020200000000000001",
"10000000000000000001",
"11111111111111111111"
)//原始地图信息,便于编辑地图。

var mapData =new Array(15);
var spriteX=0;
    spriteY=0;
var winbox=0;

function readMap(){ //重建地图信息便于程序使用。
  for(var i=0;i<15;i++){
    mapData=new Array(20);
    for(var j=0;j<20;j++){
      mapData[j]=smapdata.substr(j,1);
    }
  }
}

function CreateMap(){ //用dom来创建地图。
var x=30;
var y=30;
var cbox=0;
for (var i=0;i<15;i++){
for (var j=0;j<20;j++){
var oe=document.createElement("div");
    oe.id="box"+i+"_"+j; //设定id规则以便后面程序访问。
    oe.className="map"+mapData[j];
    oe.style.pixelLeft=x;
    oe.style.pixelTop=y;
    gameArea.appendChild(oe);
    x+=19;
}
y+=19;
x=30;
}
}

function move(dir){
var dx=0;
var dy=0;
if(dir=="Left")  dx=-1;
if(dir=="Right") dx=1;
if(dir=="Up") dy=-1;
if(dir=="Down") dy=1;
        if(mapData[spriteY+dy][spriteX+dx]=="1" ) return;
        if(mapData[spriteY+dy][spriteX+dx]=="2" ) {
                if(mapData[spriteY+dy*2][spriteX+dx*2]=="0" || mapData[spriteY+dy*2][spriteX+dx*2]=="3"){
                if(mapData[spriteY+dy*2][spriteX+dx*2]=="3"){
                                mapData[spriteY+dy*2][spriteX+dx*2]="1";
                                winbox++;
                                if(winbox==3) win();
                                }
                        else mapData[spriteY+dy*2][spriteX+dx*2]="2";
                mapData[spriteY+dy][spriteX+dx]="0";
                eval("box"+(spriteY+dy)+"_"+(spriteX+dx)).style.backgroundColor='#333333';
                eval("box"+(spriteY+dy*2)+"_"+(spriteX+dx*2)).style.backgroundColor='#3333FF';
                spriteX+=dx;
                spriteY+=dy;
                sprite.style.pixelLeft+=dx*19;      
                sprite.style.pixelTop+=dy*19;      
                }
        }else{
                spriteX+=dx;
                spriteY+=dy;
                sprite.style.pixelLeft+=dx*19;      
                sprite.style.pixelTop+=dy*19;      
        }
}

function win(){
alert("you win!!!!!!!!!!!!!");
}

function fnKeydown(){
var key=event.keyCode;
switch(key){
case 37:
  move("Left");
  break;
case 39:
  move("Right");
  break;
case 38:
  move("Up");
  break;
case 40:
  move("Down");
  break;
}
return false;
}

function init(){
readMap();
CreateMap();
sprite.style.pixelLeft=49;
sprite.style.pixelTop=49;
spriteX=1;
spriteY=1;
}

document.onkeydown=fnKeydown;
</script>

<STYLE TYPE="text/css">
.map0{position:absolute;border:1px solid #999999;width:20;height:20;background-color:#333333}
.map1{position:absolute;border:2px outset #FFFFFF;width:20;height:20;background-color:#999999}
.map2{position:absolute;border:1px solid #999999;width:20;height:20;background-color:#3333FF}
.map3{position:absolute;border:0px solid #999999;width:20;height:20;background-color:#006600}
.box{position:absolute;border:1px outset #ffffff;width:20;height:20;background-color:#0000cc}
}
</STYLE>

<body bgColor=#333333 onload="init()">
<div id=gameArea></div>
<div id="sprite" style="position:absolute"><img src="pics/face/19.gif" height=20 width=20></div>
</body>
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表