Source: pictures used in this application were taken from the web
This application is a simulation of building a 2-D city. Users/players act as the planner and leader of a city and build it from scratch. Players can choose to add a variety of 'contents' to a city such as hotels, restaurants, grocery stores and residents to build a successful town. Players will also implement the functionality of each content so that their cities ara almost like real!
- Players interact with this application to build a city.
I have always been a fan of simulation games on Steam and enjoyed the immersive experience of building a life and living out many aspects of it, so I hope to design such a project where I can control what goes on behind the screens.
- As a user, I want to be able to create a city.
- As a user, I want to be able to add contents to my city such as hotels and residents.
- As a user, I want to be able to select a content that I have added to my city and manipulate its functionality. For example, with a hotel, I want to be able to hire residents as staff, create hotel rooms, book residents into hotel rooms, etc.
- As a user, I want to be able to view all the contents that I have added to a city, and view the status of each content that I have created. For example, I want to be able to see information about each of my residents, or the room booking status of a hotel.
- As a user, I want to be able to make my residents work at the businesses that I have created and earn money. Employees should automatically receive their wages in their bank accounts.
- As a user, I want to be able to save all the contents of my city into a JSON file.
- As a user, I want to be given an option to load a JSON file to restore all contents that I have created.
Sun Mar 27 13:57:26 PDT 2022 The city of Vancouver has been created.
Sun Mar 27 13:57:32 PDT 2022 Resident Chandler has been added to city.
Sun Mar 27 13:57:39 PDT 2022 Resident Monica has been added to city.
Sun Mar 27 13:57:47 PDT 2022 Hotel ShangriLa has been added to city.
Sun Mar 27 13:57:54 PDT 2022 Hotel JW has been added to city.
Sun Mar 27 13:58:01 PDT 2022 Chandler is now working at JW.
Sun Mar 27 13:58:04 PDT 2022 10 new hotel rooms have been added to JW.
Sun Mar 27 13:58:15 PDT 2022 JW is open for business.
Sun Mar 27 13:58:19 PDT 2022 5 bookings have been created for Monica at JW.
Sun Mar 27 13:58:27 PDT 2022 Chandler is now working at ShangriLa.
Sun Mar 27 13:58:30 PDT 2022 20 new hotel rooms have been added to ShangriLa.
Sun Mar 27 13:58:33 PDT 2022 ShangriLa is open for business.
Sun Mar 27 13:58:36 PDT 2022 5 bookings have been created for Chandler at ShangriLa.
If I had more time to work on this project:
-
I would create Exception classes to handle invalid user inputs inside model rather than checking them against constraints in the ui.
-
I would refactor additional repetitive code in my swing ui windows. Although they all currently extend the abstract class Window, I realized that there still existed some methods in the child classes which shared very similar implementations.






