This project is a city-building game that includes various features and systems. The objective is to understand the game logic and design it accordingly.
To get started with the project, you need to fork it
The project contains an initial structure and some implemented systems. Each team member is responsible for implementing a specific system.
The user interface section includes tasks such as user registration, login, and character creation. You should also examine the game loop and implement each system and feature as you encounter them.
The project structure is highly flexible, allowing for modifications and additions in any direction desired. The game logic remains constant, but you can add or direct branches as needed.
The city structure is partially implemented, and certain algorithms, such as property creation upon the municipality's creation, are missing. You should implement these algorithms based on the desired city structure. For example, you can create 20 lands with dimensions of 40x80 using a simple loop to generate the properties.
Pay attention to the existing algorithms, such as the stock market's capital increase and decrease. Think about how you can create a menu for interacting with this section or how you can display charts and detailed information about investments. Feel free to be creative and make any necessary changes, even to the initial structure, by informing the exercise solver.
No system is devoid of flexibility. Embrace creativity and progress each topic one by one.
The following is an overview of the initial structure and implemented classes:
- Game: The Game class contains information about cities and the overall game structure.
- City: The City class contains a list of characters, a bank system, a municipality, and the root character.
- Municipality: The Municipality class generates properties based on a specific algorithm (you need to devise this algorithm). It also contains a list of properties and property operations such as buying and selling.
- Character: The Character class includes user information, a bank account, a life system, a job (can be null), a list of owned properties, and the character's current position property.
- User: The User class includes the username and password.
- Job: The Job class includes the job title, income, and industry ID.
- Employee: The Employee class is generated when a character joins an industry. It includes the username, base salary, level, bank account, and industry.
- Manager: [No further information provided]
- Bank: The Bank class includes a list of accounts, a manager (root), and the bank's turnover.
- BankTurnOver: The BankTurnOver class includes income and outcome.
- BankAccount: The BankAccount class represents the owner (a character), password, money, and the last change date.
- Property: The Property class includes an array of scales, an array of coordinates, and the owner.
- StockMarket: The StockMarket system works with the character's money and generates a profit or loss per second within the range of -0.03 to +0.03.
- Food & Liquid: Includes water and food options.
- Industry: The Industry class includes the title, income, and a list of employees.
And other interfaces...
Feel free to contribute to the project by suggesting improvements or implementing new features. ``