一个用 ES6 + Vue.js + Vuex + Element-UI TCG卡牌游戏的练习 关注TCG卡牌游戏数据流的响应、交互,构建可智能化基础范式
很久没有写代码了,过程中重新学习基于ES6现代化Javascript技术,原本对于只是为了好奇学习Ract+Redux的Flux流设计思维。但后来进一步接触到了Vue.js 后,脑洞大开后,就开始将设计的TCG卡牌规则写成的这个练习。过程中,遇到很多问题,更进一步学习基于Promise 的异步编程、函数式编程的思考、范式与通过Ramda 库的练习。
如果对项目感兴趣与交流,请联系 [email protected] 或 QQ: 1494316636
- 基于Vuex 的TCG卡牌数据流、状态管理(套牌启动、回合、战斗计算等)
- 通过Vuex 完成基础的卡牌动作(牌区、发牌、抽卡、弃牌等)
- 简易的单文件组件,组织交互的UI
- 通过函数组合,基础卡牌效果DSL定义与效果事件触发
- 效果引擎
- 完善函数式范式,描述卡牌效果,与追加更多效果触发
- 采取代码DSL宏模式,或类似Scratch积木式卡牌效果编辑器
- 英雄系统
- 能量消耗(Cost)、主动式效果发动
- 可移植的UI、更进一步完善卡牌效果与UI交互
- 单张卡牌效果的单元测试范式
- 通过网络的PvP
- HCI/AI Agent
- Reinforcement Learning AI environment
- 应用响应式编程、函数式编程到卡牌引擎
- Reactive Functional Programming
- RxJS
- Cycle.js / Most.js
- Clojure / ClojureScript
官方规则参考链接
- ES6与函数式编程
- fireplace - Hearthstone simulator in Python
- Vue.js / Vuex
- Promise
- Ramda
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev