数组
现在假设我们要给玩家设计个背包,可以装三个物品:
# 只是举个例子,暂时就存字符串了。
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]]