Menu
CoddyTech

Visão geral do projeto

Parte da seção Programação orientada a objetos do Journey de GDScript da Coddy. Lição 56 de 65.

challenge icon

Desafio

Médio

Neste projeto, você vai criar um Sistema de Gerenciamento de Biblioteca em seis etapas: uma biblioteca, livros e usuários, empréstimos, busca, estatísticas e devoluções. Cada etapa começa a partir dos arquivos da etapa anterior.

Esta etapa cria a classe Library em library.gd. O código inicial já declara suas três propriedades:

  • library_name: o nome da biblioteca
  • books e users: dois Array[String] que começam vazios. Por enquanto, eles armazenam títulos e nomes de usuários.

Complete os dois métodos:

  1. O construtor _init(library_name) armazena o nome na propriedade library_name.
  2. _to_string() retorna NAME Library (books: N, users: M), em que N e M são os tamanhos dos dois arrays.

O código fornecido lê o nome da biblioteca na primeira linha e, em seguida, um comando por linha: book TITLE e user NAME adicionam itens aos arrays, info imprime as três propriedades e show imprime a biblioteca. Para esta entrada:

Community
info
book Dune
user Ada
show

a saída é:

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

Seu código deve ficar em library.gd. main.gd contém o código fornecido de entrada/saída e não pode ser editado.

Experimente você mesmo

extends Node

func _ready():
	# Código de entrada/saída fornecido: mantenha-o como está
	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()

Todas as lições de Programação orientada a objetos

Pratique por conta própria: Compilador de GDScript online