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实现的图片马赛克后显示并切换加文字功能
Apr 21 Javascript
javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
Jun 02 Javascript
图片img的src不变让浏览器重新加载实现方法
Mar 29 Javascript
JavaScript前端图片加载管理器imagepool使用详解
Dec 29 Javascript
jQuery遍历DOM元素与节点方法详解
Apr 14 Javascript
BootStrap glyphicons 字体图标实现方法
May 01 Javascript
Node.js读取文件内容示例
Mar 07 Javascript
详解Node项目部署到云服务器上
Jul 12 Javascript
JavaScript正则表达式函数总结(常用)
Feb 22 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
Nov 06 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
Jul 13 Javascript
js 函数性能比较方法
Aug 24 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
全国FM电台频率大全 - 14 江西省
2020/03/11 无线电
用php+javascript实现二级级联菜单的制作
2008/05/06 PHP
php生成随机颜色的方法
2014/11/13 PHP
PHP基于GD库的图像处理方法小结
2016/09/27 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
PHP htmlspecialchars_decode()函数用法讲解
2019/03/01 PHP
弹出广告特效代码(一个IP只弹出一次)
2007/05/11 Javascript
JSON JQUERY模板实现说明
2010/07/03 Javascript
jQuery中$.fn的用法示例介绍
2013/11/05 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
2016/05/31 Javascript
BootStrap实现树形目录组件代码详解
2016/06/21 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
2016/07/28 Javascript
JQuery之proxy实现绑定代理方法
2016/08/01 Javascript
手机端实现Bootstrap简单图片轮播效果
2016/10/13 Javascript
Bootstrap免费字体和图标网站(值得收藏)
2017/03/16 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
win7上python2.7连接mysql数据库的方法
2017/01/14 Python
Python logging模块用法示例
2018/08/28 Python
Python异常处理例题整理
2019/07/07 Python
python创建学生管理系统
2019/11/22 Python
150行Python代码实现带界面的数独游戏
2020/04/04 Python
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
什么是聚集索引和非聚集索引
2012/01/17 面试题
工程部主管岗位职责
2013/11/17 职场文书
装修致歉信
2014/01/15 职场文书
公司端午节活动方案
2014/02/04 职场文书
网络管理专业求职信
2014/03/15 职场文书
咖啡店创业计划书范文
2014/09/15 职场文书
2014年党员整改措施
2014/10/24 职场文书
幼师求职自荐信
2015/03/26 职场文书
普通员工辞职信范文
2015/05/12 职场文书
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python
python APScheduler执行定时任务介绍
2022/04/19 Python