js实现石头剪刀布游戏


Posted in Javascript onOctober 11, 2020

前言

用户选择出石头剪刀布,电脑系统随机生成石头剪刀布,然后判断结果并显示给用户 

一、实现效果

js实现石头剪刀布游戏

二、使用步骤

1.HTML和CSS

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>石头剪刀布</title>
  <style>
    #bigbox{
      width: 600px;
      height: 600px;
      background: slateblue;
      margin: 0 auto;
    }
    #bigbox>h1{
      width: 100%;
      text-align: center;
      color: #ffffff;
    }
    .box1{
      height: 200px;
      
    
    }
    .box2{
      height: 220px;
    }
    .box1 img{
      float: left;
      margin: 25px;
    }
    .box2 img{
      float: left;
      margin:20px 63px;
      width: 150px;
      height: 150px;
 
    }
    .box2 h1{
      
 
      display: block;
      color: #000;
      float: left;
      line-height: 150px;
 
    }
    img{
      width: 150px;
      height: 150px;
    }
    p{
      text-align: center;
      color: red;
      font-size: 20px;
      font-weight: bold;
    }
    .text{
      height: 20px;
    }
    .text span{
      font-size: 20px;
      color: #ffffff;
      margin: 0 100px;
      line-height: 20px;
    }
  </style>
</head>
<body>
  <div id='bigbox'>
    <h1>请选择</h1>
    <div class="box1">
      <img src="../img/shitou.png" alt="">
      <img src="../img/jiandao.png" alt="">
      <img src="../img/bu.png" alt="">
    </div>
    <div class="text">
      <span>您选择了</span>
      <span>系统选择了</span>
    </div>
    <div class="box2">
      <img src="../img/undefined.png" alt="">
      <h1>pk</h1>
      <img src="../img/undefined.png" alt="">
    </div>
 
    <p>结果显示中。。。</p>
    
  </div>
</body>

2.JavaScript

<script>
  let imgs=document.getElementsByTagName('img')
  // console.log(imgs.length)
  for(let i=0;i<3;i++){
    imgs[i].onclick=function(){
      game(this,i)
      
    }
  }
 
  function game(src,i){
    // console.log(i)
    //用户
    let str=src.src;
    let user=document.getElementsByTagName('img')[3]
    user.src=str
    
    //系统
    setTimeout(function (){
      let user=document.getElementsByTagName('img')[4]
      let imgSrc=['../img/shitou.png','../img/jiandao.png','../img/bu.png']
      let num = Math.floor(Math.random() * imgSrc.length)
      console.log(num)
      user.src=imgSrc[num]
      i=i*1
       //结果
    let rs=document.getElementsByTagName('p')[0]
    if(i==0&&num==1 || i==1&&num==2
      || i==2&&num==0){
        rs.innerHTML="恭喜你获得胜利!"
      }else if(i==num){
        rs.innerHTML="平局,请再来一次吧"
      }else{
        rs.innerHTML="不好意思,游戏失败"
        
      }
    },200)
   
    
  }
  
</script>

总结

利用数组,将石头剪刀布src地址保存,利用随机数将生成0-2的任意数字,电脑延时0.2秒生成。用户利用for循环将照片绑定onclick(),点击图片,用户选择图片修改为当前图片。创建参数函数,传入数组标,以及this对象。通过this.src改变用户选择的显示图片,将数组下标 与随机数进行条件判断。0代表石头,1代表剪刀,2代表布。生成结果操作dom'进行显示

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery使用手册之 事件处理
Mar 24 Javascript
jquery实现居中弹出层代码
Aug 25 Javascript
JQuery包裹DOM节点的方法
Jun 11 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
Aug 06 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
Jan 03 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
Oct 10 Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
Nov 10 Javascript
基于Vue 2.0的模块化前端 UI 组件库小结
Dec 21 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
Jul 19 Javascript
使用layui日期控件laydate对开始和结束时间进行联动控制的方法
Sep 06 Javascript
js实现简单放大镜效果
Mar 07 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
Jun 04 Javascript
js+h5 canvas实现图片验证码
Oct 11 #Javascript
vue2和vue3的v-if与v-for优先级对比学习
Oct 10 #Javascript
如何手写简易的 Vue Router
Oct 10 #Javascript
如何手写一个简易的 Vuex
Oct 10 #Javascript
echarts实现晶体球面投影的实例教程
Oct 10 #Javascript
详解Vue中Axios封装API接口的思路及方法
Oct 10 #Javascript
在Vue中使用Echarts实例图的方法实例
Oct 10 #Javascript
You might like
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
浅谈js中的闭包
2015/03/16 Javascript
详解js图片轮播效果实现原理
2015/12/17 Javascript
js阻止浏览器默认行为触发的通用方法(推荐)
2016/05/15 Javascript
jQuery基础_入门必看知识点
2016/07/04 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
JQuery中queue方法用法示例
2019/01/31 jQuery
js实现计时器秒表功能
2019/12/16 Javascript
jQuery实现简易QQ聊天框
2020/02/10 jQuery
详解Vue 单文件组件的三种写法
2020/02/19 Javascript
Vue看了就会的8个小技巧
2021/01/21 Vue.js
[02:07]2017国际邀请赛中国区预选赛直邀战队前瞻
2017/06/23 DOTA
Python实现图像几何变换
2015/07/06 Python
VSCode下好用的Python插件及配置
2018/04/06 Python
Selenium 模拟浏览器动态加载页面的实现方法
2018/05/16 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
2019/04/11 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
Python利用pandas处理Excel数据的应用详解
2019/06/18 Python
网站域名和主机:Domain.com
2019/04/01 全球购物
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
J2EE中的容器都包括哪些
2013/08/21 面试题
电子商务网站的创业计划书
2014/01/05 职场文书
英语感恩演讲稿
2014/01/14 职场文书
思想品德自我评价
2014/02/04 职场文书
世界读书日的活动方案
2014/08/20 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
预备党员入党感想
2015/08/10 职场文书
写给医护人员的一封感谢信
2019/09/16 职场文书
一文读懂go中semaphore(信号量)源码
2021/04/03 Golang