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中两种类型的全局对象/函数
Dec 05 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
Jul 23 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
Mar 04 Javascript
基于JavaScript代码实现微信扫一扫下载APP
Dec 30 Javascript
深入理解JavaScript内置函数
Jun 03 Javascript
jQuery事件绑定用法详解
Sep 08 Javascript
jQuery实现两列等高并自适应高度
Dec 22 Javascript
js获取form表单中name属性的值
Feb 27 Javascript
优化Vue项目编译文件大小的方法步骤
May 27 Javascript
解决webpack多页面内存溢出的方法示例
Oct 08 Javascript
JavaScript之Blob对象类型的具体使用方法
Nov 29 Javascript
JS实现密码框效果
Sep 10 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
php5 pdo新改动加载注意事项
2008/09/11 PHP
PHP对象转换为数组函数(递归方法)
2012/02/04 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
2014/05/04 PHP
jquery each()源代码
2011/02/14 Javascript
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
2013/06/24 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
2013/08/18 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
AngularJS双向绑定和依赖反转实例详解
2017/04/15 Javascript
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
vue插槽slot的简单理解与用法实例分析
2020/03/14 Javascript
Python3.x和Python2.x的区别介绍
2013/02/12 Python
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
python简单获取本机计算机名和IP地址的方法
2015/06/03 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
Python global全局变量函数详解
2018/09/18 Python
python使用插值法画出平滑曲线
2018/12/15 Python
浅析Python 引号、注释、字符串
2019/07/25 Python
Python turtle库绘制菱形的3种方式小结
2019/11/23 Python
python如何实现复制目录到指定目录
2020/02/13 Python
解决Python pip 自动更新升级失败的问题
2020/02/21 Python
python 基于opencv实现图像增强
2020/12/23 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
一套SQL笔试题
2016/08/14 面试题
如何获得EntityManager
2014/02/09 面试题
与UNIX有关的几个名词
2015/09/17 面试题
工程预算与管理应届生求职信
2013/10/06 职场文书
安全大检查实施方案
2014/02/22 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
入党自荐书范文
2015/03/05 职场文书
创业计划书之旅游网站
2019/09/06 职场文书
Nginx缓存设置案例详解
2021/09/15 Servers