js石头剪刀布小游戏
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
.div1{
margin-left: 40px;
margin-top: 40px;
}
</style>
</head>
<body>
<table border="1px" cellspacing="0px"><!-- border设置表格边线,cellspacing设置边框的边距 -->
<tr>
<td>
<p>我方出拳</p>
<img src="img/2.png" id="img2">
</td>
<td>VS</td>
<td>
<p>敌方出拳</p>
<img src="img/3.png" id="img3">
</td>
</tr>
<tr>
<td colspan="3">
<p id="result">PLEASE CHOLCE</p>
</td>
</tr>
<tr>
<td>
<p>我方选择的是</p>
<img src="img/2.png" id="img1">
</td>
<td>请出拳</td>
<td>
<div class="div1">
<select onchange="changeImg()" id="choiceSelect">
<option value="2">剪刀</option>
<option value="1">石头</option>
<option value="3">布</option>
</select>
</div>
<div class="div1">
<input type="button" value="想好了出拳" onclick="getChoice()">
</div>
<div class="div1">
<input type="button" value="查看结果" onclick="showresult()">
</div>
</td>
</tr>
<tr>
<td colspan="3" id="finalresult">
<p>您玩了0局,您平0次,赢0次,输0次</p></td>
</tr>
</table>
<script type="text/javascript">
// n1代表我方数
var n1 = 2;
var peace = 0;
var win = 0;
var lose = 0;
var all = 0
function changeImg(){
var choiceSelect = document.getElementById("choiceSelect");
n1 = choiceSelect.value;
document.getElementById("img1").src = "img/"+n1+".png";
}
function getChoice(){
//n2代表敌方数
var n2 = parseInt(Math.random()*3)+1;
// alert(n2);
document.getElementById("img2").src = "img/"+n1+".png";
document.getElementById("img3").src = "img/"+n2+".png";
pk(n1,n2);
}
function pk(n1,n2){
var result = document.getElementById("result");
if (n1-n2 == 0) {
result.innerHTML = "你和计算机平"+n1+"-------"+n2;
peace++;
}
if (n1-n2 == -1||n1-n2 == 2) {
result.innerHTML = "你赢了!!!"+n1+"-------"+n2;
win++;
}
// if (n1-n2 == 1) {
if (n1-n2 == 1||n1-n2 == -2 ) {
// getChoice();
result.innerHTML = "你输了!!!"+n1+"-------"+n2;
lose++;
}
all++;
document.getElementById("finalresult").innerHTML = "<p>您玩了"+all+"局,您平"+peace+"次,赢"+win+"次,输"+lose+"次</p>";
}
function showresult(){
document.getElementById("finalresult").innerHTML = "<p>您玩了"+all+"局,您平"+peace+"次,赢"+win+"次,输"+lose+"次</p>";
}
</script>
</body>
</html>
changeImg:获取选择的结果,显示对应的图片
n1:为获取下拉框选择的结果的内容
getChoice:获取0-1的随机数(不包括1)乘以3向下取整+1,得到的数为1,2,3
pk:计算输赢(例如:当我选石头为1,电脑选剪刀为2,那么n1-n2等于-1,所以判断如果结果等于-1时为我赢。一共有九种可能)
图片:
js石头剪刀布小游戏的更多相关文章
- pixi.js 微信小游戏 入手
pixi是什么?一款h5游戏引擎 优点:简单简洁性能第一 缺点:大多数用的国产三大引擎,pixi资料少,工具少, 为什么学,装逼 用pixi开发小游戏行吗? 行.但要简单处理下 下载官网上的 weap ...
- JS写小游戏(一):游戏框架
前言 前一阵发现一个不错的网站,都是一些用html5+css+js写的小游戏,于是打算学习一番,写下这个系列博客主要是为了加深理解,当然也有一些个人感悟,如果英文好可以直接Click Here. 概述 ...
- three.js 微信小游戏
最近在 https://classroom.udacity.com/courses/cs291 学习了一些 3D 引擎和 three.js 的知识 把 three.js 弄到微信小游戏里,先随便跑一跑 ...
- 微信小程序开发入门学习(1):石头剪刀布小游戏
从今天起开始捣鼓小程序了2018-12-17 10:02:15 跟着教程做了第一个入门实例有兴趣的朋友可以看看: 猜拳游戏布局 程序达到的效果 猜拳游戏的布局是纵向显示了三个组件:文本组件(tex ...
- js消除小游戏(极简版)
js小游戏极简版 (1) 基础布局 <div class = "box"> <p></p> <div class="div&qu ...
- 例子:js超级玛丽小游戏
韩顺平_轻松搞定网页设计(html+css+javascript)_第34讲_js超级玛丽小游戏_学习笔记_源代码图解_PPT文档整理 采用面向对象思想设计超级马里奥游戏人物(示意图) 怎么用通过按键 ...
- Java石头剪刀布小游戏
package com.neusoft.test; import java.awt.BorderLayout; import java.awt.Choice; import java.awt.Colo ...
- JS扫雷小游戏
HTML代码 <title> 扫雷 </title> <!-- ondragstart:防拖拽生成新页面 oncontextmenu:屏蔽右键菜单--> <b ...
- 使用JS制作小游戏贪吃蛇
先看效果图: 过程如下: 1.首先创建一张画布地图<div class="map"> </div>: 2.创建食物的自调用函数 (function (){ ...
随机推荐
- NoSQL(Not Only SQL)
Everything has its properties and has relation with each other. All in world can be related to each ...
- Conferences
中国学术会议在线 :http://www.meeting.edu.cn 中国会议网: http://www.chinameeting.com 香山科学会议:http://www.xssc.ac.cn/ ...
- 将Android工程打成jar包之后对资源的调用。
Android工程不能完整的打包成jar包.这个主要是R文件导致的,但是我们可以将除了资源文件中的所有东西都打到jar包中.Activity.View等等类. 提供jar包的同时,还需要提供资源文件. ...
- SpringBoot常用应用程序属性
参考地址: https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.h ...
- Struts2_Namespace
namespace 决定了action的访问路径,默认为"",可以接收所有路径的action,当精确的index.action处理不了的时候,就会找到这个action;namesp ...
- VirtualBox中linux虚拟机和主机间的共享文件设置
设置共享文件路径 点击虚拟机 设置-->选择 共享文件夹 (图1 设置共享文件夹) 设置共享文件夹路径 1 选择路径 2 填写自定义的共享名称(在后面需要与挂载路径相对应) 3 设置自动挂载/固 ...
- 理解python yield
python源代码中经常会有使用yield,带有yield的函数是generator(生成器),它返回是一个迭代值,下面我们分析yield是什么原理,有什么好处? 首先,我们写一个简单的斐波那契数列前 ...
- SaberSama【css总结】
为什么要转过来呢? 因为我觉到,同样是一个初学者,应该互相学习,交流. css:Cascading Style Sheets 层叠样式表 CSS引入方式: 1.内嵌: <p style=&quo ...
- CToolTipCtrl使用详细解说
很多的界面设计都需要有Tip提示,下面描述一下Tip的简单使用方法: 1. 首先要New一个CToolTipCtrl的对象m_pContentTip 2. 调用CToolTipCtrl的create函 ...
- Uva 11384 正整数序列
题目链接:https://vjudge.net/problem/UVA-11384 题意:给定正整数 n,用最少的操作把序列 1,2,,,n 全部变成 0: 操作是:每次可以从序列中选择一个或者多个, ...