下载 App

【硬核知识】数字领主地图码的结构

2025/11/0362 浏览攻略
    数字领主地图码由二进制数据经过zlib压缩后base64转码形成,其原始二进制数据按以下形式排列内容:
    [Version][Title][Description][Author][DateTime][PlayerNumber][Width][Length][0x00000000][RandomSeat][CycleMap]
    [StarMode][0x02000000][Area][BattleField][0x00000000][0x00000000][0x00000000][0xFF030000][0x00000000][0x01000000][Fog]
    [OnlineTimePerTurn][OnlineTotalTime][0x03000000][PlayerInfo]
    这里出现十六进制数占位的地方,每个数字表示四个字节的值,是目前为止还不清楚作用的位(对地图主体几乎没有影响)
    其他位置的字节长度和表示的信息如下:
    Version     : [4位] 表示地图版本
    Title       : [字符串] 表示地图标题
    Description : [字符串] 表示地图简介
    Author      : [字符串] 表示地图作者
    DateTime  : [8位] 表示地图创建时间,值使用时间戳表示,时间原点为0001/01/01 00:00:00
    PlayerNumber: [4位] 表示玩家数
    Width       : [4位] 地图的宽
    Length      : [4位] 地图的长
    RandomSeat  : [1位] 是否开启随机出生 1开启0关闭
    CycleMap    : [1位] 是否开启滚动地图 1开启0关闭
    StarMode    : [4位] [0x00000000 ThreeStarTurn TwoStarTurn Star]
        ThreeStarTurn: [1位]三星回合数
        TwoStarTurn: [1位]两星回合数
        Star    : [1位] 是否开启星星模式 1开启0关闭
    Area        : [4位] 地图的地块数(等于Length*Width)
    BattleField : [nxTile位] 地图中地块和兵的信息,一个Tile表示一个地块,该字段第一个四位表示坐标0处的地块,以此类推,第n个四位表示坐标n处的地块信息
        Tile    : [4位] [Terrain Belong Strength 0x00000000]
            Terrain : [1位] 该值指示地块种类 0虚空1平原2据点3山地4海洋
            Belong  : [1位] 该值指示地块上兵的所属势力,如果是属于某个势力的兵,这个值与该兵所属势力Player的Seat属性一致,此外,0野生128空地255阻挡
            Strength: [1位] 该值指示地块上兵的兵力,如无兵则填入默认值0
    Fog         : [1位] 是否开启迷雾模式 1开启0关闭
    OnlineTimePerTurn: [4位] 联机模式下,每位玩家的步时限制,只能取[15,30,45,60,90,120,180]
    OnlineTotalTime  : [4位] 联机模式下,每位玩家的局时限制,只能取[60 , 180,300,600,1200,1800,3600]
    PlayerInfo  : [n*player位]
        player  : [Seat Name Team Computer Flag]表示一个势力的全部信息
            Seat    : [4位] 表示势力的行动顺序,首家为1,以此类推
            Name    : [字符串] 表示当前势力的名称
            Team    : [4位] 表示当前势力所属队伍,如为队伍k则值为2^(k-1)
            Computer: [4位] 表示扮演当前势力的电脑难度,255休闲1普通2困难3疯狂
            Flag    : [4位] 表示当前势力使用的旗帜编号
    上述说明中有一些字段的长度用「字符串」表示,这是数字领主地图码里一种可变长度的结构,「字符串」结构由[字符串长度n]+[字符串内容s]组成,其中「字符串长度」是1字节或2字节,表示字符串的长度,「字符串内容」长度是n字节,表示具体的字符串数据。
    当n∈(1,128)时,「字符串长度」为1位,值等于n。
    当n∈(128,256)时,「字符串长度」为2位,第二位不重要仅占位(但不是2),第一位值等于n
    当n=256时,「字符串长度」为2位,第二位固定是2,第一位值等于256。
    此外,使用多个字节表示数字的时候,前面的是低位,比如四位[0x01020000]就表示1+2x16²+0x16³+0x16⁴=513
基于此结构,你可以自己编写程序来创建可用的地图码,快去试试吧()
猜你想搜
数字领主 地图码结构
从一开始学数字领主-点数精算篇截图
从一开始学数字领主-点数精算篇
在处理小图,或者开局地块很少的时候,我们的每一个加点都至关重要,因此我们需要找到能最大化利用点数的方法。寻找最优解可能需要大量计算,我们称之为——点数精算。点数精算应用广泛,我们以案例的方式来介绍,向你展示其中的思想内核。 一.一格宽山地防守 我们先从最简单的案例出发,一格宽防守中,经常会出现的情况无外乎三种:退守,顶守和反推。 那么这三种模式哪个最好呢?让我们来计算一下。 退守:每回合消耗点数(
10 赞
1 回复
[入门攻略]平原三对二绝对防守(骗点循环)截图
[入门攻略]平原三对二绝对防守(骗点循环)
**序言** 在刚开始玩的时候,我们常常会有这个困扰:被电脑从四面八方围攻了,怎么办?聪明的你很快就学会了利用地图上的狭窄地形进行防守,这种防守既轻松又稳定,可以减少不小的压力。 那么作为这种思想的延伸,这一次你讲看到,即使是两格宽的地形,我们也可以通过巧妙的点数设计,让自己用极小的代价守住这个隘口,甚至还能借此创造兵力优势,话不多说,我们开始操演。 【三对二地形骗点循环】 技巧难度: 泛用性: 稳
8 赞
9 回复
【地图分享】二战欧洲战场截图
【地图分享】二战欧洲战场
计划做成一个欧洲史系列,这是第一张地图(Europe 1939),总计应该会有五张: Europe 1618,三十年战争 Europe 1683,神圣同盟战争 Europe 1804,拿破仑战争 Europe 1914,第一次世界大战 Europe 1939,第二次世界大战 底图是比照维多利亚2地区图做的,投影上偏墨卡托一些,高纬度会有加成,因此对于展现前现代“地中海世界”的历史较为不利,对于这一
53 赞
12 回复
【硬核知识】你知道地块位置有大小吗截图
【硬核知识】你知道地块位置有大小吗
数字领主地图中的地块数据被储存在一个一维数组中,每个地块有一个坐标,坐标的规律很简单,直接上图: 左下角坐标为0,然后从左到右,从下到上依次递增。 坐标比较在判断电脑的行动优先级中有应用,记住坐标排列机制后可以很显然的比较出两个地块的坐标大小关系。你学会了吗?
5 赞
3 回复
02:56
敌人十分强大时的对抗方法(要求敌人不邻水)截图
敌人十分强大时的对抗方法(要求敌人不邻水)
42 赞
12 回复
01:14
【参考答案】弃子·棋子截图
【参考答案】弃子·棋子
2 赞
2 回复
欢迎游玩,数字领主网页联机版截图
欢迎游玩,数字领主网页联机版
内测版本0.0.3 手机端优化还在进行中,使用电脑或平板以获取最佳体验。 实现功能: 1.完整的联机对局体验 2.地图编辑器,支持使用原版地图码导入地图,还可以上传你喜欢的地图到服务器(达到一定条件后即可免审核直接加入服务器图池) 3.个性皮肤,使用自己的图片当成地块皮肤 4.积分系统,多参与对局,变成积分高手 未来版本即将实装功能: 1.更好看的地形 2.进入局内不需要刷新就能自动对齐兵和地块 3
7 赞
01:17
《碎香集·檀》得祈诸魂截图
《碎香集·檀》得祈诸魂
通关视频,供参考 地图【地图分享】《碎香集·檀》得祈诸魂 https://www.taptap.cn/moment/750313602799372615?share_id=a9bcd912380a&utm_medium=share&utm_source=copylink
3 赞
4 回复
00:24
[新手攻略]三对二防守:骗点循环截图
[新手攻略]三对二防守:骗点循环
7 赞
[工具]数字领主地图编辑器V0.2更新截图
[工具]数字领主地图编辑器V0.2更新
更新时间 2026.08.11 更新内容: [bug]修复了指定电脑难度时赋值错误的bug [bug]修复了扩容行列时,行列值不正确的bug [bug]修复了特定情况下,struct无法正常粘贴进地图的bug [新增]现在可以删除行列了 [新增]涂刷模式新增涂刷大小选项,现在可以一次性涂1/7/19/37格
1 回复