导航:首页 > 编程语言 > js简单游戏的代码

js简单游戏的代码

发布时间:2023-09-05 11:40:20

『壹』 js简单回合制小游戏

java">varboss=[
{name:"校长",energy:10000},
{name:"教务主任",energy:8000},
{name:"系主任",energy:6000},
{name:"辅导员",energy:5000},
{name:"任课老师",energy:12000}
];
varhero=[
{name:"小张",energy:7000},
{name:"小王",energy:7000},
{name:"小强",energy:7000}
];
varn=prompt("选择一个英雄(0:小张,1:小王,2:小强)","");
varh=hero[n];
varb=boss[Math.floor(Math.random()*boss.length)];
vari=1;
while(true){
varhit=Math.floor(Math.random()*800);
varbit=Math.floor(Math.random()*1000);
h.energy-=bit;
b.energy-=hit;
if(b.energy>0&&h.energy<=0){
alert("winnerisboss");
break;
}elseif(h.energy>0&&b.energy<=0){
alert("winnerishero");
break;
}elseif(h.energy<=0&&b.energy<=0){
alert("DRAWGAME");
break;
}
alert("第"+i+++"次回合,英雄:"+h.name+"的能量剩余:"+h.energy+",怪兽"+b.name+"的能量剩余:"+b.energy);
}

『贰』 用js做一个贪吃蛇的游戏,谢谢,最好有注释

以前做的一个 部分注释 核心部分由注释 其实就是一个最后一个跟随前面一个位置的算法

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<styletype="text/css">
.body{width:600px;margin:100pxauto;text-align:center;}
#main{height:300px;border:1pxsolid#f00;position:relative;}
#maindiv{width:20px;height:20px;background-color:green;position:absolute;}
#maindiv.snake{background-color:#ff0;}
.score{font-size:14px;}
.scorestrong{color:Red;}
</style>
<scripttype="text/javascript">
window.onload=function(){
varomain=document.getElementById("main");
varr=15,c=30;
varasnake=[];
varspeed=150;
varodiv=document.createElement("div");
asnake.push({l:Math.floor(Math.random()*c),t:Math.floor(Math.random()*r),div:odiv,d:"l"});
omain.appendChild(odiv);
setPosition(asnake[0]);
//设置位置
functionsetPosition(obj){
obj.div.style.left=obj.l*20+"px";
obj.div.style.top=obj.t*20+"px";
}
varaEat=null;
vard="l";
//创建吃的
functioncreateEat(){
varl=Math.floor(Math.random()*c);
vart=Math.floor(Math.random()*r);
varisexist=false;
//判断是否存在在设数组里面
for(vari=0;i<asnake.length;i++){
if(l==asnake[i].l&&t==asnake[i].t){
isexist=true;
break;
}
}
//如果存在再创建一个蛇
if(isexist){
createEat();
return;
}
varonewdiv=document.createElement("div");
onewdiv.className="snake";
aEat={l:l,t:t,div:onewdiv,d:"l"};
omain.appendChild(onewdiv);
setPosition(aEat);
}
createEat();

varobtn=document.getElementById("btn");
varoscore=document.getElementById("score");
varoaddspeed=document.getElementById("addspeed");

varotimer=null;
varisitem=true;
oaddspeed.onclick=function(){
clearInterval(otimer);
speed=speed<50?50:speed-20;
setasnke();
}
obtn.onclick=function(){
if(!isitem){
clearInterval(otimer);
obtn.value="继续游戏";
isitem=true;
returnfalse;
}
obtn.value="暂停游戏";
setasnke();
isitem=false;
}

functionsetasnke(){

otimer=setInterval(function(){
for(vari=asnake.length-1;i>0;i--){
asnake[i].l=asnake[i-1].l;
asnake[i].t=asnake[i-1].t;
asnake[i].d=asnake[i-1].d;
}
switch(d){
case"l":
asnake[0].l--;
break;
case"r":
asnake[0].l++;
break;
case"t":
asnake[0].t--;
break;
case"b":
asnake[0].t++;
break;
}
//判断蛇是否撞墙了
if(asnake[0].l<0||asnake[0].l>=c||asnake[0].t<0||asnake[0].t>=r){
alert("你死掉了");
clearInterval(otimer);
return;
}
//判断蛇是否撞到自己了
for(varn=1;n<asnake.length;n++){
if(asnake[0].l==asnake[n].l&&asnake[0].t==asnake[n].t){
alert("你已经死掉了");
clearInterval(otimer);
return;
}
}
//判断蛇是否吃到东西了
if(asnake[0].l==aEat.l&&asnake[0].t==aEat.t){
aEat.div.className="";
oscore.innerHTML=parseInt(oscore.innerHTML)+1;
asnake.push(aEat);
createEat();
}
//重新设置蛇的位置
for(varj=0;j<asnake.length;j++){
setPosition(asnake[j]);
}
},speed);
}

//键盘改变蛇的方向
document.onkeydown=function(event){
varoEn=event||window.event;
varoCode=oEn.keyCode;
switch(oCode){
case37:
d="l";
break;
case38:
d="t";
break;
case39:
d="r";
break;
case40:
d="b";
break;
}
}
}
</script>
</head>
<body>
<divclass="body">
<inputtype="button"value="加速"id="addspeed"/><inputtype="button"id="btn"value="开始游戏"/>&nbsp;&nbsp;<spanclass="score">积分:<strongid="score">0</strong></span>
<divid="main">

