利用javascript写一个石头剪刀布的简易小游戏

代码如下:

<!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>

最后实现的效果如下:

利用javascript写一个石头剪刀布的简易小游戏玩法:电脑会以较快速度随机刷新石头剪刀和布三种中的一种,玩家通过点击下方的图片来选择出石头剪刀还是布,这里面有胜利,失败和平手三种情况,出现的每种情况都会被记录在下方。

这个小游戏主要用到了JS中的鼠标点击事件以及鼠标的移入移出事件,其中涉及到的图片请自行准备。

上一篇:【开源】2021 OpenCV人工智能竞赛优秀项目团队介绍集锦(五)


下一篇:DOM