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 相关文章推荐
最好用的省市二级联动 原生js实现你值得拥有
Sep 22 Javascript
js采用map取到id集合组并且实现点击一行选中一行
Dec 16 Javascript
Jquery实现图片预加载与延时加载的方法
Dec 22 Javascript
Javascript使用post方法提交数据实例
Aug 03 Javascript
Active控件问题小结(附解决办法)
Jun 09 Javascript
jQuery使用正则表达式限制文本框只能输入数字
Jun 18 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
Aug 31 Javascript
Angular5中调用第三方js插件的方法
Feb 26 Javascript
JavaScript代码实现txt文件的上传预览功能
Mar 27 Javascript
vue-cli3.0配置及使用注意事项详解
Sep 05 Javascript
JS学习笔记之闭包小案例分析
May 29 Javascript
JavaScript实现表单验证功能
Dec 09 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生成缩略图的函数代码(修改版)
2011/01/18 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
用函数式编程技术编写优美的 JavaScript
2006/11/25 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
jQuery.validate 常用方法及需要注意的问题
2013/03/20 Javascript
你必须知道的Javascript知识点之&quot;this指针&quot;的应用
2013/04/23 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
2016/01/05 Javascript
JS实现消息来时让网页标题闪动效果的方法
2016/04/20 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
jquery实现文本框的禁用和启用
2016/12/07 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
vue项目实现github在线预览功能
2018/06/20 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
2019/09/26 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
python生成IP段的方法
2015/07/07 Python
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
Python中import机制详解
2017/11/14 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
python中列表的切片与修改知识点总结
2019/07/23 Python
Python os模块常用方法和属性总结
2020/02/20 Python
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
颁奖典礼主持词
2014/03/25 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
小数乘法教学反思
2016/02/22 职场文书
创业计划书之农家乐
2019/10/09 职场文书