Menu
CoddyTech

Projektübersicht

Teil des Abschnitts Objektorientierte Programmierung der GDScript-Journey von Coddy. Lektion 56 von 65.

challenge icon

Aufgabe

Mittel

In diesem Projekt erstellst du in sechs Schritten ein Bibliotheksverwaltungssystem: eine Bibliothek, Bücher und Benutzer, Ausleihe, Suche, Statistiken und Rückgaben. Jeder Schritt beginnt mit deinen Dateien aus dem vorherigen Schritt.

In diesem Schritt erstellst du die Klasse Library in library.gd. Der Startercode deklariert bereits ihre drei Eigenschaften:

  • library_name: der Name der Bibliothek
  • books und users: zwei Array[String], die zunächst leer sind. Vorerst enthalten sie Titel und Benutzernamen.

Vervollständige die beiden Methoden:

  1. Der Konstruktor _init(library_name) speichert den Namen in der Eigenschaft library_name.
  2. _to_string() gibt NAME Library (books: N, users: M) zurück, wobei N und M die Größen der beiden Arrays sind.

Der bereitgestellte Code liest den Bibliotheksnamen aus der ersten Zeile und danach einen Befehl pro Zeile ein: book TITLE und user NAME fügen Einträge zu den Arrays hinzu, info gibt die drei Eigenschaften aus und show gibt die Bibliothek aus. Für diese Eingabe:

Community
info
book Dune
user Ada
show

lautet die Ausgabe:

Name: Community
Books: 0
Users: 0
Community Library (books: 1, users: 1)

Dein Code gehört in library.gd. main.gd enthält den bereitgestellten Ein-/Ausgabecode und kann nicht bearbeitet werden.

Probier es selbst

extends Node

func _ready():
	# Vorgegebener Ein-/Ausgabecode: unverändert lassen
	var library := Library.new(OS.read_string_from_stdin())
	var line := OS.read_string_from_stdin()
	while line != "":
		var parts := line.split(" ", true, 1)
		match parts[0]:
			"book":
				library.books.append(parts[1])
			"user":
				library.users.append(parts[1])
			"info":
				print("Name: ", library.library_name)
				print("Books: ", library.books.size())
				print("Users: ", library.users.size())
			"show":
				print(library)
		line = OS.read_string_from_stdin()

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-GDScript-Compiler