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
Open
Show file tree
Hide file tree
Changes from 151 commits
Commits
Show all changes
443 commits
Select commit Hold shift + click to select a range
9978e26
Fix PED bug #139
ZMinghuiZ Apr 8, 2024
32e3d55
Fix PED bug #144
ZMinghuiZ Apr 8, 2024
41b181e
Fix PED bug #130
ZMinghuiZ Apr 8, 2024
9361641
Fix PED bug #129
ZMinghuiZ Apr 8, 2024
669f19b
adjustbondandcrypto
Jamarcus111 Apr 8, 2024
1c0ef72
Fix PED bug #127
ZMinghuiZ Apr 9, 2024
814b743
Fix PED bug #125
ZMinghuiZ Apr 9, 2024
95d44e9
Fix PED bug #122
ZMinghuiZ Apr 9, 2024
df423e6
Fix PED bug #111
ZMinghuiZ Apr 9, 2024
0c455e8
Fix PED bug #109
ZMinghuiZ Apr 9, 2024
978aacf
Fix PED bug #107
ZMinghuiZ Apr 9, 2024
9b4132f
Fix PED bug #103
ZMinghuiZ Apr 9, 2024
13b1af9
Fix PED bug #97
ZMinghuiZ Apr 9, 2024
54ca280
Fix PED bug #126
ZMinghuiZ Apr 9, 2024
d6d6da2
Tracker
Jamarcus111 Apr 9, 2024
32ab5f6
bond,cryptocurrency and tracker
Jamarcus111 Apr 9, 2024
27a9d6a
Update DG for file manager
StargazerX0 Apr 9, 2024
37c9250
Update DG for file manager
StargazerX0 Apr 9, 2024
02b45c3
Fixstyle
Jamarcus111 Apr 9, 2024
8ea2464
Merge pull request #150 from StargazerX0/Update-DG-File
ZMinghuiZ Apr 9, 2024
6b80e1a
Fix PED bugs #104 & #105
ZMinghuiZ Apr 9, 2024
090f8fc
Change text-ui-test
ZMinghuiZ Apr 9, 2024
73a5c82
Merge branch 'master' into branch-Fix-PED-Bug
ZMinghuiZ Apr 9, 2024
70a0add
Change build.gradle
ZMinghuiZ Apr 9, 2024
17cfd2f
Merge pull request #151 from ZMinghuiZ/branch-Fix-PED-Bug
Jamarcus111 Apr 9, 2024
8f8fcb5
Revert "Branch fix ped bugs"
ZMinghuiZ Apr 9, 2024
a4d75ae
Merge pull request #152 from AY2324S2-CS2113-T11-4/revert-151-branch-…
Jamarcus111 Apr 9, 2024
7aa15d0
Adjust ui-test
ZMinghuiZ Apr 9, 2024
b03f022
Revert "Revert "Branch fix ped bugs""
ZMinghuiZ Apr 9, 2024
7d71b15
Merge pull request #153 from AY2324S2-CS2113-T11-4/revert-152-revert-…
Jamarcus111 Apr 9, 2024
d15dcba
Merge branch 'branch-Fix-PED-Bug' into branch-Fix-CI
ZMinghuiZ Apr 9, 2024
406dfe6
Merge pull request #154 from ZMinghuiZ/branch-Fix-CI
ZMinghuiZ Apr 9, 2024
dde5ee0
Merge branch 'master' into ImplementBondAndCryptoCurrency
Jamarcus111 Apr 9, 2024
682a16b
Fix CI
Jamarcus111 Apr 9, 2024
8dc30d0
FixUI
Jamarcus111 Apr 9, 2024
ffc3fca
Merge pull request #94 from Jamarcus111/ImplementBondAndCryptoCurrency
ZMinghuiZ Apr 9, 2024
e2a229e
update stock
CXIA17 Apr 9, 2024
7625176
test errors fixed
CXIA17 Apr 9, 2024
1ed3b10
Merge pull request #155 from CXIA17/branch-update
CXIA17 Apr 9, 2024
d4a9ab4
Code quality check for Parser
ZMinghuiZ Apr 10, 2024
939572a
Add graphical representation for health
ZMinghuiZ Apr 10, 2024
fca7baf
Enhance ui
ZMinghuiZ Apr 10, 2024
e006a81
Solve Typing Game calculation problem
ZMinghuiZ Apr 10, 2024
545894b
Enhance code for RandomEvents
ZMinghuiZ Apr 10, 2024
3928098
Merge pull request #156 from ZMinghuiZ/branch-MoreOOP
StargazerX0 Apr 10, 2024
d764622
Add Hangman Game to exercise
StargazerX0 Apr 10, 2024
e5f65d5
fixed the bugs stated in smoker tests
CXIA17 Apr 10, 2024
c3f35ff
Merge pull request #157 from StargazerX0/Hangman-game
ZMinghuiZ Apr 10, 2024
8d9b889
Merge pull request #158 from CXIA17/branch-FixBugs
CXIA17 Apr 10, 2024
17b3d56
AddJavaDoc
Jamarcus111 Apr 10, 2024
1310d5c
JavaDoc
Jamarcus111 Apr 10, 2024
103fd45
Merge pull request #159 from Jamarcus111/JavaDocTypedocumentations
CXIA17 Apr 10, 2024
9dd00f6
Solve restart issues
ZMinghuiZ Apr 11, 2024
db59c7e
Fix PED bug #96
ZMinghuiZ Apr 11, 2024
4a62ed7
Remove unnecessary imports
ZMinghuiZ Apr 11, 2024
981398e
Solve CI check
ZMinghuiZ Apr 11, 2024
e2c9e00
Pass Ui test
ZMinghuiZ Apr 11, 2024
c4c6e65
Merge pull request #160 from ZMinghuiZ/branch-BugFix
ZMinghuiZ Apr 11, 2024
1954ae0
Add storage support for stock
StargazerX0 Apr 11, 2024
0d95526
FormatingOutputstyle
Jamarcus111 Apr 11, 2024
c6e27aa
Merge branch 'master' into Save-stock-record
StargazerX0 Apr 11, 2024
25943fc
Outputstyle
Jamarcus111 Apr 11, 2024
b289879
Improve readability
StargazerX0 Apr 11, 2024
4c1163b
Merge pull request #161 from StargazerX0/Save-stock-record
ZMinghuiZ Apr 11, 2024
3624fb5
fixstyle
Jamarcus111 Apr 11, 2024
b39a331
Improve user experience for hangman
StargazerX0 Apr 11, 2024
302b0e1
Merge pull request #162 from StargazerX0/Improve-user-experience-Hangman
StargazerX0 Apr 11, 2024
fb5335a
updating display
CXIA17 Apr 11, 2024
57a2f28
Code quality check
ZMinghuiZ Apr 11, 2024
c548f0c
Merge pull request #163 from Jamarcus111/Outputstyle
ZMinghuiZ Apr 11, 2024
c50405c
fix merge conflict
CXIA17 Apr 11, 2024
61fe9a5
Merge branch 'master' into branch-Calibration
ZMinghuiZ Apr 11, 2024
c60abdf
Handle Exception
Jamarcus111 Apr 11, 2024
6605981
Fix style
Jamarcus111 Apr 11, 2024
584d441
Merge pull request #164 from Jamarcus111/HandleException
ZMinghuiZ Apr 11, 2024
e771bb7
Update fiancial games
CXIA17 Apr 11, 2024
8bc2fb4
Fix merge conflict
CXIA17 Apr 11, 2024
6d5afd2
Update finance features and PPP
CXIA17 Apr 11, 2024
177b38f
Add JavaDoc for ui package
ZMinghuiZ Apr 11, 2024
cf5361e
Merge pull request #166 from CXIA17/branch-PPP
ZMinghuiZ Apr 11, 2024
ecfe96c
Merge branch 'master' into branch-Calibration
ZMinghuiZ Apr 11, 2024
01cce9c
Add PPP draft for stargazerx0
StargazerX0 Apr 11, 2024
2b01d76
Merge pull request #167 from StargazerX0/PPP-draft-stargazerx0
StargazerX0 Apr 11, 2024
773e81c
Draft PPP
CXIA17 Apr 11, 2024
3d3426a
JavaDoc improvements
Jamarcus111 Apr 11, 2024
40a3f3c
Merge pull request #168 from CXIA17/branch-PPP
ZMinghuiZ Apr 11, 2024
aafcf47
PPP draft
ZMinghuiZ Apr 11, 2024
86d8b16
Merge branch 'master' into branch-Calibration
ZMinghuiZ Apr 11, 2024
107c157
Calibrate end of round message
ZMinghuiZ Apr 11, 2024
d05386a
Merge pull request #169 from ZMinghuiZ/branch-Calibration
ZMinghuiZ Apr 11, 2024
6e05a97
Simplify asset toString format
ZMinghuiZ Apr 11, 2024
b864d78
Merge pull request #170 from ZMinghuiZ/branch-Simplify
StargazerX0 Apr 11, 2024
596caf5
Merge branch 'master' into JavaDocOOP
Jamarcus111 Apr 11, 2024
f5c1224
Adjust storage; Enhance status output
ZMinghuiZ Apr 12, 2024
1515929
PPPJM
Jamarcus111 Apr 12, 2024
2b9de88
Fixstyle
Jamarcus111 Apr 12, 2024
1c10d39
StyleFixing
Jamarcus111 Apr 12, 2024
099158f
Refixing
Jamarcus111 Apr 12, 2024
ebed36f
PPP
Jamarcus111 Apr 12, 2024
86fcc8a
Merge pull request #171 from Jamarcus111/JavaDocOOP
ZMinghuiZ Apr 12, 2024
0d634e8
ChangePPP
Jamarcus111 Apr 12, 2024
5199d70
Merge branch 'master' into JavaDocOOP
Jamarcus111 Apr 12, 2024
af44dae
Merge branch 'master' into branch-GameCalibration
ZMinghuiZ Apr 12, 2024
7863ff8
Simpify code
ZMinghuiZ Apr 12, 2024
a6f6a49
Merge pull request #172 from ZMinghuiZ/branch-GameCalibration
ZMinghuiZ Apr 12, 2024
2a69724
Fix-ppp-case
StargazerX0 Apr 12, 2024
b306170
Merge pull request #173 from StargazerX0/Fix-ppp-case
CXIA17 Apr 12, 2024
4d670de
AddTests
Jamarcus111 Apr 12, 2024
21f8a16
Fixstyle
Jamarcus111 Apr 12, 2024
645a427
Merge pull request #174 from Jamarcus111/JavaDocOOP
ZMinghuiZ Apr 12, 2024
ba57f81
Updating output per round
CXIA17 Apr 12, 2024
c033a7e
Merge branch 'master' into branch-Round
CXIA17 Apr 12, 2024
f8ac266
update tests
CXIA17 Apr 12, 2024
41434a9
Update PPP
CXIA17 Apr 12, 2024
d14fe30
Merge pull request #175 from CXIA17/branch-Round
CXIA17 Apr 12, 2024
14cc48f
Update PPP
StargazerX0 Apr 12, 2024
ac434f8
Merge pull request #176 from StargazerX0/Fix-ppp-case
CXIA17 Apr 12, 2024
28f4882
Rename StargazerX0.md to stargazerx0.md
StargazerX0 Apr 12, 2024
44abbcc
Merge pull request #177 from AY2324S2-CS2113-T11-4/StargazerX0-patch-1
StargazerX0 Apr 12, 2024
de56f4f
Update-DG-new-File
StargazerX0 Apr 13, 2024
e109792
Merge pull request #178 from StargazerX0/Update-DG-new-File
StargazerX0 Apr 13, 2024
536f72d
Modify gradle build
ZMinghuiZ Apr 13, 2024
d0a593e
Merge branch 'master' into branch-Enhancement
ZMinghuiZ Apr 13, 2024
883f994
Add JavaDoc for File package
StargazerX0 Apr 13, 2024
85f72ca
Fix HTML tag delimiter
StargazerX0 Apr 13, 2024
4eb0ea2
Merge pull request #179 from StargazerX0/File-JavaDoc
StargazerX0 Apr 13, 2024
0af84ee
Add JavaDoc for Exercise Game and Command
StargazerX0 Apr 13, 2024
d401d24
Fix style violation
StargazerX0 Apr 13, 2024
bc53e88
Merge pull request #180 from StargazerX0/JavaDoc-Exercise
StargazerX0 Apr 13, 2024
3826b30
Fix DG for file package
StargazerX0 Apr 13, 2024
6077e03
Merge pull request #181 from StargazerX0/Fix-DG-FILE
StargazerX0 Apr 13, 2024
f416597
Enhance UI and code quality
ZMinghuiZ Apr 13, 2024
ef7e309
Remove unnessary code
ZMinghuiZ Apr 13, 2024
6611a0f
Add test code for ExerciseCommand
StargazerX0 Apr 13, 2024
86a1110
Adjust game value to lower difficulty
ZMinghuiZ Apr 13, 2024
2f99bc4
UGDG
Jamarcus111 Apr 13, 2024
d4570d6
Add test units for exercise game
StargazerX0 Apr 13, 2024
9ec069f
Merge pull request #182 from Jamarcus111/UGandDG
ZMinghuiZ Apr 13, 2024
b5c7caf
Fix style violation
StargazerX0 Apr 13, 2024
e33351d
Merge pull request #183 from StargazerX0/Unit-Test-Exercise
ZMinghuiZ Apr 13, 2024
f0288ca
modifyUGandDG
Jamarcus111 Apr 13, 2024
02013d9
Merge pull request #184 from Jamarcus111/modifyUGDG
ZMinghuiZ Apr 13, 2024
50173d3
Merge branch 'master' into branch-Enhancement
ZMinghuiZ Apr 13, 2024
d740236
Add Test Unit for file package
StargazerX0 Apr 13, 2024
f934363
Merge pull request #185 from StargazerX0/Add-Test-File
StargazerX0 Apr 13, 2024
312bf19
Merge branch 'master' into branch-Enhancement
ZMinghuiZ Apr 13, 2024
3030917
Update UG for game
StargazerX0 Apr 13, 2024
a705c69
DG for hangman
StargazerX0 Apr 13, 2024
b3914dc
Merge pull request #186 from StargazerX0/Update-UG-Game
StargazerX0 Apr 13, 2024
dbb9a39
Enhance UI; Fix output bug
ZMinghuiZ Apr 13, 2024
61333c0
Merge branch 'master' into branch-Enhancement
ZMinghuiZ Apr 13, 2024
120ce5a
Update ui test
ZMinghuiZ Apr 13, 2024
963a3e8
Merge pull request #187 from ZMinghuiZ/branch-Enhancement
CXIA17 Apr 13, 2024
ff1ef46
Add JUnit test; Remove inappropriate tests
ZMinghuiZ Apr 13, 2024
c1951f5
update PPP
CXIA17 Apr 13, 2024
018052c
Add JUnit test for typingGame
ZMinghuiZ Apr 14, 2024
2389bd7
Add JUnit test for random event
ZMinghuiZ Apr 14, 2024
b579a9f
Add JUnit test for commands;Refactor classes
ZMinghuiZ Apr 14, 2024
04ca709
Fix checkStyle
ZMinghuiZ Apr 14, 2024
a90a300
Solves CI
ZMinghuiZ Apr 14, 2024
b17b124
Adjust Code structure
ZMinghuiZ Apr 14, 2024
0dffebd
Solve formatting problem
ZMinghuiZ Apr 14, 2024
e1939c0
Rename attributes to follow convention
ZMinghuiZ Apr 14, 2024
b506bfd
Fix JUnit test
ZMinghuiZ Apr 14, 2024
54ec5bf
Adjust test cases
ZMinghuiZ Apr 14, 2024
1995374
Fix indentation
ZMinghuiZ Apr 14, 2024
018e752
Merge pull request #188 from ZMinghuiZ/branch-JUnit
ZMinghuiZ Apr 14, 2024
6f09514
Allow game restart when saved data corrupted
ZMinghuiZ Apr 14, 2024
c058f56
Add JavaDoc to improve code readability
ZMinghuiZ Apr 14, 2024
f08028b
Add JavaDoc for PlayerProfile class
ZMinghuiZ Apr 14, 2024
9f96112
Add JavaDoc for Health class
ZMinghuiZ Apr 14, 2024
bd75459
Add JavaDoc for typing game
ZMinghuiZ Apr 14, 2024
0de1b00
Add JavaDoc for main and gameLogic
ZMinghuiZ Apr 14, 2024
67ed41c
Add JavaDoc for Company class
ZMinghuiZ Apr 14, 2024
4587c64
Add JavaDoc for Commands
ZMinghuiZ Apr 14, 2024
2bffb59
Fix error shown in checkstyle
ZMinghuiZ Apr 14, 2024
1cb3080
Update tests
CXIA17 Apr 14, 2024
361be83
Merge pull request #189 from ZMinghuiZ/Code-Enhancement
ZMinghuiZ Apr 14, 2024
733c0c7
Merge branch 'master' into branch-Test
CXIA17 Apr 14, 2024
86fc0b7
Write some UG and debug code
ZMinghuiZ Apr 14, 2024
49e0267
Add extra exception handling in loader
ZMinghuiZ Apr 14, 2024
4690ff2
Write UG
ZMinghuiZ Apr 14, 2024
709b3c5
Resolve test problem
ZMinghuiZ Apr 14, 2024
02372f8
Change the style of stock axis
CXIA17 Apr 14, 2024
a348286
Add tests for TrueAndFalseGame
CXIA17 Apr 14, 2024
aed676f
Add asset test
CXIA17 Apr 14, 2024
80282b8
Merge pull request #190 from ZMinghuiZ/branch-Documentation
ZMinghuiZ Apr 15, 2024
3003345
Add rest command test
CXIA17 Apr 15, 2024
693a5a0
Add assertion for exercise game
StargazerX0 Apr 15, 2024
d3ce434
Merge pull request #192 from StargazerX0/Add-assertion
StargazerX0 Apr 15, 2024
cfc3001
Improve-JavaDoc-ExerciseGame
StargazerX0 Apr 15, 2024
0a0b586
Merge pull request #193 from StargazerX0/Improve-JavaDoc-ExerciseGame
StargazerX0 Apr 15, 2024
3c5de37
Update PPP
ZMinghuiZ Apr 15, 2024
e87de7b
Add stock and sellstock test
CXIA17 Apr 15, 2024
24b1f64
Merge branch 'master' into branch-Test
CXIA17 Apr 15, 2024
9de90d7
Update AboutUs
ZMinghuiZ Apr 15, 2024
98a7f37
Complete stock tests
CXIA17 Apr 15, 2024
1cfbce9
Merge pull request #194 from ZMinghuiZ/Update-PPP
ZMinghuiZ Apr 15, 2024
2abc214
Fix check style error
CXIA17 Apr 15, 2024
ac321fa
Merge branch 'master' into branch-Test
CXIA17 Apr 15, 2024
b32c548
Update aboutUs
CXIA17 Apr 15, 2024
58d1e30
Merge pull request #195 from CXIA17/branch-Test
ZMinghuiZ Apr 15, 2024
c35eb0b
Update PPP
CXIA17 Apr 15, 2024
1c92f1b
Update PPP for StargazerX0
StargazerX0 Apr 15, 2024
609f269
Update PPP
StargazerX0 Apr 15, 2024
8047352
Merge pull request #196 from StargazerX0/PPP-StargazerX0
StargazerX0 Apr 15, 2024
a3dd7d7
Update DG
ZMinghuiZ Apr 15, 2024
c40ce0e
Merge branch 'master' into Update-DG
ZMinghuiZ Apr 15, 2024
509e0ca
Merge pull request #197 from ZMinghuiZ/Update-DG
ZMinghuiZ Apr 15, 2024
f9ce641
Update documentation
CXIA17 Apr 15, 2024
14586b2
Merge branch 'master' into branch-UGDGPPP
CXIA17 Apr 15, 2024
52373dc
Format PPP
ZMinghuiZ Apr 15, 2024
398eea5
Resolve output error
ZMinghuiZ Apr 15, 2024
e1ff09a
Merge pull request #198 from ZMinghuiZ/Enhancement-PPP
ZMinghuiZ Apr 15, 2024
b441a69
Add documantation
CXIA17 Apr 15, 2024
d413a81
Update DG Implementation
StargazerX0 Apr 15, 2024
4885446
Merge pull request #199 from StargazerX0/Update-DG-Implementation
StargazerX0 Apr 15, 2024
ece0209
Update UG and DG
CXIA17 Apr 15, 2024
b425ded
Simplify PPP
StargazerX0 Apr 15, 2024
f4d79b0
Enhance PPP
ZMinghuiZ Apr 15, 2024
100a14a
Merge pull request #201 from StargazerX0/Simplify-PPP
StargazerX0 Apr 15, 2024
c763b96
Update errors
CXIA17 Apr 15, 2024
1688b23
Fix errors
CXIA17 Apr 15, 2024
d53b0a3
Merge pull request #200 from CXIA17/branch-UGDGPPP
CXIA17 Apr 15, 2024
e3d2760
Merge branch 'master' into Documentation-WrapUp
ZMinghuiZ Apr 15, 2024
5dd81ff
Fix errors
CXIA17 Apr 15, 2024
1e1c379
Update PPP
CXIA17 Apr 15, 2024
4d0f367
Merge pull request #202 from CXIA17/branch-Error
CXIA17 Apr 15, 2024
b7b603d
Adjust documentation
ZMinghuiZ Apr 15, 2024
04e324d
Merge branch 'master' into Documentation-WrapUp
ZMinghuiZ Apr 15, 2024
abab326
Resolve output error
ZMinghuiZ Apr 15, 2024
701dedb
Add more details for DG
ZMinghuiZ Apr 15, 2024
b4d3de2
SimpliftJavaDoc
StargazerX0 Apr 15, 2024
61b2b86
Merge pull request #203 from ZMinghuiZ/Documentation-WrapUp
ZMinghuiZ Apr 15, 2024
95b54ca
Merge pull request #204 from StargazerX0/Simplift-JavaDoc
StargazerX0 Apr 15, 2024
d646342
Update PPP
CXIA17 Apr 15, 2024
913bc6c
Merge pull request #205 from CXIA17/PPP
CXIA17 Apr 15, 2024
44f9079
Update documentation
ZMinghuiZ Apr 15, 2024
b583005
Merge pull request #207 from ZMinghuiZ/Wrap-Up
ZMinghuiZ Apr 15, 2024
da16157
Update README
ZMinghuiZ Apr 15, 2024
d714266
Update DG
CXIA17 Apr 15, 2024
cb89726
Update PPP
ZMinghuiZ Apr 15, 2024
c003020
Merge pull request #208 from CXIA17/DG
CXIA17 Apr 15, 2024
292be8f
Updates documents
ZMinghuiZ Apr 15, 2024
8f10cdc
Finalize UG
ZMinghuiZ Apr 15, 2024
636de3c
Merge pull request #209 from ZMinghuiZ/Final
ZMinghuiZ Apr 15, 2024
d9979a5
Update UserGuide.md
ZMinghuiZ Sep 9, 2024
c4b7327
Merge pull request #210 from AY2324S2-CS2113-T11-4/ZMinghuiZ-patch-1
ZMinghuiZ Sep 9, 2024
fa2ede0
Update AboutUs.md
ZMinghuiZ Sep 9, 2024
48a8b30
Merge pull request #211 from AY2324S2-CS2113-T11-4/ZMinghuiZ-patch-2
ZMinghuiZ Sep 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,6 @@ bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT

