Menu
CoddyTech

プロジェクト概要

CoddyのGDScriptジャーニー「オブジェクト指向プログラミング」セクションの一部。レッスン 56/65。

challenge icon

チャレンジ

中級

このプロジェクトでは、図書館、書籍と利用者、貸し出し、検索、統計、返却の6つのステップを通じて、図書館管理システムを作成します。各ステップは、前のステップで作成したファイルから始めます。

このステップでは、library.gdにLibraryクラスを作成します。スターターコードでは、すでに3つのプロパティが宣言されています。

  • library_name: 図書館の名前
  • booksとusers: 空の状態で始まる2つのArray[String]。今のところ、書籍のタイトルと利用者の名前を格納します。

2つのメソッドを完成させましょう。

  1. コンストラクター_init(library_name)は、プロパティlibrary_nameに名前を格納します。
  2. _to_string()はNAME Library (books: N, users: M)を返します。ここで、NとMは2つの配列のサイズです。

提供されたコードは、最初の行から図書館の名前を読み取り、その後、1行につき1つのコマンドを読み取ります。book TITLEとuser NAMEは配列に追加し、infoは3つのプロパティを出力し、showは図書館を出力します。次の入力の場合:

Community
info
book Dune
user Ada
show

出力は次のとおりです。

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

コードはlibrary.gdに記述します。main.gdには提供された入出力コードが含まれており、編集できません。

自分で試してみよう

extends Node

func _ready():
	# 提供された入出力コード:そのままにしてください
	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()

オブジェクト指向プログラミングのすべてのレッスン

自分で練習してみよう: GDScriptオンラインコンパイラ