vue3 斗兽棋游戏

news2024/11/17 23:43:47

     近来掘金举办前端比赛,所以写了一个小游戏参加,而且熟悉一下vue3,写了一下游戏,思来想去就写了一个斗兽棋游戏。

        欢迎去给我加油      点赞评论收藏  ,试玩地址  游戏地址 童年斗兽棋 - 码上掘金

https://code.juejin.cn/pen/7168678657873969160  进入有点击右上方  ‘运行’

   

下面写一下思路

                   斗兽棋上下各八个棋子,一个16位置的格子,本来用一个数组写出来,后来想起需要空位,还有棋子跳转路径规则,所以设置了以下结构

dataList: [
    {
      index: 0,//当前位置
      ruleval: [1, 4],//规则
      carStutas: false,//当前位有牌
    }, {
      index: 1,
      ruleval: [0, 2, 5],
      carStutas: false,//当前位有牌
    },

然后设置每个棋子信息

{
      'id': i,   //每个id
      'Ranking': i, //棋子的权重
      'url': "http://www.jmyuyu.cn/demo/img/b" + i + ".png",//棋子图片
      'rote': false,//是否已经翻牌
      'Belonging': 'blue',//所属蓝方
      'colorStutas': false,//显示选中的图标
    }

然后设置图片 图片为两张图片 第一张为背面 第二张为棋牌

最重要的是css 点击后两张翻转180度   第一张用到了一个 backface-visibility: hidden;,,此为翻转后消失的css.注意背面的棋牌需要先翻转180,这样转过来正好是正面。

然后翻牌

// 判断翻牌
const flop = (item) => {
  if (infor.farstValue == 0) {
    infor.manStutas = item.brandInfor.Belonging
    infor.farstValue++
    infor.flopStutas = infor.manStutas
  }
  infor.dataList.forEach(element => {
    if (element.brandInfor && element.brandInfor.id == item.brandInfor.id) {
      element.brandInfor.rote = true
      infor.clickValue = 0
    }
  });
  infor.flopStutas = infor.flopStutas == 'red' ? 'blue' : 'red'
  hoverStutas(infor.flopStutas)
}

吃牌  实际就是新老两个数组调换一下

//吃牌
const eatBrand = (oldValue, newValue, valstu) => {
  let oldValues = JSON.stringify(oldValue)
  let newValues = JSON.stringify(newValue)
  infor.dataList.forEach(element => {
    if (newValue.index == element.index) {
      if (element.brandInfor.Belonging == 'red') {
        infor.redList.push(JSON.parse(newValues))
      }
      if (element.brandInfor.Belonging == 'blue') {
        infor.blueList.push(JSON.parse(newValues))
      }
      element.brandInfor = oldValue.brandInfor
      element.carStutas = true
      // 平子
      if (valstu) {
        element.brandInfor = {}
        element.carStutas = false
        if (JSON.parse(oldValues).brandInfor.Belonging == 'red') {
          infor.redList.push(JSON.parse(oldValues))
        }
        if (JSON.parse(oldValues).brandInfor.Belonging == 'blue') {
          infor.blueList.push(JSON.parse(oldValues))
        }

      }
    }
  });
  infor.dataList[oldValue.index].brandInfor = {}
  infor.dataList[oldValue.index].carStutas = false
  infor.oldValue = false
  infor.flopStutas = infor.flopStutas == 'red' ? 'blue' : 'red'
  hoverStutas(infor.flopStutas)

  if (infor.redList.length == 8) {
    if (infor.blueList.length == 8) {
      infor.victoryMan = '平局!'
    } else {
      infor.victoryMan = '蓝方胜利!'
    }
    infor.victory = true
  }

  if (infor.blueList.length == 8) {
    if (infor.redList.length == 8) {
      infor.victoryMan = '平局!'
    } else {
      infor.victoryMan = '红方胜利!'
    }
    infor.victory = true
  }

}

这里就不多述了,大家都看得懂,非常简单。

核心就这么多。欢迎大家试玩!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/30027.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

四川水泥杂志四川水泥杂志社四川水泥编辑部2022年第11期目录

水泥与混凝土 外加剂含固量对混凝土性能影响的分析 金世鑫; 1-4 《四川水泥》投稿:cnqikantg126.com 粉煤灰在干混砂浆中的应用研究 方光旭;古再努尔依明;杨博;陈南希;张琰琦; 5-7 浅析透光混凝土在建筑空间中的应用 李嘉;李嘉鑫; 8-10 研究与探讨…

c++ 智能指针 shared_ptr

C 智能指针 shared_ptr 详解与示例_码农小明的博客-CSDN博客_shared_ptr 一、简介 shared_ptr 是c11的智能类,可以在任何地方都不使用的时候自动删除和相关指针,从而彻底消除内存泄漏和指针悬空的问题。 她遵循共享所有权,即不同的shared_pt…

CVPR‘15 Joint action recognition and pose estimation from video

任务:action recognition and pose estimation 思路:对动作和姿态进行统一建模,将动作分成姿态,再将姿态分成part,学习三种level特征,通过动态规划有效的推断动作标签和姿态。 方法:统一建模…

通俗理解计算机操作系统的作用

“操作系统”,简称“OS”,是一个包含多个部分和多个目标的大型程序。 它的第一项工作是在你第一次打开计算机时启动并运行计算机。它的另一项工作是启动和结束应用程序,并给每个程序一个运行时间。它是那台计算机上所有其他程序的“老大”。当…

【App自动化测试】(一)Appium和移动端自动化

目录1. 目前mobile自动化解决方案1.1 iOS和Android 测试工具1.2 自动化工具的选择1.3 选择自动化工具的考虑因素2. Appium介绍2.1 Appium介绍2.2 多架构支持2.3 推荐Appium的理由2.4. Appium框架介绍2.4.1 Appium引擎列表2.4.2 Appium设计理念前言: 本文为在霍格沃兹…

多智能体强化学习MARL的概念和框架

1.多智能体强化学习 系统里的agents数量大于1,agents彼此之间不是独立的 每个agent的动作都能影响到下一个状态每个agent都能影响到其他agent 除非agent之间是独立的,否则单一agent的RL方法不适合MARL 2.MARL的类型 Fully cooperative(完…

智慧医院智慧医疗解决方案

IBM于2009年提出“智慧医疗”这一理念。作为“智慧的地球”战略的重要组成部分,致力于构建一个“以病人为中心”的医疗服务体系。通过在服务成本、服务质量和服务可及性三方面取得一个良好的平衡,从而优化医疗实践成果、创新医疗服务模式和业务市场&…

Unity插件Obi.Rope详解

前言 Obi.Rope插件的使用方法 绳子的创建 创建后的Obi Rope,Inspector面板如下所示,组件比较多,其中Obi Solver是绳子,布料,液体等的总处理器,也可以单独分出来此组件为一个独立的游戏对象。 绳子的形状…

风控标签体系的使用与介绍

随着大数据技术的深入研究与应用,企业的专注点日益聚焦于怎样利用大数据来为精细化运营及精准营销服务,进而深入挖掘潜在的商业价值。于是,用户画像的概念也就应运而生。 在推荐系统中, 【推荐系统内容,详情可以关注番…

弘玑Cyclone2022产品发布会:全新上线智能文档处理交互平台——尚书台

近日,在弘玑Cyclone“智无边界,数字未来”发布会上,弘玑Cyclone2022年超级自动化系列产品全新亮相,首席产品官贾岿博士带领产品团队以创新技术对新时代语境下的数字生产力进行了全新解读。 上期为大家介绍了人人可用的数字化工作…

Java工具库Guava的数学运算常用方法示例代码

场景 Java核心工具库Guava介绍以及Optional和Preconditions使用进行非空和数据校验: Java核心工具库Guava介绍以及Optional和Preconditions使用进行非空和数据校验_霸道流氓气质的博客-CSDN博客_guava 校验 为什么使用 Guava Math 1、Guava Math 针对各种不常见…

web网页设计期末课程大作业:美食餐饮文化主题网站设计——中华美德6页面HTML+CSS+JavaScript

🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

MCE | 表观遗传:YTHDF蛋白调节 m6A-RNA

近期,美国康奈尔大学 Samie R. Jaffrey 研究组在 Cell 上发表了题为 “A Unified Model for the Function of YTHDF Proteins in Regulating m6A-Modified mRNA” 的研究,揭示了 YTHDF 蛋白调节 m6A 修饰的 mRNA 的功能统一模型。与“不同的 m6A 位点结合…

反向传播——机器学习

目录 一、实验内容 二、实验过程 1、算法思想 2、算法原理 3、算法分析 三、源程序代码 四、运行结果及分析 五、实验总结 一、实验内容 掌握线性反向传播的原理;掌握线性反向传播的算法Python实现;熟悉非线性反向传播的原理;掌握非线性…

图的存储方式

一、邻接矩阵 图的邻接矩阵存储方式就是用两个数组来表示图。一个一维数组存储图的顶点信息,另一个二维数组存储图中边的信息。 对于无向图来说,我们可以用1表示两顶点相连,用0表示两顶点不相连。任意顶点的度为邻接矩阵中该节点的行或列的…

pytorch案例代码-2

循环神经网络——基础知识 适合前后有联系的连续数据预测,比如天气预测、股市预测、自然语言等,而这些用DNN、CNN来做计算量就太大或者没法做,h0是先验,也可以前面接上CNNFC后面连上RNN,就可以完成图像到文本的转换&am…

AE VAE 代码和结果记录

Auto Encoder 在MNIST 上记录 直接上代码 import os os.chdir(os.path.dirname(__file__)) import torch import torch.nn as nn import torch.nn.functional as F import torchvision from torchvision import transforms from torchvision.utils import save_image from to…

数据结构-学习-01-线性表之顺序表-初始化、销毁、清理、获取长度、判断为空、获取元素等实现

一、测试环境 名称值cpu12th Gen Intel Core™ i7-12700H操作系统CentOS Linux release 7.9.2009 (Core)内存3G逻辑核数2gcc 版本4.8.5 20150623 二、个人理解 数据结构分为逻辑结构和物理结构(也称为存储结构)。 1、逻辑结构 逻辑结构又可以分为以下…

JS 事件

事件 事件是 JS 和 HTML 交互的桥梁。采用“观察者模式”,使用仅在事件发生时执行的监听器(也叫处理程序)订阅事件 事件流 事件流描述的是页面接收事件的顺序。分为 3 各阶段: 事件捕获:最先触发,可以做…

致敬经典 睛彩再现——AVS产业联盟和中国移动咪咕公司携手推动AVS3视频、音频标准

2022年11月14日,中国移动咪咕公司首发AVS3移动端规模化商用版本咪咕视频6.0.7.00,该版本下设的“致敬经典 睛彩再现”专区、以及“菁彩视听”双Vivid直播视角(Audio Vivid & HDR Vivid),通过国家自主的AVS3、Audio…