代码编织梦想

     近来掘金举办前端比赛,所以写了一个小游戏参加,而且熟悉一下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
  }

}

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

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Thekingyu/article/details/128003475

collections.unmodifiablelist方法的使用与场景 _逸卿的博客-爱代码爱编程

Collections.unmodifiableList方法的使用与场景 [url=http://auto.315che.com/mini/qa24196114-r1.htm?bk]础挽[/url] [url=http://auto.315che.com/zhisheng/qa24215144.htm?kt]砂骨[/url] http://auto.31

汉语转拼音和五笔简码_weixin_34121282的博客-爱代码爱编程

2019独角兽企业重金招聘Python工程师标准>>> 1、首先引入汉语转拼音和五笔的基础服务 HanToWB.java package com.love.life.common; public class HanToWB { private static String[] WB = new Strin

vue功能-键盘_你眼中的柔情的博客-爱代码爱编程_vue 汉字键盘

继上篇数字键盘以后,这篇文章写一下键盘用法,同猿们拿好小本本! 1.封装的键盘组件 <template> <div class="vitualKeyboard"> <div

js 将简体字转化成繁体字-爱代码爱编程

在vue中将简体字转化成繁体字 这段代码写在utils.js中 function simpPYStr(){ return '啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背

js输入汉字转拼音简码和五笔简码-爱代码爱编程

//1.首先需要汉字拼音首字母列表var strChineseFirstPY = “YDYQSXMWZSSXJBYMGCCZQPSSQBYCDSCDQLDYLYBSSJGYZZJJFKCCLZDHWDWZJLJPFYYNWJJTMYHZWZHFLZPPQHGSCYYYNJQYXXGJHHSDSJNKKTMOMLCRXYPSNQSECCQZGGLLYJLMY

前端js实现中文转五笔和拼音首字母-爱代码爱编程

前端项目中使用到中文转五笔的功能,在网上找了到该代码,但是没有对特殊字符和数字进行处理。 五笔简码的字库来源: https://blog.csdn.net/Celebrity_Senior/article/details/52727926 // 汉字拼音首字母列表 本列表包含了20902个汉字,用于配合 ToChineseSpell

tf 文字识别 多个文字 data 数据流-爱代码爱编程

原文链接: tf 文字识别 多个文字 data 数据流 上一篇: tf 单个文字识别 data 数据输入 下一篇: vue 俄罗斯方块 两万次训练, 对于这种样式的文字, 已经有了几乎百分之八十的概率识别成功 三万步基本九成左右 使用adam学习率设为0.01 时不太容易收敛, 需要使用小

元宇宙引擎脑语言2500令v0.5.6-爱代码爱编程

元宇宙引擎脑语言2500令v0.5.6 ⒈Q ⒉W ⒊E ⒋R ⒌T ⒍Y ⒎U ⒏I ⒐O ⒑P ⒒A ⒓S ⒔D ⒕F ⒖G ⒗H ⒘J ⒙K ⒚L ⒛X ⑴C ⑵V ⑶B ⑷N ⑸M 脑 配 班 令 述 横 纵 深 宽 高 撑 锚 旋 色 透 倾 作 页 位 件 携 禁 址 妙 戏 1大脑 串配 班级 指令 描述 横向 纵向 深度 宽度 高度 缩放

脑语言v0.5.8 2500令【单字编程】_脑语言的博客-爱代码爱编程

脑语言v0.5.8 2500令【单字编程】 【号】【单字】【多字】【英文】 1 1脑 脑语言 naoyuyan 2 配 配置 config 3 班 班级 grade 4 令 指令 command 5 述 描述 description 6 横 ■横 ■x 7 纵 ■纵 ■y 8 深 ■深 ■z 9 宽 ■宽 width 10 高 ■