vue3 斗兽棋游戏
创始人
2024-02-10 08:13:37
0

     近来掘金举办前端比赛,所以写了一个小游戏参加,而且熟悉一下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.Belonginginfor.farstValue++infor.flopStutas = infor.manStutas}infor.dataList.forEach(element => {if (element.brandInfor && element.brandInfor.id == item.brandInfor.id) {element.brandInfor.rote = trueinfor.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.brandInforelement.carStutas = true// 平子if (valstu) {element.brandInfor = {}element.carStutas = falseif (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 = falseinfor.oldValue = falseinfor.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}}

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

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

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...