</div>
</div>
</body>
</html>

『叁』 初学者使用JavaScript代码做简单猜数字游戏,不要弹出窗口的.请问怎样做

<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
</head>
<body>
<inputtype="button"id="play"name="play"value="PlayGame"onclick="play()"/>
<inputtype="text"id="answer"/><inputtype="button"value="Submit"onclick="doSubmit()"/>
<spanid="sp"></span>
<scriptlanguage="javascript">
varnum;
vari=0;
functionplay(){
i=0;
num=Math.round(Math.random()*10);
varcs="猜1到10之间的数字,您只有十次才的机会哦,加油哦、、、、、";
document.getElementById('sp').innerHTML=cs;
}
functiondoSubmit(){
varanswer=document.getElementById('answer').value;
i++;
if(answer>num){
alert("这是第"+i+"次输入,你输入的数大了!<br>");

}elseif(answer<num){
alert("这是第"+i+"次输入,你输入的数小了!<br>");
}elseif(answer==num){
switch(i){
case1:
alert("你真神了!!!");
break
case2:
alert("哎哟!不错哦!!!");
break
case3:
alert("很好很好!!!");
break
case4:
alert("不错,不错!!!");
break
case5:
alert("加油加油!!!");
break
case6:
alert("要继续努力昴!!!");
break
case7:
alert("还要再加油啊!!!");
break
case8:
alert("勉强猜对了!!!");
break
case9:
alert("算你过了!!!");
break
case10:
alert("运气不错哦!!!");
break;
}
}
if(i>10)
alert("笨蛋,十次都没有猜对!!!");
}
</script>
</body>
</html>

试一下。

『肆』 如何用javascript实现围棋游戏

<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>禅棋传说</title>
<style type="text/css">
div { position: absolute; width: 23px; height: 23px; }
.B0 { background-image: url('B0.gif'); }
.B1 { background-image: url('B1.gif'); }
.B2 { background-image: url('B2.gif'); }
.B3 { background-image: url('B3.gif'); }
.B4 { background-image: url('B4.gif'); }
.B5 { background-image: url('B5.gif'); }
.B6 { background-image: url('B6.gif'); }
.B7 { background-image: url('B7.gif'); }
.B8 { background-image: url('B8.gif'); }
.BX { background-image: url('BX.gif'); }
.D0 { background-image: url('D0.gif'); }
.D1 { background-image: url('D1.gif'); }
.C0 { background-image: url('C0.gif'); }
.C1 { background-image: url('C1.gif'); }
</style>
</head>
<body>
<script type="text/javascript">
//<![CDATA[
Array.prototype.indexOf = function (item) //给数组扩展一个indexOf方法,用来检索是否为"已知元素"
{
for ( var i=0; i<this.length; i++)
if (this[i] == item)
return i;
return -1;
};

