Menu
CoddyTech

项目概览

本课属于 Coddy GDScript 学习旅程的“逻辑与流程”单元。第 42 课,共 78 课。

challenge icon

挑战

简单

学生记录管理器用于保存学生的信息:年龄、成绩和所修课程。接下来的步骤中,你将添加学生和成绩、检查选课情况、计算平均分、列出某门课程的学生,并找出成绩最好的学生。

程序会读取命令,每行一条,例如 add Alice 20 Math Physics 或 grade Alice 90。在这一步中,设置记录并创建命令循环:

  1. 在脚本的顶层,也就是 extends Node 和 func _ready(): 之间,声明一个空字典:var student_records := {}。在这里声明的变量位于所有函数之外,因此脚本中的每个函数都能使用它,后续步骤会用到它。
  2. 在 _ready() 中,启动一个 while true: 循环。每次循环时,读取一行,将其按空格拆分,并把结果转换为数组:var parts := Array(OS.read_string_from_stdin().split(" ", false))
  3. 使用 match parts: 和两个数组模式:
    • ["show"]:打印 student_records
    • ["exit"]:打印 Goodbye!,然后用 break 退出循环

现在先忽略其他所有命令。每个测试都以 exit 结束。对于以下命令:

show
exit

输出为:

{  }
Goodbye!

亲手试试

extends Node

# 在这里声明 student_records

func _ready():
	# 循环读取命令,直到退出
	pass

逻辑与流程中的所有课

自己练习: GDScript 在线编译器