IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 小小游戏第三弹--无敌剪刀手 -> 正文阅读

[JavaScript知识库]小小游戏第三弹--无敌剪刀手

小小游戏第三弹–无敌剪刀手

在这里插入图片描述


最近抽空学习了一下JavaScript,然后给大家写一个比较简单的石头剪刀小游戏,

先不废话直接开完一把,
在这里插入图片描述

1.废话额。。。

由于技术比较差,所以现在写的还是比较简陋的,我会依次给大家讲一讲用到的知识点,其实主要就是JavaScript部分的知识,以及超基础的HTML和css的盒子知识,由于我对于盒子的操作比较的差,导致我写的就比较难看,后期会改进的!

2.js部分

1.说一下思路把,首先得确保你学习到了,DOM,然后知道这个的工作原理,其实也是比较好理解的,我在这里就谈一下自己对DOM树的理解,先画个图

在这里插入图片描述

我们的 DOM 是document object model的简称 文本对象模型,其实就是 我们把整个页面进行抽象成一个个的对象,比如说,HTML里面的head标签,里面的div标签 我们可以在HTML里面直接通过style标签进行修改颜色,修改一些文本的居中操作,但是记住 我们的界面目前是静止的,如果我们想要我们的界面可以动起来,我们JavaScript出现了,它可以通过获取我们这些标签的id直接进行修改它的值,它的个颜色,文本的状态,进行事件的检测,进行一些基本的鼠标的移动检测,检测我们用户输入了哪个键等等,其实大家学习之后肯定都知道,JavaScript自己一个人,几乎可以干了所有的事情,几乎一个人包办了,这也是最强大的,但是由于JavaScript原始的代码过于繁琐,写起来十分的麻烦,有了jQuery,帮助我们,目前正在学习,可以推荐大家一个学习网站,大家可以自行获取。

3.学习网站

[attribute!=value] | jQuery API 3.2 中文文档 | jQuery API 在线手册 (cuishifeng.cn)

4.代码解释

看一下代码

先说一下思路把 就是 我们会进行绑定将我们的每一张图片进行循环绑定点击,

也即是只要有鼠标进行点击的话,我们就会触发事件(也即是函数或者方法)

然后我们会进行一个游戏函数的定义,我们会把用户点击的那个图片存起来,然后赋值给我们的那个神秘图片

然后就是对电脑的操作,我们也是先定义一个数组,这个数组里面存放剪刀石头布的图片,然后调用math函数采取里面的radom函数 这个函数是产生0~1的随机数 我们乘上我们的数组的长度,正好可以随机获取我们的下标,这样把随机获取的下标,对应到元素,然后这个元素与我们用户点击元素进行比较就好了

我会把 我的所有代码放到我的仓库里面 大家需要可以在后面自取。

    let imgs=document.getElementsByTagName('img')
    // console.log(imgs.length)
    for(let i=0;i<3;i++){
        imgs[i].onclick=function(){//进行点击事件的绑定
            playgame(this,i);//调用我们的

        }
    }

    function playgame(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=['./素材包/stone.png','./素材包/scissors.png','./素材包/cloth.png']//创建数据引入我们的数据进去
            let num = Math.floor(Math.random() * imgSrc.length);//进行取得随机值 我们的
            user.src=imgSrc[num]
            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="game over"

            }
        },200)//设置我们的电脑的反应时间 这里设置的时间就是 200ms

    }

简单说一下移动的图片咋弄的 其实很简单 我就是先获取这个图片,然后引入这个 'mousemove’这事件,只要我们移动鼠标就会触发这个事件,然后我们对这个事件进行补充一下,就是写个函数,把我们鼠标的坐标,传递给我们的图片就好啦

var pic=document.getElementById('pika')//这个就是获取一个标签为img的元素
document.addEventListener('mousemove',function (e) {
    //console.log(1);//只要鼠标移动1px我们的就会触发这个事件
    var x=e.pageX;//获取最新的坐标出来
    var y=e.pageY;//这个获取我们鼠标的坐标
    //3.千万不要忘记给我们的left和top添加px单位
    pic.style.left=x+'px';
    pic.style.top=y+40+'px';

})

5.代码获取处(如果需要的话)

SpongeBobPineapple house/小游戏 (gitee.com)

好啦 今天给大家分享 这些 如果觉得还可以大家可以点赞支持下~

在这里插入图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-25 10:29:45  更:2022-01-25 10:30:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:45:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码