var Site = //定义一个棋位类
{
Create: function(x, y) //棋位类的构造函数
{
var me = document.createElement("div"); //建一个div对象,将其扩展并封装成棋位。
document.body.appendChild(me); //附加到DOM树,实现棋位的呈现。
me.x = x; //记录棋位的X坐标
me.y = y; //记录棋位的Y坐标
me.style.left = x * 23 + "px"; //设置棋位水平方向的绝对位置
me.style.top = y * 23 + "px"; //设置棋位垂直方向的绝对位置
// var s = ((x-9)%9?0:(x-9)/9)+1+(((y-9)%9?0:(y-9)/9)+1)*3; //计算背景式样,这个算法有冗余,简化为下面的算法.
var s = parseInt((x-9)/9)+1+(parseInt((y-9)/9)+1)*3; //计算背景式样
// me._backStyle = "B" + ((s==4&&(x/3)%2==1&&(y/3)%2==1) ? "X" : s);
me._backStyle = "B" + (((x/3)%2==1&&(y/3)%2==1) ? "X" : s);
me.Fill = this.Fill; //关联一个填充棋位的方法。
me.Tight = this.Tight; //关联计算紧气方法。
me.Kill = this.Kill; //关联计算死子方法。
me.onclick = this.Play; //绑定onclick事件到Play方法。
me.Fill(); //初始填充空子。
return me; //返回棋位对象,其实是一个封装了的div对象。
},
Fill: function(dot, going) //填充棋子的方法,going~~是否"当前步".
{
if ( dot == undefined )
this.className = this._backStyle //无子,就设置为背景式样。
else
this.className = (going ? "C" : "D") + dot; //有子,区别对待"当前步"
this.dot = dot; //保存棋子状态
},
Play: function() //行棋方法,由onclick事件触发
{
if ( this.dot == undefined ) //落子点必须为无子状态,否则不处理.
{
var deads = this.Kill(current^1); //计算可以杀死的子,current为当前颜色,则current^1为对方颜色
if (deads.length == 1 && this == rob) return; //确认的打劫状态后,直接拒绝;如果此步落子可以提不止一子,则不是打劫
for(var i=0; i<deads.length; i++)
deads[i].Fill(); //按照死子列清空,one by one
if(i==1)
rob = deads[0] //如果此步只提了一个子,记录被提位置为打劫位置.
else if (i>0 || !this.Tight(current)) //这里有一个影响代码效率的判断,对于能产生提子的操做,不需要再判断是否"紧气禁入";此外,如果要引入"变穷为禁"的规则,这里需要改变算法
rob = null //清打劫位,这个条件是判断,如果能够提多子,或者不是禁止着手,则解除"打劫"状态
else return; //这里对应的返回,应该是只有无气禁入点的情况.
sound.play(); //落子有声!
var step = Tracks[Tracks.length-1];
if(step) step.site.Fill(step.site.dot); //更新此前一"步"的子的位图
this.Fill(current, true); //填入当前"步"的子
Tracks.push( new Step(this, deads) );
current ^= 1; //用1来异或,正好反转黑白棋子。

var disline = document.getElementById('list');
disline.value += ((current ? '黑:': '白:')+Tracks[Tracks.length-1].site.x+' '+Tracks[Tracks.length-1].site.y+'\n');
disline.scrollTop = disline.scrollHeight;
};
},
Tight: function (dot) //计算紧气的块,此时如果dot==undefined,则对应提子的遍历,this指向当前点.
{
var life = this.dot == undefined ? this : undefined; //life为"气"的定义;当前位无子则算一口气,对应落子的遍历,当前位置必然无子.
dot = dot == undefined ? this.dot : dot; //这个逻辑是对应提子的遍历
if (dot == undefined) return undefined;
var block = this.dot == undefined ? [] : [this]; //定义的"块",在提子的遍历中,发现子就放入块,再判断有多少"气".
var i = this.dot == undefined ? 0 : 1;
var site = this;
while (true)
{
for(var dx=-1;dx<=1;dx++) for(var dy=-1;dy<=1;dy++) if(!dx^!dy)
{
link = GetSite(site.x + dx, site.y + dy);
if (link) //判断目标位置的上下左右,有位则继续,"无位"对应棋盘以外的区域.
if (link.dot != undefined) //有子,则判断是否为同色,连"块"
{
if (link.dot == dot && block.indexOf(link) < 0 )
block.push(link); //此一段为"块"的遍历,条件是找四周的同色子,找到后判断是否为新"知道","新"则放入"块"
}
else if (!life) //无子,则更新"气"
life = link
else if (life != link)
return undefined; //在提子的遍历中,如果发现有两"气"了,则无须再算
};
if ( i >= block.length) break; //"块"的遍历结束条件为,列表的最后一个对象没有产生新的相邻子.
site = block[i];
i ++;
};
return block; //返回只有一口气的块,在提子的遍历中,这对应了可能被提掉的子列,再去判断是否为"打劫"
},
Kill: function(dot) //计算杀死的子,目前this指向落子点,dot指向需要判断的死子颜色.
{
var deads = []; //定义死子列
for(var dx=-1;dx<=1;dx++) for(var dy=-1;dy<=1;dy++) if(!dx^!dy) //异或,有且只有一个为真,可对应到相邻子.
{
var site = GetSite(this.x + dx, this.y + dy);
if (site && (site.dot == dot))
{
var block = site.Tight(); //分别对上下左右进行遍历,查找被紧气的"块",然后合并成为"死子列"
if (block) deads = deads.concat(block); //concat 合并操作,此操作并未识别"同项",仅以围棋规则判断,对"打劫没有影响".
//如果需要准确的提子数目统计,这里的算法需要更新.
};
};
return deads; //返回可以提子的死子块
}
}; //棋位类 Site

var Board = new Array(19); //全局的Board数组,表示棋盘。
var Tracks = []; //行棋线索数组,数组元素是Step对象。
var current = 0; //当前要下的子,0表示黑子,1表示白子,交替。
var rob = null; //如果有打劫时,记录打劫位置。
for(var x = 0 ; x < 19; x++)
{
Board[x] = new Array(19);
for(var y = 0; y < 19; y++)
Board[x][y] = Site.Create(x, y); //按位置创建棋位对象。
};
if (navigator.userAgent.indexOf(' MSIE ') > -1) //为IE浏览器构造声音对象
{
var sound = document.body.appendChild(document.createElement("bgsound"));
sound.play = function(){this.src = "play.wav"};
}
else //为Firefox等其他浏览器构造声音对象
{
var sound = document.body.appendChild(document.createElement("span"));
sound.play = function(){this.innerHTML = "<bgsound src='play.wav'>"};
};
document.body.oncontextmenu = function() //右键驱动悔棋事件
{
var step = Tracks.pop();
if (step)
{
step.site.Fill();
for (var i=0; i<step.deads.length; i++)
step.deads[i].Fill(current);
step = Tracks[Tracks.length-1];
if (step) step.site.Fill(current, true)
current ^= 1; //反转黑白棋子。
};
return false; //不弹出菜单。
};

function GetSite(x, y) //从棋盘取棋位的函数,越界不抛出异常。
{
if (x>=0 && x<19 && y>=0 && y<19)
return Board[x][y];
};
function Step(site, deads) //棋步类,记录每一步棋的状态
{
this.site = site; //记录棋步的位置
this.deads = deads; //记录被当前棋步杀死的棋子集合
};

function PrintWay() //行棋路线
{
var str='', coler='';
for (var i=0;i <Tracks.length;i++)
{
step = Tracks[i];
coler = (i%2) ? "白" : "黑";
str=str+"第"+(i+1)+"步"+coler+"方 X"+step.site.x+" Y"+step.site.y+" \n";

}
alert(str);
}
document.body.ondblclick = PrintWay;

document.onkeypress = function(event)
{
var k = (window.event ? window.event.keyCode : event.which) - 49; //按'1'可以进入自动摆棋操作,'1'=0x31=49
if(k<0 || k>1) return;
for(var x=0; x<19; x++) for(var y=0; y<19; y++) Board[x][y].Fill();
Tracks.length = 0;
current = 0;
with(goes[k]) for(var i=0; i<length;i+=3)
Board[charCodeAt(i+1)-65][charCodeAt(i)-65].Fill(charCodeAt(i+2)-48);
};

</body>
</html>

『伍』 游戏注册页面js代码怎么写

//邮箱,用户名,密码正则已经验证完成的情况下
varbtn=$("#targetBtn");
btn.on("click",function(){
varusername=$("#username").val(),
password=$("#password").val(),
email=$("#email").val;
if(username==""){
alert("请填写用户名");
returnfalse;
}
//...此处省略if判断版
$.ajax({
url:"...",
type:POST,
data:{"..."},//这里写提交的数权据
success:function(data){
if(data.message=="success"){
alert("注册成功")
}
}
})

阅读全文

与js简单游戏的代码相关的资料

热点内容
网络如何把人捧红 浏览:961
软件传输文件 浏览:184
密码记录器ios 浏览:412
两个电脑数据怎么一样 浏览:829
顺丰有什么买东西的app 浏览:377
数位板word 浏览:939
win7宽带连接出现多重网络 浏览:268
更改程序图标c语言 浏览:629
网络电视偷停怎么办 浏览:418
linux连接ftp 浏览:512
es文件浏览器视频笔记 浏览:874
mac无法打开描述文件 浏览:134
什么软件打文件 浏览:53
数据库无数据变成0 浏览:899
名企笔试如何刷编程题 浏览:49
js跳到页面某地 浏览:550
jsp展示clob字段 浏览:779
nyx在网络上是什么意思 浏览:145
乐播农业app是什么 浏览:530
编程框架如何开发 浏览:136

友情链接