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图片切换插件jquery.cycle.js使用示例
Jun 16 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
Oct 16 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
Nov 20 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
Mar 03 Javascript
jQuery插件Zclip实现完美兼容个浏览器点击复制内容到剪贴板
Apr 30 Javascript
jquery对复选框(checkbox)的操作汇总
Jan 13 Javascript
JavaScript模版引擎的基本实现方法浅析
Feb 15 Javascript
Angular.JS通过指令操作DOM的方法
May 10 Javascript
ES6入门教程之Iterator与for...of循环详解
May 17 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
Nov 02 Javascript
ES6知识点整理之Proxy的应用实例详解
Apr 16 Javascript
vue 父组件通过v-model接收子组件的值的代码
Oct 27 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之XML转数组函数的详解
2013/06/07 PHP
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
PHP表单数据写入MySQL数据库的代码
2016/05/31 PHP
Laravel利用gulp如何构建前端资源详解
2018/06/03 PHP
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
一组JS创建和操作表格的函数集合
2009/05/07 Javascript
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
2010/01/22 Javascript
表单序列化与jq中的serialize使用示例
2014/02/21 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
javascript控制台详解
2015/06/25 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
详解基于React.js和Node.js的SSR实现方案
2019/03/21 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
Python pickle模块用法实例分析
2015/05/27 Python
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
对pandas中apply函数的用法详解
2018/04/10 Python
Python第三方Window模块文件的几种安装方法
2018/11/22 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
浅谈对pytroch中torch.autograd.backward的思考
2019/12/27 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
使用openCV去除文字中乱入的线条实例
2020/06/02 Python
Python3创建Django项目的几种方法(3种)
2020/06/03 Python
python中adb有什么功能
2020/06/07 Python
python两个list[]相加的实现方法
2020/09/23 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
舒适的豪华鞋:Taryn Rose
2018/05/03 全球购物
大学生就业推荐信范文
2013/11/29 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
2014年法务工作总结
2014/12/11 职场文书