matchymatchy
目标是用最少的移动次数复制右上角的图案。
仍在开发中

有趣的事实:这个应用程序完全是在emacs上开发的!
架构
此应用程序实现了Didier Boelens的BLoC方法。
这个想法是通过响应bloc的Stream的小部件来展示数据。
为了简化状态管理,我还实现了EventStates
blocs,它们根据事件发出新的小部件状态。
多人游戏
多人游戏由Firebase处理。Firestore数据库存储所有比赛、队列和用户
信息,所有端点都是用TypeScript编写的Firebase Functions
(项目在目录 functions 中)。
- 队列
当玩家寻找新比赛时,他们会被放入一个FIFO队列,并在找到对手后立即开始比赛。
为他们选择一个共同的目标,谁以最少的步数到达目标
谁就获胜。
- 重新连接
玩家可以随时离开比赛,稍后重新连接。活跃的比赛存储在设备上
通过sqflite。
- 认输
玩家可以认输。这将立即触发对手的获胜条件。
- 移动/获胜/挑战通知
通知通过Firebase Cloud Messaging处理。每当玩家受到挑战,或对手走一步时,双方都会收到通知。
如果您想使用在线组件,可以创建一个新的Firebase项目,
创建您自己的google-services.json并将其放在android/app下。
单人游戏
该应用程序附带了一个sqflite数据库,包含500种目标字段+游戏字段的组合。随机
选择一个组合。