導航:首頁 > 編程語言 > 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簡單游戲的代碼相關的資料

熱點內容
更改程序圖標c語言 瀏覽:629
網路電視偷停怎麼辦 瀏覽:418
linux連接ftp 瀏覽:512
es文件瀏覽器視頻筆記 瀏覽:874
mac無法打開描述文件 瀏覽:134
什麼軟體打文件 瀏覽:53
資料庫無數據變成0 瀏覽:899
名企筆試如何刷編程題 瀏覽:49
js跳到頁面某地 瀏覽:550
jsp展示clob欄位 瀏覽:779
nyx在網路上是什麼意思 瀏覽:145
樂播農業app是什麼 瀏覽:530
編程框架如何開發 瀏覽:136
金庸群俠傳3修改代碼 瀏覽:712
檢察院的文件類別有哪些 瀏覽:793
怎麼把九游殘留數據刪除 瀏覽:828
有什麼女生主動聊天的app 瀏覽:436
有哪些可以督促自己的app 瀏覽:244
用USB傳輸視頻文件夾顯示為空 瀏覽:710
恢復文件軟體免費版手機 瀏覽:648

友情鏈接