update
chore: add 3.4.6.2 chore: add 3.4.6.3 chore: add 3.4.6.4 chore: add 3.4.6.5 chore: add 3.4.6.6 chore: add 3.4.6.7 chore: add 3.4.6.8 chore: add 3.4.6.9 chore: add 3.4.6.10 docs: add 3.6.5.1
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 4.创建对象
|
||||
|
||||
<em>在我们继续之前,我</em><em>们</em><em>在这里使用的是</em><em>哲学意义上</em><em>的“对象”一词。它与</em><em>面向对象编程</em><em>无关,也与</em><em>Java</em><em>,</em><em>C#</em><em>和</em><em>Python</em><em>等编程语言中预定义的“对象”类型没有任何共同之处。下面,我将定义一个名为 object 的</em><em>结构体。。</em>
|
||||
<em>在我们继续之前,我</em><em>们</em><em>在这里使用的是</em><em>[哲学意义上](https://en.wikipedia.org/wiki/Object_(philosophy))</em><em>的“对象”一词。它与</em><em>[面向对象编程](https://en.wikipedia.org/wiki/Object-oriented_programming)</em><em>无关,也与</em><em>Java</em><em>,</em><em>C#</em><em>和</em><em>Python</em><em>等编程语言中预定义的“对象”类型没有任何共同之处。下面,我将定义一个名为 object 的</em><em>结构体。</em>
|
||||
|
||||
冒险游戏中的大多数谜题都围绕着<strong>物品</strong>。例子:
|
||||
|
||||
@@ -47,9 +47,11 @@ objs[] = {
|
||||
|
||||
我们发现 OBJECT 的结构体里面有一个指针和自己长得一样,不用担心,这和链表的操作类似。
|
||||
|
||||
思考题:链表是什么,为什么要有这么一个操作指针?
|
||||
::: warning 🤔 思考题:
|
||||
链表是什么,为什么要有这么一个操作指针?
|
||||
|
||||
链表和数组有什么异同点,他们分别在增删改查上有什么优劣?
|
||||
:::
|
||||
|
||||
为了更容易地用那些所谓的物品或者是地点,我们将为每个元素定义一个名字
|
||||
|
||||
@@ -80,7 +82,8 @@ for (obj = objs; obj < objs + 5; obj++)
|
||||
}
|
||||
```
|
||||
|
||||
暂停理解一下吧
|
||||
::: warning 🤔 暂停理解一下吧
|
||||
:::
|
||||
|
||||
那么,我们有合并这个物品(或地点)列表有什么好处呢?答案是这会让我们的代码变得更加简单,因为许多函数(如上面的函数通过这样的列表)只需要扫描单个列表就可以实现,而不是三个列表。有人可能会说没必要,因为每个命令仅适用于一种类型的对象:
|
||||
|
||||
@@ -96,7 +99,8 @@ for (obj = objs; obj < objs + 5; obj++)
|
||||
|
||||
将所有对象放在一个大列表中,很容易添加一个名为“type”的属性来<em>构造对象</em>,以帮助我们区分不同类型的对象。
|
||||
|
||||
怎么做怎么遍历呢?先思考吧
|
||||
::: warning 🤔 怎么做怎么遍历呢?先思考吧
|
||||
:::
|
||||
|
||||
但是,对象通常具有同样有效的其他特征:
|
||||
|
||||
@@ -169,7 +173,8 @@ OBJECT objs[] = {
|
||||
extern OBJECT *getVisible(const char *intention, const char *noun);
|
||||
```
|
||||
|
||||
## 指针?函数?希望你已经掌握这是什么了
|
||||
::: warning <font size=5><strong>🤔 指针?函数?希望你已经掌握这是什么了</strong></font>
|
||||
:::
|
||||
|
||||
## noun.c
|
||||
|
||||
|
||||
Reference in New Issue
Block a user