项目概览
本课属于 Coddy GDScript 学习旅程的“逻辑与流程”单元。第 42 课,共 78 课。
挑战
简单学生记录管理器用于保存学生的信息:年龄、成绩和所修课程。接下来的步骤中,你将添加学生和成绩、检查选课情况、计算平均分、列出某门课程的学生,并找出成绩最好的学生。
程序会读取命令,每行一条,例如 add Alice 20 Math Physics 或 grade Alice 90。在这一步中,设置记录并创建命令循环:
- 在脚本的顶层,也就是
extends Node和func _ready():之间,声明一个空字典:var student_records := {}。在这里声明的变量位于所有函数之外,因此脚本中的每个函数都能使用它,后续步骤会用到它。 - 在
_ready()中,启动一个while true:循环。每次循环时,读取一行,将其按空格拆分,并把结果转换为数组:var parts := Array(OS.read_string_from_stdin().split(" ", false)) - 使用
match parts:和两个数组模式:["show"]:打印student_records["exit"]:打印Goodbye!,然后用break退出循环
现在先忽略其他所有命令。每个测试都以 exit 结束。对于以下命令:
show
exit输出为:
{ }
Goodbye!亲手试试
extends Node
# 在这里声明 student_records
func _ready():
# 循环读取命令,直到退出
pass
逻辑与流程中的所有课
自己练习: GDScript 在线编译器