Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CS2113-T11-4] EconoCraft Pro #30

Open
wants to merge 443 commits into
base: master
Choose a base branch
from

Conversation

ZMinghuiZ
Copy link

EconoCraft Pro is a single player text adventure game which simulates real-world business challenges, including resource management, investment analysis, and financial planning to help students prepare for the future challenges.​

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The size of your text and colors is great!

![Work.png](UML%20diagram%2FWork.png)

The `EconoCraftLogic` mechanism:

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In some of your diagrams, such as in EconoCraftLogic components, the standard model of excluding icons is not followed.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, may I ask what does it mean by excluding icons?


Here is the sequence diagram of the `EconoCraftLogic` executing the command:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sequence diagram following could also benefit from UML notes to help viewers understand instead of just bullet points after the diagram.


# Implementation

## MiniGame - Typing Game
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The different functionalities of the different mini-games is comprehensively but sensibly written about in the DG. Good job.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! Will take note of the issues:)

## Acknowledgements

{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well}

## Design & implementation
## Design

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Format of DG is neat, well-formatted, easy to understand and consistent. Well Done!

3. The event generated will be executed via `RandomEvent` interface in `EconoCraftLogic`.
4. Player would be prompted to make a decision based on the event.
5. Based on the decision made and the event type, the player would receive different rewards or punishments.
6. The event would add uncertainty and excitement to the game.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice if the target user for the product and/or the value proposition is specified clearly.

3. The command would then update the player profile according to the mini-game result.

# Implementation

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There seems to be enough examples e.g., sample inputs/outputs. i can understand.

> - The `XYZ` in `StockXYZ` represents the stock label e.g., `StockOne`, `StockTwo`, etc.

Here is the sequence diagram of the `EconoCraftLogic` executing the command:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Notation seems to be compliant with the notation covered in the course.
The diagram is suitable for the purpose it is used for and is not too complicated. Well Done!

Copy link

@sweijie24 sweijie24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall good job!

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DG is neatly arranged with concise explanation, helps with its readability!

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps you could standardise the software/theme being used for all sequence diagrams

2. When these commands are generated and executed in `EconoCraftLogic`, the respective mini-game would be played.
3. The command would then update the player profile according to the mini-game result.

# Implementation

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good thorough explanation on the implementation process but would it better if there were also example inputs/output usages as well


{Describe the target user profile}
{Describe the target user playerProfile}

### Value proposition

{Describe the value proposition: what problem does it solve?}

## User Stories

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very detailed and fits the scope of the project with regards to the user stories. Good work!

Copy link

@Cryolian Cryolian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pretty good and comprehensive DG overall! Would appreciate having some more visual aids around the text heavy parts

## Design

### Overview of GameFlow
![GameFlow.jpg](UML%20diagram%2FGameFlow.jpg)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the flow chart. I think it may be more readable if the size of the picture was reduced?

6. Finally, the `WorkCommand` would update the player profile with the reward earned according to the user's performance in the game.

## MiniGame - Tic Tac Toe

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps some diagrams to represent the architectures of the mini games would be nice.

7. The process of selling stock can be invoked by the `SellStockCommand` class when user input `sellstock`.
8. The system will calculate user's profit gained at the current price of the stock and return the money back to the
user based on the stock's current price.
9. User can keep the stock they purchased inside their asset for as long as they want.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe consider adding a diagram of what a stock represents, as it has felt quite arbitrary throughout the entire guide.

![Save.png](UML%20diagram%2FSave.png)

The mechanism:
1. `Saver` will be called automatically after one command is executed.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps consider adding a screenshot of an example saved file, so the readers can visualise it better.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants