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压缩工具:X2JSCompactor
Jun 13 Javascript
基于jquery循环map功能的代码
Feb 26 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
Jul 11 Javascript
基于javascript滚动图片具体实现
Nov 18 Javascript
实用框架(iframe)操作代码
Oct 23 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
Jan 06 Javascript
angular十大常见问题
Mar 07 Javascript
bootstrap基本配置_动力节点Java学院整理
Jul 14 Javascript
解决vue打包之后静态资源图片失效的问题
Feb 21 Javascript
vue实现局部刷新的实现示例
Apr 16 Javascript
使用apifm-wxapi快速开发小程序过程详解
Aug 05 Javascript
javascript canvas封装动态时钟
Sep 30 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
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
PHP 万年历实现代码
2012/10/18 PHP
php简单压缩css样式示例
2016/09/22 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
2019/10/11 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
JS面向对象编程 for Cookie
2010/09/19 Javascript
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
js实现密码强度检测【附示例】
2016/03/30 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
2017/03/28 jQuery
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
深入理解vuex2.0 之 modules
2017/11/20 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
工作中常用到的ES6语法
2018/09/04 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
Python中基础的socket编程实战攻略
2016/06/01 Python
用Python进行简单图像识别(验证码)
2018/01/19 Python
python写入已存在的excel数据实例
2018/05/03 Python
Django ImageFiled上传照片并显示的方法
2019/07/28 Python
Pycharm 字体大小调整设置的方法实现
2019/09/27 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
python匿名函数lambda原理及实例解析
2020/02/07 Python
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
毕业生找工作自荐书
2014/06/30 职场文书
学生党员一帮一活动总结
2014/07/08 职场文书
企业公益活动策划方案
2014/08/24 职场文书
五年级学生期末评语
2014/12/26 职场文书
2015年综治宣传月活动总结
2015/03/25 职场文书
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js
全新239军机修复记
2022/04/05 无线电