数组

现在假设我们要给玩家设计个背包,可以装三个物品:

# 只是举个例子,暂时就存字符串了。
var 背包格子1 := "水瓶"
var 背包格子2 := "钥匙"
var 背包格子3 := "金币"
print("背包中有:")
print(背包格子1)
print(背包格子2)
print(背包格子3)

这样我们就定义了三个变量来表示三个背包格子,但如果背包升级了呢?现在变成了 10 个格子,总不能定义 10 个变量吧。

数组定义

于是我们来认识一个新的数据类型:Array,中文名数组(也有人叫集合)。

数组就是一堆数据构成的组,在 GDScript 中使用一对方括号表示数组,在方括号中填入要保存的数据,数据之间用逗号分隔,例如使用数组制作背包:

var 背包: Array = ["水瓶", "钥匙", "金币"]

数组元素引用

这样咱就把很多物品放到了一个变量里,在想要访问背包中的物品时,使用 数组变量名[下标] 来访问:

print("背包中有:")
print(背包[0]) # 显示:水瓶
print(背包[1]) # 显示:钥匙
print(背包[2]) # 显示:金币
print(背包) # 显示:["水瓶", "钥匙", "金币"]

方括号里的数字其实就是序号,这里的 [0] 表示背包中的第一个东西,也就是 水瓶

这种语法也可以用来给数组中的元素赋值,例如:

背包[0] = "空" # 把水喝了

[!tip] 下标从 0 开始数

程序员笑话:你的右手有几根手指头?0.1.2.3.4,四根!

添加数据

使用 <数组变量>.append(<值>) 的形式可以向数组中添加新的值,例如:

背包.append("苹果")
背包.append("一本书")

获取长度

使用 len(<数组变量>) 获取一个数组的长度,例如:

var 背包 := ["水瓶", "钥匙", "金币"]
print(len(背包)) # 显示一个数字 3

注意了,长度可不要从 0 开始数。

删除数据

使用 <数组变量>.remove_at(<下标>) 删除指定位置的元素,例如:

var 背包 := ["水瓶", "钥匙", "金币"]
背包.remove_at(1)
print(背包) # 显示:["水瓶", "金币"]

元素的类型

一个数组中可以存在不同类型的数据,例如:

var 一个数组 := [1, "你好", false]

甚至数组内在再含一个数组:

var 又数组 := [[1, 2, 3], [1, 2, 3]]