代码:

<!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石头剪刀布小游戏的更多相关文章

  1. pixi.js 微信小游戏 入手

    pixi是什么?一款h5游戏引擎 优点:简单简洁性能第一 缺点:大多数用的国产三大引擎,pixi资料少,工具少, 为什么学,装逼 用pixi开发小游戏行吗? 行.但要简单处理下 下载官网上的 weap ...

  2. JS写小游戏(一):游戏框架

    前言 前一阵发现一个不错的网站,都是一些用html5+css+js写的小游戏,于是打算学习一番,写下这个系列博客主要是为了加深理解,当然也有一些个人感悟,如果英文好可以直接Click Here. 概述 ...

  3. three.js 微信小游戏

    最近在 https://classroom.udacity.com/courses/cs291 学习了一些 3D 引擎和 three.js 的知识 把 three.js 弄到微信小游戏里,先随便跑一跑 ...

  4. 微信小程序开发入门学习(1):石头剪刀布小游戏

    从今天起开始捣鼓小程序了2018-12-17   10:02:15 跟着教程做了第一个入门实例有兴趣的朋友可以看看: 猜拳游戏布局 程序达到的效果 猜拳游戏的布局是纵向显示了三个组件:文本组件(tex ...

  5. js消除小游戏(极简版)

    js小游戏极简版 (1) 基础布局 <div class = "box"> <p></p> <div class="div&qu ...

  6. 例子:js超级玛丽小游戏

    韩顺平_轻松搞定网页设计(html+css+javascript)_第34讲_js超级玛丽小游戏_学习笔记_源代码图解_PPT文档整理 采用面向对象思想设计超级马里奥游戏人物(示意图) 怎么用通过按键 ...

  7. Java石头剪刀布小游戏

    package com.neusoft.test; import java.awt.BorderLayout; import java.awt.Choice; import java.awt.Colo ...

  8. JS扫雷小游戏

    HTML代码 <title> 扫雷 </title> <!-- ondragstart:防拖拽生成新页面 oncontextmenu:屏蔽右键菜单--> <b ...

  9. 使用JS制作小游戏贪吃蛇

    先看效果图: 过程如下: 1.首先创建一张画布地图<div class="map"> </div>: 2.创建食物的自调用函数 (function (){ ...

随机推荐

  1. 【起航计划 015】2015 起航计划 Android APIDemo的魔鬼步伐 14 App->Activity->Translucent Blur 模糊背景

    这个例子和Translucent不同的一点是Blur,也就是显示在当前Activit背后的其它Activity以模糊方式显示. 这是通过window对象Flag来设置的. // Have the sy ...

  2. ArcGIS Runtime SDK for Android 各版本下载地址

    ArcGIS Runtime SDK for Android各版本下载地址:ArcGIS Runtime SDK交流群:249819194 SDK包中主要包含以下内容: 其中里面比较重要的有以下几项: ...

  3. Java1.7新特性

    1.switch语句支持字符串变量 public String getTypeOfDayWithSwitchStatement(String dayOfWeekArg) { String typeOf ...

  4. Git学习笔记day01 从GitHub克隆版本库

    本期Git教程将会带您进入Git的世界,这是您使用分布版本控制工具Git的开端,祝您学习顺利! 步骤一  在Linux系统中下载Git 如果是Ubuntu系统,在shell中输入指令 sudo apt ...

  5. Azure 2 月新公布

    Azure 2 月新发布:关于虚机和云服务的降价通告,Azure SQL 数据仓库正式发布,Microsoft 认知服务:人脸识别 API 定价模式和名称更新,以及计量名称变更 关于虚机和云服务的降价 ...

  6. golang 2行代码在基于arm linux的树莓派、orangepi上运行http web服务

    go语言(golang)简化了跨平台交叉编译步骤,支持在windows系统下交叉编译基于arm+linux平台的应用,运行时无需其它依赖库.以下以一个简单的http server为例,先上源码: ** ...

  7. 初学React:定义一个组件

    接着聊React,今天说说如何创建一个组件类. <!DOCTYPE html> <html lang="en"> <head> <meta ...

  8. 如何获得C4C里某个code字段对应的描述信息

    通过我这篇文章介绍的方法使用C4C OData服务去取服务订单数据(Sales Order): 如何用代码的方式取出SAP C4C销售订单创建后所有业务伙伴的数据 https://www.jiansh ...

  9. python 造轮子(一)——序列与字典

    虽然说造轮子很少用了,什么底层东西很少写,但是还是很想学扎实,还是好多东西还是的会,没有底层的支持,比较高级的库学起来还是很困难的. 序列的普遍用法: #-*-coding:utf8-*- #索引 l ...

  10. DP找最优配置,(POJ1018)

    题目链接:http://poj.org/problem?id=1018 这个DP,我的头都快晕了. dp[i][j]表示取到第i个设备,宽带为j时的最小价格. 状态转移方程: dp[i][k]=min ...