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 相关文章推荐
动态调用css文件——jquery的应用
Feb 20 Javascript
js 固定悬浮效果实现思路代码
Aug 02 Javascript
js禁止页面使用右键(简单示例代码)
Nov 13 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
Jun 05 Javascript
JavaScript中调用函数的4种方式代码实例
Jul 08 Javascript
jquery实现弹出层登录和全屏层注册特效
Aug 28 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
Jul 09 Javascript
微信小程序自定义音乐进度条的实例代码
Aug 28 Javascript
Vue源码解析之数据响应系统的使用
Apr 24 Javascript
JS数组Object.keys()方法的使用示例
Jun 05 Javascript
javascript实现点击产生随机图形
Jan 25 Javascript
JavaScript 原型与原型链详情
Nov 02 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绘制饼状图的实现代码
2013/06/07 PHP
php利用递归实现删除文件目录的方法
2016/09/23 PHP
Laravel 队列使用的实现
2019/01/08 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
JavaScript prototype属性使用说明
2010/05/13 Javascript
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
jquery移除、绑定、触发元素事件使用示例详解
2014/04/10 Javascript
js 设置缓存及获取设置的缓存
2014/05/08 Javascript
第一次接触神奇的Bootstrap表单
2016/07/27 Javascript
利用原生JS自动生成文章标题树的实例
2016/08/22 Javascript
利用jQuery实现打字机字幕效果实例代码
2016/09/02 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
如何重置vue打印变量的显示方式
2017/12/06 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
python正则表达式修复网站文章字体不统一的解决方法
2013/02/21 Python
python图像常规操作
2017/11/11 Python
python读取与写入csv格式文件的示例代码
2017/12/16 Python
浅谈python 中类属性共享的问题
2019/07/02 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
用python写PDF转换器的实现
2020/10/29 Python
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
个人实习生的自我评价
2014/02/16 职场文书
校园安全标语
2014/06/07 职场文书
2014年街道办事处工作总结
2014/12/11 职场文书
幼儿园毕业典礼园长致辞
2015/07/29 职场文书
Redis 常见使用场景
2021/08/30 Redis
java项目构建Gradle的使用教程
2022/03/24 Java/Android
openstack云计算keystone组件工作介绍
2022/04/20 Servers
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers