代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>石头剪刀布</title> <style type="text/css"> div{ border:3px solid red; float: left; margin-left: 20%; padding: 10px; text-align: center; background-color: pink } img{ height: 100px; margin:10px; border:1px solid blue; opacity: 0.4 } ul{ list-style: none; margin-left: 20% } li{ display: inline; } span{ width: 70px; float: left; background-color: teal; padding:5px; } </style> </head> <body> <div> <strong>电脑玩家</strong> <br> <img src="rock.jpg" alt="" style="opacity:1.0"> <br> <strong>玩家</strong> <br> <img src="scissor.jpg" alt="scissor" onm ouseover="over(this)" onm ouseout="out(this)" onclick="myClick(this)"> <img src="rock.jpg" alt="rock" onm ouseover="over(this)" onm ouseout="out(this)" onclick="myClick(this)"> <img src="paper.jpg" alt="paper" onm ouseover="over(this)" onm ouseout="out(this)" onclick="myClick(this)"> <br> <ul> <li><span><b>胜利</b></span></li> <li><span><b>平手</b></span></li> <li><span><b>失败</b></span></li> </ul> <ul style="clear:left"> <li><span id="win"><b>0</b></span></li> <li><span id="sci"><b>0</b></span></li> <li><span id="lose"><b>0</b></span></li> </ul> </div> </body> <script type="text/javascript"> var img=document.getElementsByTagName('img')[0]; /*鼠标移入移出改变图片透明度*/ function over(divDom){ divDom.style.opacity=1.0; } function out(divDom){ divDom.style.opacity=0.4; } /*页面加载,电脑玩家图片一致循环替换*/ var i=0; function load() { i++; var m=i%3; switch(m){ case 0: img.src="scissor.jpg"; break; case 1: img.src="rock.jpg"; break; case 2: img.src="paper.jpg"; break; } setTimeout(load,100); } load(); /*封装玩家点击事件*/ var s=0; var l=0; var w=0; function myClick(divDom) { if(divDom.alt=="scissor"){ //此时玩家是剪刀 switch(i%3){ case 0://电脑为剪刀 alert("平手"); document.getElementById("sci").innerHTML=++s; break; case 1://电脑为石头 alert("失败"); document.getElementById("lose").innerHTML=++l; break; case 2://电脑为布 alert("胜利"); document.getElementById("win").innerHTML=++w; break; } }else if(divDom.alt=="rock"){ //此时玩家是石头 switch(i%3){ case 0://电脑为剪刀 alert("胜利"); document.getElementById("win").innerHTML=++w; break; case 1://电脑为石头 alert("平手"); document.getElementById("sci").innerHTML=++s; break; case 2://电脑为布 alert("失败"); document.getElementById("lose").innerHTML=++l; break; } }else if(divDom.alt=="paper"){ //此时玩家是布 switch(i%3){ case 0://电脑为剪刀 alert("失败"); document.getElementById("lose").innerHTML=++l; break; case 1://电脑为石头 alert("胜利"); document.getElementById("win").innerHTML=++w; break; case 2://电脑为布 alert("平手"); document.getElementById("sci").innerHTML=++s; break; } } } </script> </html>
最后实现的效果如下:
玩法:电脑会以较快速度随机刷新石头剪刀和布三种中的一种,玩家通过点击下方的图片来选择出石头剪刀还是布,这里面有胜利,失败和平手三种情况,出现的每种情况都会被记录在下方。
这个小游戏主要用到了JS中的鼠标点击事件以及鼠标的移入移出事件,其中涉及到的图片请自行准备。