mysql - 在 SQL 中存储游戏 map

标签 mysql sql database

map 将基于图 block ,并且具有以下两个主要数据存储要求

  • “可步行”地 block 列表(这可以用与 NxN 地 block 相对应的单个 0 和 1 字符串表示?)
  • 映射到那些 NxN block 的图像路径列表

我的菜鸟想法

  • 每个“ map ”都是 map 表中的一行。
  • “可行走”方 block 可以存储为单个字符串。我读到通常不建议这样做,但不知道有更好的表示方法,因为这些值只能是两个值之一。
  • 我不确定如何存储与图 block 相关联的 NxN 图像路径字符串。

一般来说,我对 SQL 和数据存储架构非常缺乏经验,所以我想从有关如何设置此方案的建议中学习。

最佳答案

从广义上讲,我会这样处理这个问题:

Tiles
  Tile_ID
  Tile_Name(?)
  Walkable
  Image_Path

Maps
  Map_ID
  Map_Name

Map_Tiles
  Map_ID
  Tile_ID
  X_Coordinate
  Y_Coordinate
  Orientation
  Walkable(?)

根据关系设计原则,您不想做的事情:

  • 将多个数据元素(图 block )强制放入一行(即不要 将 map 的所有图 block 放在一行中)。
  • 使用多个数据元素重载单个字段(即不要将 map 的所有图 block 放入单个字段中)。

关于mysql - 在 SQL 中存储游戏 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23501584/

相关文章:

database - 规范化过多与过少,例子?

mysql - 我想在 mysql 中创建一些带有索引和数据的特定列的表

mysql - 用于向多个用户发送消息的数据库架构

mysql - SQL 多重内连接

sql - 如何改进这个条件 UPDATE 查询?

SQL - Impala - 如何将一个分类列展开为多个分类列?

mysql - 如何合并两列并在其中进行搜索?

php - Mysql 没有从数据库中检索完整数据

mysql - 从 progressdb 迁移到 mysql

php - MySQL 查询检查一行单元格的值并返回列名