📌前言
后端平均一天一个接口 , 每天在岗位上闲的蛋疼。
在摸鱼的过程中玩了一款网页的文字沙盒游戏 ,玩了小一会枯燥乏味 ,满眼的文字非常抗拒 , 所以突发奇想为何不改造成有动画 , 有图片 ,有属性的卡片游戏呢?
思之而作 , 《卡片天才》应运而生 , 这是一款纯前端vue
实现的卡片小游戏。
注意:游戏素材来源于网络 , 并未商用。
🍉玩法
- 堆叠卡片产生不同的效应
没错 , 到这就介绍完了🥰 , 游戏主打的就是简单而不可思议 , 欢迎大家摸鱼时游玩并私信博主
相较游戏而言是非常简单的
但是作为纯使用前端
vue
实现来说是非常困难的博主好几次都想不过来 , 需要大量的效应算法 , 以及阻断效应 , 和移动堆叠卡片重新匹配效应。
游戏画面
🍓技术
项目使用了帝莎编程 https://pc.dishait.cn/ , 这是一款vue3的开箱即用模板 , 不是打广告哈, 我并不是贡献者 , 我也是最近才发现的 , 模板中各种配置使用重复工作都写好了 , 可以直接上手。
- 大致描述一下
vite5 + vue3.4 + ts + vueuse + pinia + router + unocss + icones 等等
- 支持国际化以及暗黑模式
🍈开发思路
- 使用
vueuse
中的useDraggable
实现拖拽以及拖拽前后的判读。 - 使用
pinia
并开启persist
将游戏数据缓存起来 - 鼠标选中卡片时提高卡片层级,保证后选中的卡片在前选中的卡片高
- 卡片移动前解除卡片的效应,并编写算法根据移动卡片在卡组的位置,产生不同情况下的效应
- 卡片移动后与满足距离且最近的卡片组合,暂停卡组效应并根据最近卡片的组合情况产生新的效应。
🎉部分代码
移动前监听
1 | ts复制代码onStart: (position, e) => { |
移动后监听
1 | ts复制代码onEnd: (position, e) => { |
🍇后续思路
- 除了更新更多卡片外 , 还将更新每张卡片的独特属性 ( 例如: 人类性别 – 年龄)
- 金币系统以及战斗系统 (例如: 使用金币购买物品扩展卡片)
- 繁殖系统以及继承系统 (例如: 将不同性别的人类产生效应)
- 哥布林 ( 直接用博主照片 )
📚总结
发布这篇文章时只有两种效应和3张卡片 , 后续会更新创作。
可以查看更新日志和博主一起成长
欢迎各位留言以及私信。
本文转载自: 掘金