数据库运维:数据库设计-二维平铺网格(racewarkingdoms)

关于数据库运维的问题,在racewarkingdoms中经常遇到, 不久前,我玩了一个名为 racewarkingdoms 的网络游戏。它使用了一个基于 2D 文本的系统。我感兴趣的是地图。该地图由 X 方向上的 255 个图块和 Y 方向上的 255 个图块组成。这些地图总共有 5 个。但是令人惊讶的是,每个地图都包含如此多的数据。每个图块都包含自己的“王国”,每个图块大约有 50 个变量。然后

不久前,我玩了一个名为 racewarkingdoms 的网络游戏。它使用了一个基于 2D 文本的系统。我感兴趣的是地图。该地图由 X 方向上的 255 个图块和 Y 方向上的 255 个图块组成。这些地图总共有 5 个。但是令人惊讶的是,每个地图都包含如此多的数据。每个图块都包含自己的“王国”,每个图块大约有 50 个变量。然后

如何设计这样的东西。我怀疑每个磁贴都是一个表。我会假设你会有一个 map1_table 与将在任何中找到的不同元素,但我只是不确定。我正在接近一个情况,我需要一个类似的设计,但不知道从哪里开始。

谢谢

4

首先,我将从定义这样的地图开始,

MAPS
Id  
Name  
Xmax  
Ymax

在这里,您可以通过指定名称和最大尺寸来定义地图。您可以使用最大尺寸来约束图块。

TILES
Id
MapId
X
Y

然后构造一个图块属性表以保存与图块关联的所有属性。

TILEPROPERTIES
Id
TileId
Name
Value

这将是我的实现,并不意味着它应该为你工作,但它希望让你开始。

2
Click here for scheme file

我建议使用以下结构结合我的方案:

瓷砖通常保存瓷砖的数量,每个瓷砖都有一个 ID,瓷砖的大小是硬编码的:例如 5 * 5 px。

tiles_meta 保存名称,以及简短的“工具提示”描述。META 是自解释的;)

tiles_content_low 包含少数的瓦片。在这里,你应该包括用户将访问多次的东西,但保持最小。

tiles_content_medium 包含诸如“这里可以找到项目 xy 的机会为 12 %”。创建带有项目的附加“loot_table”。“item_hash”是可能下降的项目的所有项目 ID 的哈希。

tiles_content_large 是最大的表。在这里,您可以存储播放器所在的图块内部的坐标,他的项目编号 1234 等。

table: tiles
id
table: tiles_meta
id
tile_id
name
desc
table: tiles_content_low
id
tile_id
owner_id
go_id
table: tiles_content_medium
id
tile_id
mob_hash
item_hash
table: tiles_content_large
id
tile_id
savegame

如果要使用 JavaScript 构建 tile_set 或“map”,请不要在服务器上生成整个地图,只需将图块日期传递给 JavaScript 即可。这将节省很多性能。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(79)
C环境配置:NPM配置列表:环境配置-注册(npm config list)
上一篇
Postman接口测试实例:使用Postman测试VSCode
下一篇

相关推荐

  • chinesefedome黄金如何利用黄金时代的优势实现全国一体化

    ChineseFederation Gold(CFG)是一个开源的区块链协议,旨在构建一个可扩展、安全、可信赖的分布式账本系统。它采用了一种特殊的共识机制,可以支持多种应用,并且可以满足不同类型的用户需求。…

    2024-03-21 03:30:40
    0 10 32
  • java random 范围:Unlocking the Power of Randomness in Java

    示例示例Java Random范围指的是使用Java Random类生成随机数的范围,即生成的随机数的最大值和最小值。Java Random类提供了多种方法来生成随机数,其中最常用的是nextInt(int n)方法,该方法可以生成一个0到n之间的随机整数,其中n代表最大值,如果要生成一个0到100之间的随机整数,可以使用以下代码:…

    2023-04-09 02:29:34
    0 28 41
  • javascriptdom编程艺术:JavaScript DOM Programming Art

    JavaScript DOM编程艺术是一种使用JavaScript来操纵HTML文档的技术。它可以让开发者在浏览器中创建动态、交互式的Web页面。…

    2023-12-17 03:58:09
    0 14 40
  • java random用法:Unlocking the Secrets of Java Random

    Java Random类用于生成伪随机数,它是java.util包中的一个类。它可以用来生成各种类型的随机数,如整数、浮点数、布尔值等。…

    2023-03-16 05:23:32
    0 28 21
  • Com.baomidou:将Domain.com/shop更改为domain.com

    关于Com.baomidou的问题,在domain .shop中经常遇到,我最近买了一个.Shop 域名,安装了 Wordpress 然后 Woocommerce。问题是,当我安装 Woocommerce 插件时,它会自动在我的网站上创建一个产品页面,网址如下:Domain.shop / SHOP,我希望产品页面成为网站的主页 Domain.shop 而不是 domain.shop / SHOP。…

    2022-12-05 14:24:31
    0 35 40
  • Hibernate抛出org.hibernate.AnnotationException:没有为实体指定标识符:com..dom

    为什么我得到这个异常?…

    2022-11-11 15:18:33
    0 76 61
  • java中static修饰的变量:静态变量在Java中的应用

    static修饰的变量是一个静态变量,也称为类变量,它属于类,而不属于某个对象。静态变量在内存中只有一个副本,所有的对象共享这一个副本。…

    2023-04-16 09:28:00
    0 90 75
  • win7玩cf卡顿怎么解决:解决Win7环境下CF游戏卡顿问题

    尝试更新系统:可能是由于系统缺少某些补丁或者更新导致CF卡顿,可以尝试在Windows Update中进行检查更新,并安装最新的补丁和更新。更新显卡驱动:可能是由于显卡驱动过旧或者不兼容导致CF卡顿,可以尝试更新显卡驱动,可以到显卡厂商官网下载最新的驱动进行安装。…

    2023-04-10 10:31:26
    0 53 49

发表评论

登录 后才能评论

评论列表(77条)