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 相关文章推荐
JavaScript toFixed() 方法
Apr 15 Javascript
JavaScript 原型继承
Dec 26 Javascript
检测input每次的输入是否合法遇到汉字输入就有问题
May 23 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
Feb 28 Javascript
js实现单击图片放大图片的方法
Feb 17 Javascript
javascript创建对象的几种模式介绍
May 06 Javascript
JavaScript函数中关于valueOf和toString的理解
Jun 14 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
Aug 23 Javascript
JS运动特效之同时运动实现方法分析
Jan 24 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
Apr 04 jQuery
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
Apr 27 Javascript
JavaScript执行机制详细介绍
Dec 06 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
java EJB 加密与解密原理的一个例子
2008/01/11 PHP
PHP学习笔记之二 php入门知识
2011/01/12 PHP
php中OR与|| AND与&amp;&amp;的区别总结
2013/10/26 PHP
浅析iis7.5安装配置php环境
2015/05/10 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
2017/04/01 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
getAsDataURL在Firefox7.0下无法预览本地图片的解决方法
2013/11/15 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
js注入 黑客之路必备!
2016/09/14 Javascript
基于Bootstrap漂亮简洁的CSS3价格表(附源码下载)
2017/02/28 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
详解webpack的proxyTable无效的解决方案
2018/06/15 Javascript
vue中render函数的使用详解
2018/10/12 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
echarts饼图各个板块之间的空隙如何实现
2020/12/01 Javascript
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
Python中optparse模块使用浅析
2015/01/01 Python
Python守护线程用法实例
2017/06/23 Python
python selenium循环登陆网站的实现
2019/11/04 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
CSS3 制作绽放的莲花采用效果叠加实现
2013/01/31 HTML / CSS
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
水利公司纪检监察自我鉴定
2014/02/25 职场文书
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
禁毒宣传活动总结
2014/08/26 职场文书
2014国庆节演讲稿:祖国在我心中(400字)
2014/09/25 职场文书
住房公积金贷款工资证明
2015/06/12 职场文书
HttpClient实现文件上传功能
2022/08/14 Java/Android