pharo-lab-4-by-pharo-lovers

Details

Source
GitHub
Dialect
pharo (25% confidence)
Stars
1
Created
Oct. 9, 2024
Updated
Nov. 7, 2024

README excerpt

##### 🇺🇦 Ukrainian version below 👇 
***



# **Sports Club Management**

**Language**: Pharo Smalltalk  
**Team Members**:  
- Dariia Antoniyk - @drynaa7
- Bacho Mariya-Tereza - @teresabacho
- Halyna Haplyk - @halya-h
- Anna Pavlyk - @yareyaredaz33

## Project Description (English)

This project implements a system for managing sports clubs and athletes in Pharo. The main objective is to design classes for athletes, including tennis players and footballers, and a sports club that manages them. Each athlete is characterized by properties such as name, age, nationality, and earnings. Special attributes are included for tennis players and footballers.

### Key features:
- **Classes**: 
  - **Sportsperson**: Represents general athletes.
  - **TennisPlayer**: Extends Sportsperson to include world ranking and prize money.
  - **FootballPlayer**: Extends Sportsperson to include club, yearly contract, and goals scored (with each goal increasing income by 1%).
  - **SportsClub**: Manages a collection of athletes, calculates their total earnings, and provides insights into the top performers.

- **Functionalities**:
  - Adding new athletes to the club.
  - Printing details of all athletes in the club.
  - Finding the athlete with the highest income.
  - Arithmetic operations to manipulate athlete data (e.g., increasing age).
  - Storing and loading data to and from files or a simulated database.

The project also features a graphical user interface that allows the user to interact with the club and its athletes, add new athletes, and store or load data in various formats.

## Опис проєкту (українською)

Цей проєкт реалізує систему керування спортивними клубами та спортсменами в Pharo. Основна мета полягає в розробці класів для спортсменів, включаючи тенісистів та футболістів, і спортивного клубу, що керує ними. Кожен спортсмен характеризується такими властивостями, як прізвище, вік, громадянство та заробіток. Для тенісистів та футболістів додаються особливі атрибути.

### Основні функції:
- **Класи**:
  - **Sportsperson**: Загальний клас для спортсменів.
  - **TennisPlayer**: Спеціалізація для тенісистів із додатковими атрибутами рейтингу та призових.
  - **FootballPlayer**: Спеціалізація для футболістів із додатковими атрибутами клубу, річного контракту та кількості забитих голів (кожен гол збільшує дохід на 1%).
  - **SportsClub**: Керує колекцією спортсменів, обчислює їх сумарний дохід та надає інформацію про найкращих спортсменів.

- **Функціонал**:
  - Додавання нових спортсменів до клубу.
  - Виведення інформації про всіх спортсменів клубу.
  - Пошук спортсмена з найбільшим прибутком.
  - Арифметичні операції для маніпуляцій з даними спортсменів (наприклад, збільшення віку).
  - Зберігання та завантаження даних з файлів або імітованої бази даних.

Проєкт також включає графічний інтерфейс, що дозволяє взаємодіяти з клубом і його спортсменами, додавати нових спортсменів і зберігати або завантажувати дані у різних форматах.

← Back to results