META-INF/
docs/UML diagram/Script/
4 changes: 4 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,8 @@ checkstyle {

run{
standardInput = System.in
enableAssertions(true)
}



15 changes: 8 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# About us

Display | Name | Github Profile | Portfolio
--------|:----:|:--------------:|:---------:
![](https://via.placeholder.com/100.png?text=Photo) | John Doe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
| Display | Name | Github Profile | Portfolio |
|--------------------------------------------------------------------------------------------------------------------------------------------------|:-----------:|:---------------------------------------------------------:|:-------------------------------------------:|
| ![](https://image.umall.com.au/image/goods4/6921294355383/image/1.jpg?x-oss-process=image/resize,w_750/sharpen,100/quality,Q_100) | Xia Cong | [Github CXIA17](https://github.com/CXIA17) | [Portfolio](docs/team/johndoe.md) |
| ![](https://th.bing.com/th/id/OIP.sDaKNkXjaMY7lIZBnMkYsQHaFj?w=231&h=180&c=7&r=0&o=5&dpr=1.5&pid=1.7) | MA JIAJUN | [Github](https://github.com/Jamarcus111) | [Portfolio](https://www.linkedin.com/feed/) |
| ![](https://wingfungdundee.co.uk/WebRoot/Store25/Shops/619556e1-1fbf-4030-bcf6-c7e2e8a4f752/620E/4594/146C/E2B0/E561/0A48/3522/3482/CKA101B.jpg) | Li Kunjun | [Github](https://github.com/StargazerX0?tab=repositories) | [Portfolio](docs/team/LiKunjun.md) |
| ![](https://miro.medium.com/v2/resize:fit:1358/0*hJtj0p-31PmVA4wd.jpeg) | Zhu Minghui | [Github](https://github.com/ZMinghuiZ) | [Portfolio](docs/team/johndoe.md) |


198 changes: 190 additions & 8 deletions docs/DeveloperGuide.md
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!

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!

Original file line number Diff line number Diff line change
@@ -1,29 +1,211 @@
# Developer Guide

## Table of Contents

* [Design](#design)
* [Architecture](#architecture)
* [Main components](#main-components)
* [Component interaction](#component-interaction)
* [UI components](#ui-components)
* [EconoCraftLogic components](#econocraftlogic-components)
* [MiniGame components](#miniGame-components)
* [Implementation](#implementation)
* [MiniGame - Typing Game](#miniGame---typing-Game)
* [MiniGame - Tic Tac Toe](#miniGame---tic-tac-toe)
* [MiniGame - True or False](#miniGame---true-or-false)
* [Product scope](#product-scope)
* [Target user playerProfile](#target-user-playerprofile)
* [Value proposition](#value-proposition)
* [User Stories](#user-stories)
* [Non-Functional Requirements](#non-functional-requirements)
* [Glossary](#glossary)

## 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!

### Architecture

![Architecture.png](UML%20diagram%2FArchitecture.png)

The **Architecture diagram** above showcases the high-level design of the EconoCraft Pro application.

The following section would give a brief overview of the different components of the application and their interactions
with each other.

#### Main components:

`Main` (consisting of class `EconoCraft` and `EconoCraftLogic`)
is in charge of the game initialization and starting the main game loop.

* At game initialization, it reads the necessary information from prompted user input and develops the player profile.
* When game starts, it initializes the game logic and starts the main game loop.

The functionality of the game is divided into different components, each responsible for a different aspect of the game.

* `PlayerProfile`: Represents the player's profile and is responsible for storing and updating the player's information.
* `Parser`: Responsible for parsing the user input.
* `ResponseManager`: Responsible for generating the response to the user input.
* `EconoCraftLogic`: Responsible for executing user command and updating the game state.
* `MiniGame`: Responsible for handling the mini-games that the player can play to gain rewards.
* `CommandFactory`: Responsible for using the parsed user input to produce executable commands.

#### Component interaction:

The *Sequence Diagram* below showcases the interaction between the different components of the EconoCraft Pro
application when a user inputs a command `work`.

For `CommandFactory` and `Minigame`,
* Each defines its API for creating commands and mini-games respectively, where
`Command` is the API for `CommandFactory` and `MiniGame` is the API for `MiniGame`.
* Implements its functionality with concrete classes such as `WorkCommand` and `TypingGame`.

The sections below would give more details of each component.

## UI components

UI consists of the following components:
* `Parser`
* `ResponseManager`
* `CommandType`

![UI.png](UML%20diagram%2FUI.png)

The **UI components**,
* `Parser` parses the user input for `CommandFactory` to produce `Command`
* `ResponseManager` generate the response to the user according to the *command execution* and *game logic*.

## EconoCraftLogic components

Here is the partial class diagram of the `EconoCraftLogic` component:

![Logic.png](UML%20diagram%2FLogic.png)

> [!NOTE]
> - The `XYZ` in `XYZCommand` represents the exact command e.g., `WorkCommand`, `RestCommand`, `ExerciseCommand`.
> - The `XYZ` in `XYZMiniGame` represents the exact mini-game e.g., `TypingGame`, `TicTacToe`, etc.

{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}

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.


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!

![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?

1. `EconoCraftLogic` receives the user input string and pass it into `CommandFactory`.
2. `CommandFactory` would use `Parser` to parse the user input string and produce a `Command`.
3. `EconoCraftLogic` would execute the `Command` which will:
* update the player profile accordingly.
* use `ResponseManager` to generate the response to the user.

## MiniGame components

Here is the partial class diagram of the `MiniGame` component:

![MiniGame.png](UML%20diagram%2FMiniGame.png)

The `MiniGame` mechanism:
1. For command `work`, `rest`, and `exercise`, they would have their respective mini-games.
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


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.

## 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:)


The implementation of the Typing Game is as follows:

1. The game can be invoked by the `WorkCommand` class when the user inputs the `work` command.
2. It makes use of the `ResponseManager` to generate the instructions of the game to the user.
3. The user would be prompted to type the given text as fast as they can.
4. This game made use of the `CompletableFuture` class to create separate thread which handles the countdown timer and user input at the same time.
5. When the user finishes typing or the time limit is reached, the game would calculate the user's typing speed and accuracy and reward the user accordingly.
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.

The implementation of the Tic Tac Toe Game is as follows:

1. The game can be invoked by the `ExerciseCommand` class when the user inputs the `exercise` command.
2. It makes use of the `ResponseManager` for instructions and display the board status.
3. The user would be prompted to choose player mark and place it when entering the game.
4. AI player will randomly choose available to place mark once user places the mark.
5. After each placement, the game would check the status to determine whether continue the game or not.
6. If the board is full or there are three consecutive marks, the game will announce the winner or say "it's a draw".
7. Finally, the `ExerciseCommand` would update the player profile with the reward or punishment for health.

## MiniGame - True or False

1. The game can be invoked by the `RestCommand` class when the user inputs the `rest` command.
2. It makes use of the `ResponseManager` for instructions and display the questions to answer.
3. The user would be prompted to answer True or False by typing `T` or `F`.
4. When the user returns his/her answer, the `ResponseManager` will display the correctness of the response.
5. When the user finishes answering all the questions, `ResponseManager` will output how many questions the user answers correctly.
6. Finally, the `RestCommand` would update the player profile with the reward or punishment earned according to the game.

## Investment game - Stock

1. The process of buying stock can be invoked by the `StockCommand` class when user inputs `stock`.
2. It makes use of `ResponseManager` for instructions and output the stock graph and information relating to the stock.
3. The user would be prompted to input the number of stocks they would like to purchase in integer.
4. `ResponseManager` will indicate the completion of purchase after user's input.
5. When the user finishes the purchase, stock they bought will be stored inside `Asset` class.
6. Input `status` will output the stock the user currently possesses.
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.


## Product scope
### Target user profile
### Target user playerProfile

{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!


|Version| As a ... | I want to ... | So that I can ...|
|--------|----------|---------------|------------------|
|v1.0|new user|see usage instructions|refer to them when I forget how to use the application|
|v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire list|
| Version | As a ... | I want to ... | So that I can ... |
|---------|------------------|----------------------------------------------------------------|-------------------------------------------------------------|
| v1.0 | new user | see usage instructions | refer to them when I forget how to use the application |
| v1.0 | user | view basic command list and game flow | navigate and start the game smoothly |
| v1.0 | user | add my name to the programme | have a personalised game interaction |
| v1.0 | user | exit from the programme | decide when to exit based on my own preferrence |
| v1.0 | user | view my player or company status | know how much assets that I have |
| v2.0 | user | find a to-do item by name | locate a to-do without having to go through the entire list |
| v2.0 | user | restart the game | reset the progess when a bad decision is made |
| v2.0 | user | check current game progress via a progress percentage bar | be clear about how many more task needs to be done to complete the game |
| v2.0 | user | set finantial task to be completed | complete task to increase game progress |
| v2.0 | user | track my in-game money flow | play the game more strategically |
| v2.0 | first-time user | view tips for playing the game | familiarise with the game faster |
| v2.0 | first-time user | view the background story of the game | have a better understanding on what the game is about |
| v2.0 | experienced user | perform employee hiring action | develop the virtual startup |
| v2.0 | user | invest in virtual stock market | increase the earning for company development |
| v2.0 | user | delete a task that has been created | start over with a new idea or approach |
| v2.0 | user | have a reward system for completing each task | feel a sense of achievement when complete the task |
| v2.0 | player | task with different challenge when entered command | feel more engaged to the game |
| v2.0 | user | want to have random event at the end of each round | enjoy the uncertainty within the gameplay process |
| v2.0 | user | save my personal profile | not to lose any progress when I play again |
| v2.0 | user | see different game ending from different decision made in game | gain a sense of satisfaction when good ending happens |
| v2.0 | user | have 3-4 saved progresses | choose the progress based on my preference |
| v2.0 | user | name each progress | differentiate saved progresses |
| v2.0 | user | delete saved progresses | delete the saved data when the data has no use |
| v2.0 | advanced player | modify the saved file | adjust my game infomation when possible |
| v2.0 | user | choose level of difficulties of the game | adjust the difficulties based on my skills |
| v2.0 | user | learn different player skills | complete mission and task easier |
| v2.0 | user | have lucky draw to gain interesting rewards | feel the excitement and joy of the game |
| v2.0 | user | get loan from the virtual bank | use for the investment and expand the businesses |
| v2.0 | user | negotiate with game NPCs | feel more engaged to the game |
| v2.0 | busy-user | save the game data into local | continue the saved progress next time |
| v2.0 | first-time user | see what actions I can do in different player level | type correct command to complete the tasks |
| v2.0 | user | trigger random event | feel more insterested to the game |




## Non-Functional Requirements

Expand Down
7 changes: 5 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Duke
# EconoCraft Pro

{Give product intro here}
EconoCraft is a single player text adventure game where a player takes on the role of a business owner or manager,
tasked with growing their company from a small startup to a large corporation. The game would simulate real-world
business challenges, including resource management, market analysis, product development, and financial planning to
help students prepare for the future challenges.

Useful links:
* [User Guide](UserGuide.md)
Expand Down
Binary file added docs/UML diagram/Architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/UML diagram/Logic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/UML diagram/MiniGame.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/UML diagram/UI.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/UML diagram/Work.png

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

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading