style: html to md syntax

This commit is contained in:
Plumbiu
2023-08-24 10:31:27 +08:00
parent 229e847514
commit 0a96f3658b
88 changed files with 459 additions and 459 deletions

View File

@@ -1,17 +1,17 @@
# 6.绘制地图
作为一个 RPG 游戏怎么能没有地图呢,<em>是时候绘制地图了!</em>
作为一个 RPG 游戏怎么能没有地图呢,*是时候绘制地图了!*
绘制地图的最佳工具始终是:一支铅笔和一张纸。基本地图由<strong>位置</strong>(矩形)组成,由道路(箭头)连接。我们已经在第 3 章中创建了位置,现在我们将开始添加道路。
绘制地图的最佳工具始终是:一支铅笔和一张纸。基本地图由**位置**(矩形)组成,由道路(箭头)连接。我们已经在第 3 章中创建了位置,现在我们将开始添加道路。
在虚拟世界中,“道路”可能是连接两个位置的任何东西:一条路,一扇门,沙漠中。基本上,一段经文具有以下属性:
- 起点(位置)。
- 目标(位置)。
- 叙述性描述,例如“森林小径”。
-<em>go</em> 命令中往哪里走的描述性标记
-*go* 命令中往哪里走的描述性标记
考虑到这些属性,第 4 章中定义的结构对象就非常适合存储道路了。事实上,一个道路与一个项目或 NPC 并没有太大的不同它作为“可见出口”存在于某个位置该位置是起点。它只是与某些命令的行为不同特别是命令“go”应用于道路<em>go</em>将改变玩家的位置。
考虑到这些属性,第 4 章中定义的结构对象就非常适合存储道路了。事实上,一个道路与一个项目或 NPC 并没有太大的不同它作为“可见出口”存在于某个位置该位置是起点。它只是与某些命令的行为不同特别是命令“go”应用于道路*go*将改变玩家的位置。
```c
struct object {
@@ -24,9 +24,9 @@ struct object {
注意:
- 显然,<em>目的地</em>在大多数其他对象物品NPC中都没有使用
- 显然,*目的地*在大多数其他对象物品NPC中都没有使用
- 通道总是朝一个方向运行;要双向连接两个位置我们总是必须创建两个单独的通道。乍一看这似乎很笨拙但它确实给了我们很大的灵活性来完善命令“go”的行为
- 在大地图上,你可能会发现手动创建所有通道很乏味。所以,我强烈建议你使用自定义工具<em>生成</em>地图中重复性更强的部分。这里不会介绍这一点,但您可能会在第 9 章中找到一些灵感,我们将在其中讨论自动胜场。
- 在大地图上,你可能会发现手动创建所有通道很乏味。所以,我强烈建议你使用自定义工具*生成*地图中重复性更强的部分。这里不会介绍这一点,但您可能会在第 9 章中找到一些灵感,我们将在其中讨论自动胜场。
::: warning 🤔 思考题:为什么创建两个通道可以使我们的程序更加灵活?
:::
@@ -75,7 +75,7 @@ OBJECT objs[] = {
};
```
我们将在 <em>misc.c</em> 中添加一个小的帮助函数,以确定两个给定位置之间是否存在通道。
我们将在 *misc.c* 中添加一个小的帮助函数,以确定两个给定位置之间是否存在通道。
## misc.h
@@ -139,7 +139,7 @@ int listObjectsAtLocation(OBJECT *location)
}
```
我们将在命令“go”的实现中使用新功能<em>getPassage</em>来确定是否存在可以将玩家带到所需位置的通道。
我们将在命令“go”的实现中使用新功能*getPassage*来确定是否存在可以将玩家带到所需位置的通道。
## location.h
@@ -201,7 +201,7 @@ void executeGo(const char *noun)
}
```
我们还将使用新功能<em>getPassage</em>来确定从玩家站立的位置是否可以看到某个位置。未通过通道连接到当前位置的位置不被视为可见。
我们还将使用新功能*getPassage*来确定从玩家站立的位置是否可以看到某个位置。未通过通道连接到当前位置的位置不被视为可见。
## noun.h