java - 多米诺骨牌的 Android Studio 底层数据结构
问题描述
我目前正在尝试在 android studio 中开发“Dominoes”游戏。我关心的是board(grid)如何工作,因为这是我第一次创建游戏,我不知道我应该使用什么样的数据结构。
- 游戏有28张多米诺骨牌
- 每个多米诺骨牌都有两个面
是的,这项任务还有很多其他方面需要考虑,但就目前而言,我只关心董事会将如何处理多米诺骨牌。
我需要这个项目的底层数据结构的原因是因为这个游戏将上线,所以我们需要能够存储瓷砖位置的信息并将该信息发送给其他用户。
我最初的想法是二维数组。如果板是固定大小的,则二维数组将起作用,并且数组中的每个索引都有一个值,并且每个多米诺骨牌在放置在板上时都分配了该值。但我不确定如何将数据发送到数据库?当我想要发送的只是当前放置在屏幕上的特定图块时,我将发送整个 2D 数组。
我对此的第二个想法是存储瓷砖放置位置的索引并存储多米诺骨牌对象的地图。这样我们就可以只将地图发送到数据库,而不必发送一堆会减慢游戏速度并造成不必要流量的空信息。但是这个想法的问题是,如果我使用地图,我不知道如何索引每个多米诺骨牌以及它们如何对应于板上的索引?
无论如何,我确信有很多更简单更直接的方法可以实现这个想法,我很想知道使用底层数据结构创建棋盘游戏的人会使用什么方法。任何有关如何开始的帮助或指导将不胜感激!
解决方案
推荐阅读
- angular - 实现双向数据绑定的问题
- svg - Graphviz -> svg (->pdf) 文本对于某些查看者来说是开箱即用的
- ipfs - 文件是否可以引用它自己的 IPFS 哈希?
- ios - 从核心数据获取 SQL 类型的请求
- python - kivy,如何通过python在多线程中显示值(StringProperty)
- python - Python - 带有二维数组的 If 语句
- sql - SQL初学者问题:多列的CASE AS END?
- html - How can I get the functionality I need for both my Navbar and Accordion collapsible to work correctly?
- security - 免费 SSL 返回的证书
- django - Django url/route order not maintained