JavaScript實(shí)現(xiàn)的石頭剪刀布游戲源碼分享
這個游戲主要設(shè)計(jì)到兩點(diǎn):
首先是勝負(fù)運(yùn)算
由于石頭剪刀布是循環(huán)性的
石頭 殺 剪子
剪子 殺 布
布 殺 石頭
石頭 殺 剪子
。。。
根據(jù)以上特點(diǎn)找出規(guī)律,寫出算法即可。
讓電腦隨機(jī)
這點(diǎn)比較容易,前面我有寫過文章介紹,不明白的童鞋可以去看看。
隨機(jī)刷屏
其實(shí)這個效果不是游戲的關(guān)鍵性,但為了看起來更加互動,好玩,我就給加上了。這里用到了一個取模算法,根據(jù)余數(shù)去循環(huán)顯示即可達(dá)到效果。
界面截圖

最后上代碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>JS寫的石頭剪子布游戲 - 瓊臺博客</title>
<style type="text/css">
div{margin:20px auto;padding:10px;border:2px solid #999;width:200px;background:#ffe;}
div#cu{font-weight:bold;font-size:30px;height:40px;color:red;}
div#la{border:none;background:none;display:none;}
span{color:red;font-weight:bold;}
</style>
<script type="text/javascript">
var se = null,time=20,you=0,arr=new Array('石頭','抹布','剪子');
function p(n){
you = n;
document.getElementById('you').innerHTML=s(n);
document.getElementById('st').disabled=true;
document.getElementById('mb').disabled=true;
document.getElementById('jz').disabled=true;
document.getElementById('cu').innerHTML = '...';
se = setInterval('t()',50);
}
function agin(){
document.getElementById('st').disabled=false;
document.getElementById('mb').disabled=false;
document.getElementById('jz').disabled=false;
document.getElementById('la').style.display = 'none';
document.getElementById('you').innerHTML = '';
document.getElementById('pc').innerHTML = '';
document.getElementById('cu').innerHTML = '';
document.getElementById('you').innerHTML= '請選擇';
}
function bt(){
var pc = Math.floor(Math.random() * 3 + 1);
document.getElementById('pc').innerHTML = s(pc);
var str='';
if(pc==you){
str += '平局';
}else{
var b = pc-you;
if(b>0){
if(b==1){
str += '電腦贏';
}else{
str += '你贏啦';
}
}else{
b = b*-1;
if(b==1){
str += '你贏啦';
}else{
str += '電腦贏';
}
}
}
document.getElementById('la').style.display = 'block';
document.getElementById('cu').innerHTML = str;
}
function t(){
if(time>0){
document.getElementById('pc').innerHTML = arr[time%3];
time--;
}else{
clearInterval(se);
se = null;
time = 20;
bt();
}
}
function s(n){
if(n==1){
return '石頭';
}else if(n==2){
return '抹布';
}else{
return '剪子';
}
}
</script>
</head>
<body>
<div>
<p>你出什么?<span id="you">請選擇</span></p>
<p><button id="st" onclick="p(1);">石頭</button></p>
<p><button id="mb" onclick="p(2);">抹布</button></p>
<p><button id="jz" onclick="p(3);">剪子</button></p>
</div>
<div>
<p>電腦出?</p>
<span style="" id="pc"></span>
</div>
<div id="cu"></div>
<div id="la"><button id="agin" onclick="agin()">再來一次</button></div>
</body>
</html>
相關(guān)文章
JavaScript實(shí)現(xiàn)的石頭剪刀布游戲源碼分享
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的石頭剪刀布游戲源碼分享,挺好玩的小游戲,關(guān)鍵在一些算法上,需要的朋友可以參考下2014-08-08
javascript類型系統(tǒng) Array對象學(xué)習(xí)筆記
這篇文章主要介紹了javascript類型系統(tǒng)之Array對象,整理關(guān)于Array對象的學(xué)習(xí)筆記,感興趣的小伙伴們可以參考一下2016-01-01
深入理解javascript動態(tài)插入技術(shù)
這篇文章介紹了javascript動態(tài)插入技術(shù),有需要的朋友可以參考一下2013-11-11
JavaScript Event學(xué)習(xí)第五章 高級事件注冊模型
在這一章我會講解兩種高級時間注冊模型:W3C和微軟的。因?yàn)檫@兩個方法都不能跨瀏覽器,所以在現(xiàn)在看來他們的使用場合并不多。2010-02-02
JavaScript中英文字符長度統(tǒng)計(jì)方法示例【按照中文占2個字符】
這篇文章主要介紹了JavaScript中英文字符長度統(tǒng)計(jì)方法,涉及javascript針對中英文字符的匹配與運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-01-01

