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-F15-1] Player2113 #55

Open
wants to merge 538 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
538 commits
Select commit Hold shift + click to select a range
52c0d0c
Final UG
songyuew Apr 4, 2024
021b22f
Merge pull request #97 from songyuew/master
songyuew Apr 4, 2024
3ef358d
UI test fix
songyuew Apr 4, 2024
9f14ed5
Merge pull request #98 from songyuew/master
songyuew Apr 4, 2024
6435b39
Fix UserGuide format issues
NGXZS Apr 9, 2024
36f4109
Add createQuestions function and dataset
NGXZS Apr 9, 2024
2cde8d2
Fix checkstyle errors, code clean up in Parser.java
NGXZS Apr 9, 2024
529bcf1
Add testing code for question dataset
NGXZS Apr 9, 2024
3ea46cc
Fix handleException() to pass github checks
NGXZS Apr 9, 2024
009f971
Remove testing code
NGXZS Apr 9, 2024
8dc71f5
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp
chan-cellor Apr 10, 2024
c893409
Add hardcoded questions format
NGXZS Apr 10, 2024
2541605
merge with upstream
NGXZS Apr 10, 2024
8cf7989
Merge with upstream
NGXZS Apr 10, 2024
93ce583
Add sample questions
NGXZS Apr 10, 2024
cdb8bdc
Fix checkstyle errors
NGXZS Apr 10, 2024
affeb35
Merge pull request #149 from NGXZS/PED-bugs
NGXZS Apr 10, 2024
d2faa04
Update UG to avoid reader confusion
chan-cellor Apr 10, 2024
35d5bce
Add steps for adding hardcoded questions
NGXZS Apr 10, 2024
32039d4
Fix bug relating to repeated pause message
chan-cellor Apr 10, 2024
1bcc39a
Fix bug relating to adding extra spaces behind parameters
chan-cellor Apr 10, 2024
4b4b168
Add attempt numbers to results
chan-cellor Apr 10, 2024
914bc99
Fix bug relating to extra resume message
chan-cellor Apr 10, 2024
8eff36c
FIx aesthetics for time limit message
chan-cellor Apr 10, 2024
926e883
Fix bugs relating to occasional crashing when exiting
chan-cellor Apr 10, 2024
96c7749
Merge pull request #150 from cyhjason29/bug-Fixes
cyhjason29 Apr 10, 2024
235aef2
Fix UG format for help
NGXZS Apr 10, 2024
b50f2ab
Add timed mode example in UG
NGXZS Apr 10, 2024
b72385e
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp
chan-cellor Apr 10, 2024
87ffeee
Update UG regarding pausing in timed mode
chan-cellor Apr 10, 2024
97c33ae
Merge pull request #151 from cyhjason29/update-UG
cyhjason29 Apr 10, 2024
ebe04c5
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp
chan-cellor Apr 10, 2024
b69696c
Fix bug where entering space as command causes a crash
yuhengr Apr 10, 2024
28ccd93
Merge pull request #152 from yuhengr/bugfix-space-as-command-input
yuhengr Apr 10, 2024
d197d42
Fix scrollbar issue in UG
NGXZS Apr 10, 2024
ca167fa
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 10, 2024
51eed72
Change FAQ in UG
NGXZS Apr 10, 2024
068ed9e
Add authorship tags
chan-cellor Apr 10, 2024
99e8a58
Merge pull request #154 from cyhjason29/branch-Authorship
cyhjason29 Apr 10, 2024
f02b103
Merge pull request #153 from NGXZS/PED-bugs
NGXZS Apr 10, 2024
234e44e
Add reposense
NGXZS Apr 10, 2024
d980b86
Add UI formatting
NGXZS Apr 10, 2024
5a0844c
Add DONE flag for topic, Refactor UI code
NGXZS Apr 10, 2024
c1d0349
Fix checkstyle error in CommandList.java
NGXZS Apr 10, 2024
df2e2c4
Merge pull request #155 from NGXZS/PED-bugs
NGXZS Apr 10, 2024
86d5b00
Fix blank name infinite loop bug
NGXZS Apr 10, 2024
55a0bda
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 10, 2024
73ea74e
Fix checkstyle errors
NGXZS Apr 10, 2024
5b76786
Merge pull request #156 from NGXZS/PED-bugs
NGXZS Apr 10, 2024
b8d7dcc
resolve bugs #130 and #134
hongyijie06 Apr 10, 2024
556e3fa
Merge branch 'master' of https://github.com/hongyijie06/tp
hongyijie06 Apr 10, 2024
9132a6c
tag @
hongyijie06 Apr 10, 2024
7bec6d6
Merge pull request #157 from hongyijie06/master
hongyijie06 Apr 10, 2024
afad713
Add PPP
NGXZS Apr 11, 2024
e433ac3
Merge pull request #159 from NGXZS/PED-bugs
NGXZS Apr 11, 2024
ab62f89
added PPP: songyuew
songyuew Apr 11, 2024
1d497db
Merge pull request #160 from songyuew/master
songyuew Apr 11, 2024
d5ff416
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp
chan-cellor Apr 11, 2024
5cb2cdb
Reformat UserGuide.md to follow template
NGXZS Apr 11, 2024
551fe65
Add Javadoc documentation
chan-cellor Apr 11, 2024
390cf28
Add template format for DG
NGXZS Apr 11, 2024
f5147ab
Remove magic literals
chan-cellor Apr 11, 2024
6bceb77
Add check for answer format
chan-cellor Apr 11, 2024
4e80714
Fix aesthetic
chan-cellor Apr 11, 2024
01caa57
Merge branch 'master' into fix-Bugs
cyhjason29 Apr 11, 2024
ddfac30
Merge pull request #161 from NGXZS/PED-bugs
NGXZS Apr 11, 2024
df0a39e
Merge pull request #162 from cyhjason29/fix-Bugs
cyhjason29 Apr 11, 2024
f38645a
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp
chan-cellor Apr 11, 2024
0ce7b57
Minor update to list feature
songyuew Apr 11, 2024
7332fb3
Cleanup code
chan-cellor Apr 11, 2024
919fb72
Merge pull request #164 from cyhjason29/master
cyhjason29 Apr 11, 2024
cef438b
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp
chan-cellor Apr 11, 2024
aae2c33
Merge pull request #163 from songyuew/master
songyuew Apr 11, 2024
954e13c
Minor update to UG
songyuew Apr 11, 2024
a8f0377
Fix features note visual bug in UserGuide
NGXZS Apr 11, 2024
b6a12a3
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 11, 2024
9504063
Minor updates to UG 1
songyuew Apr 11, 2024
a0e9998
Merge pull request #165 from songyuew/master
songyuew Apr 11, 2024
f0ab5cb
Update PPP
chan-cellor Apr 11, 2024
d44c8d4
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 11, 2024
b95bc22
Merge pull request #166 from cyhjason29/update-PPP
cyhjason29 Apr 11, 2024
047b4f8
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp
chan-cellor Apr 11, 2024
440c13a
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 12, 2024
3f78b6c
Add view on full screen, and more topics pending disclaimer in UG
NGXZS Apr 12, 2024
0496471
Add questions, 1 more topic
NGXZS Apr 12, 2024
298a6d2
Merge pull request #167 from NGXZS/PED-bugs
NGXZS Apr 12, 2024
d3ceaf2
Update Storage.java and Player2113.java to pass github checks
NGXZS Apr 12, 2024
f97336f
Merge pull request #168 from NGXZS/PED-bugs
NGXZS Apr 12, 2024
89734cd
Refactor docs/team/img folder into DG, UG and plantUML categories
NGXZS Apr 12, 2024
ed0f44d
Add skeleton to handle explain command in regex
yuhengr Apr 13, 2024
35da499
Add functionality to process topic and qn number
yuhengr Apr 13, 2024
db31fea
Add functionality to display relevant explanations
yuhengr Apr 13, 2024
66e5b2b
Fix wrong regex pattern for explain command
yuhengr Apr 13, 2024
2373bba
Merge pull request #169 from yuhengr/add-regex-explain-command
yuhengr Apr 13, 2024
b893895
Merge branch 'master' of https://github.com/hongyijie06/tp
hongyijie06 Apr 13, 2024
66f2547
fix timed mode bugs
hongyijie06 Apr 13, 2024
c487104
Add GameFlow.puml for UG
NGXZS Apr 13, 2024
a256b11
Add GameFlow.png to UG
NGXZS Apr 13, 2024
23b6063
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 13, 2024
cddae47
Fix checkstyle errors in Parser
NGXZS Apr 13, 2024
570cdbb
Update GameFlow.png
NGXZS Apr 13, 2024
b904472
Update mcqFormat.png in UG
NGXZS Apr 13, 2024
05f68cd
Add explain feature into unused folder
NGXZS Apr 13, 2024
847acc7
Merge pull request #170 from NGXZS/PED-bugs
NGXZS Apr 13, 2024
b9e5333
Add skeleton for clear feature
yuhengr Apr 13, 2024
362e139
update UG
hongyijie06 Apr 13, 2024
efea709
removing user data from testing HAHAH
hongyijie06 Apr 13, 2024
1407c74
Add functionality to clear game progress
yuhengr Apr 13, 2024
c32862a
Add functionality to confirm clear game progress
yuhengr Apr 13, 2024
e2accaa
Merge pull request #171 from yuhengr/add-clear-feature
yuhengr Apr 13, 2024
5e98323
update topic feature UG
hongyijie06 Apr 13, 2024
676bbdf
pass gradle checks
hongyijie06 Apr 13, 2024
bec31ad
Merge branch 'master' into master
hongyijie06 Apr 13, 2024
218b2cd
Merge branch 'master' of https://github.com/hongyijie06/tp
hongyijie06 Apr 13, 2024
0c3494f
edit output in EXPECTED.TXT
hongyijie06 Apr 14, 2024
7cf6164
Merge pull request #175 from hongyijie06/master
hongyijie06 Apr 14, 2024
e9e6868
fix bug (issue #102)[https://github.com/AY2324S2-CS2113-F15-1/tp/issu…
hongyijie06 Apr 14, 2024
21dbaae
update PPP
hongyijie06 Apr 14, 2024
a6a0e0e
reduce length of ppp
hongyijie06 Apr 14, 2024
2e52cb3
reduce ppp further
hongyijie06 Apr 14, 2024
7d19da3
remove duplicates in ppp
hongyijie06 Apr 14, 2024
33b7d3b
Merge pull request #176 from hongyijie06/master
hongyijie06 Apr 14, 2024
3bd53a5
Include custom and checkpoint in the Feature section
yuhengr Apr 14, 2024
7fd6d3c
Add custom and checkpoint to start of guide and summary
yuhengr Apr 14, 2024
a3d3755
Merge pull request #177 from yuhengr/update-user-guide
yuhengr Apr 14, 2024
6a7f13f
Update ppp yay
yuhengr Apr 14, 2024
963d1fd
Merge pull request #178 from yuhengr/update-ppp
yuhengr Apr 14, 2024
ff02918
Update UserGuide to include clear feature
yuhengr Apr 14, 2024
bcac6dc
Merge pull request #179 from yuhengr/update-user-guide2
yuhengr Apr 14, 2024
970ebc6
Update AboutUs
yuhengr Apr 14, 2024
67e0efe
Merge pull request #180 from yuhengr/update-aboutus
yuhengr Apr 14, 2024
d0e8c96
Update github links in PPP
NGXZS Apr 15, 2024
11427e1
Fix #114
NGXZS Apr 15, 2024
6383f29
Update UG screenshot for list topics
NGXZS Apr 15, 2024
295cb3c
Change custom to regex
yuhengr Apr 15, 2024
d67614f
Fix bug in option c attribute in class Parser
yuhengr Apr 15, 2024
5b8c8cc
Standardize UG format
NGXZS Apr 15, 2024
039c6c0
Add printLine() in showOneResult, showAllResults for UI user-friendli…
NGXZS Apr 15, 2024
b3b4737
Merge pull request #181 from NGXZS/DGv2
NGXZS Apr 15, 2024
7025541
Merge pull request #182 from yuhengr/change-custom-to-regex
yuhengr Apr 15, 2024
b7bbd96
Add skeleton for adding results to custom question set
yuhengr Apr 15, 2024
62bd75d
Refactor display of custom question set
yuhengr Apr 15, 2024
643f564
Add functionality to check answer format in custom
yuhengr Apr 15, 2024
96ba46d
Add functionality to view score after custom
yuhengr Apr 15, 2024
110f1d7
Clean up and add author for custom
yuhengr Apr 15, 2024
d42498b
Merge pull request #183 from yuhengr/add-results-to-custom
yuhengr Apr 15, 2024
5c9109a
Update UG and ppp
yuhengr Apr 15, 2024
9540b0e
Merge pull request #184 from yuhengr/update-docs
yuhengr Apr 15, 2024
f123f27
Change checkpoint to use regex
yuhengr Apr 15, 2024
ef68e0b
Update docs for changes
yuhengr Apr 15, 2024
d9ebf1c
Merge pull request #185 from yuhengr/change-checkpoint-regex
yuhengr Apr 15, 2024
12ba4fa
Move all .puml files to docs/diagram as per rubrics
NGXZS Apr 15, 2024
f5ac345
Fix inconsistent handling of topic number param
yuhengr Apr 15, 2024
05419a7
Merge pull request #186 from NGXZS/DGv2
NGXZS Apr 15, 2024
5c1355e
Merge pull request #187 from yuhengr/bugfix-invalid-topic-num
yuhengr Apr 15, 2024
3ac4b08
Update DG product scope
NGXZS Apr 15, 2024
9bf7758
Update User Stories
NGXZS Apr 15, 2024
69379f1
Update GameFlow diagram
yuhengr Apr 15, 2024
1a1a45d
Update Appendix A-D, Add links in DG
NGXZS Apr 15, 2024
243864f
Add base for Custom puml
yuhengr Apr 15, 2024
fb08acc
Rename Appendix
NGXZS Apr 15, 2024
4a5fa86
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 15, 2024
82498f4
Init puml for checkpoint and clear
yuhengr Apr 15, 2024
f225d66
Merge pull request #188 from NGXZS/DGv2
NGXZS Apr 15, 2024
1f44414
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp
chan-cellor Apr 15, 2024
1db3d9c
Add display picture
chan-cellor Apr 15, 2024
75c04f1
Add custom puml
yuhengr Apr 15, 2024
15d3d3c
Handling for ctrl+c during jar runtime
songyuew Apr 15, 2024
142b933
Merge pull request #189 from yuhengr/modify-docs-ug
yuhengr Apr 15, 2024
a181bf3
Implemented screen checker
songyuew Apr 15, 2024
aaaf8fb
Modified ui-test bash for linux
songyuew Apr 15, 2024
1f5dc3f
Update DG, UG, standard error messages for explain to match solutionR…
NGXZS Apr 15, 2024
39f8267
Minor updates to screen checker
songyuew Apr 15, 2024
8447ef6
remove c icon from class diagram
hongyijie06 Apr 15, 2024
59266d3
Merge branch 'master' of https://github.com/hongyijie06/tp
hongyijie06 Apr 15, 2024
5e34f08
Minor ui test update
songyuew Apr 15, 2024
dab9166
fixed UI-test for *NIX
songyuew Apr 15, 2024
07bd5d6
Merge pull request #193 from hongyijie06/master
hongyijie06 Apr 15, 2024
3f5934e
pass gradle checkstyle
hongyijie06 Apr 15, 2024
0621f26
Add tests and change regex pattern
yuhengr Apr 15, 2024
7d1a565
Merge pull request #195 from hongyijie06/master
hongyijie06 Apr 15, 2024
f540d70
Merge pull request #197 from songyuew/master
songyuew Apr 15, 2024
9ffd9bb
Update Appendix E in DG, minro updates in UG for some commands
NGXZS Apr 15, 2024
ddb99bd
Merge pull request #196 from yuhengr/add-tests
yuhengr Apr 15, 2024
ad987ef
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 15, 2024
4f0bd6a
Merge pull request #198 from NGXZS/DGv2
NGXZS Apr 15, 2024
18e345c
Fix bug in clear command and add author
yuhengr Apr 15, 2024
610b8fb
Add more author
yuhengr Apr 15, 2024
68bad5d
Merge pull request #199 from yuhengr/bugfix-clear-feature
yuhengr Apr 15, 2024
ac907e9
Add javadoc
yuhengr Apr 15, 2024
9e21981
Change regex pattern for solution and explain
yuhengr Apr 15, 2024
d3c6c00
Refactor getCommandToken method and add javadoc
yuhengr Apr 15, 2024
6293216
Merge pull request #200 from yuhengr/add-docs
yuhengr Apr 15, 2024
6ec0d9c
Update summary of UG for parameters to custom and checkpoint
yuhengr Apr 15, 2024
ae4f8f9
Add puml for checkpoint
yuhengr Apr 15, 2024
c6f9cbc
Add puml for clear
yuhengr Apr 15, 2024
d8d0fbe
Fix errors in puml for custom, checkpoint and clear
yuhengr Apr 15, 2024
75edd19
FIx UG aesthetic
chan-cellor Apr 15, 2024
8d2035b
Add implementation details for Storage in DG
chan-cellor Apr 15, 2024
1098445
Update PPP
chan-cellor Apr 15, 2024
fb62510
FIx bug relating to checking answer format
chan-cellor Apr 15, 2024
b209bd9
Fix error in puml for checkpoint
yuhengr Apr 15, 2024
a55b369
Merge branch 'master' into update-All
cyhjason29 Apr 15, 2024
6b9f373
Merge pull request #201 from cyhjason29/update-All
cyhjason29 Apr 15, 2024
b467ee5
Change Helper class to include custom, checkpoint and clear
yuhengr Apr 15, 2024
1dd7331
Fix formatting for DG
NGXZS Apr 15, 2024
abf02e8
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 15, 2024
27bee7e
Fix error in HelperTest to include 3 more commands
yuhengr Apr 15, 2024
46d5a06
Merge pull request #202 from yuhengr/add-docs-2
yuhengr Apr 15, 2024
6f814a2
Add photo of sean
NGXZS Apr 15, 2024
48e3011
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 15, 2024
974fc02
Merge pull request #203 from NGXZS/DGv2
NGXZS Apr 15, 2024
70b3878
Edit puml to fix errors
yuhengr Apr 15, 2024
7e1e494
Add puml diagrams
yuhengr Apr 15, 2024
6a2948b
Minor update to PPP
songyuew Apr 15, 2024
7472d45
Merge pull request #204 from yuhengr/add-docs-3
yuhengr Apr 15, 2024
6a5ee44
Merge pull request #205 from songyuew/master
songyuew Apr 15, 2024
be60287
Update DG
yuhengr Apr 15, 2024
31a11cb
Merge pull request #206 from yuhengr/add-docs-4
yuhengr Apr 15, 2024
1312bbc
Fix formatting for PPP
NGXZS Apr 15, 2024
873a08c
Merge pull request #207 from NGXZS/DGv2
NGXZS Apr 15, 2024
1c60262
Update ppp
yuhengr Apr 15, 2024
f5de063
Fix minor formatting in PPP
NGXZS Apr 15, 2024
a387ab5
Merge pull request #208 from yuhengr/add-docs-5
yuhengr Apr 15, 2024
63ed2f4
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 15, 2024
5bdba20
Fix minor formatting errors in DG, UG
NGXZS Apr 15, 2024
503639c
Add newline after Examples: in UG
NGXZS Apr 15, 2024
6d45452
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp
chan-cellor Apr 15, 2024
85a71ce
Merge pull request #209 from NGXZS/DGv2
NGXZS Apr 15, 2024
80960a8
Add website home page
chan-cellor Apr 15, 2024
43990f6
fix format in UG
NGXZS Apr 15, 2024
dcdfd66
Merge pull request #210 from cyhjason29/update-Website
cyhjason29 Apr 15, 2024
3094590
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 15, 2024
11fd99e
Merge pull request #211 from NGXZS/DGv2
cyhjason29 Apr 15, 2024
4259a58
Add formatting
NGXZS Apr 15, 2024
c736b00
Add Ctrl C exception handler for sayHi() in Player2113.java
NGXZS Apr 16, 2024
0c64344
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 16, 2024
921ad5e
Fix clear bbug, mark topic as NotAttempted after clear
NGXZS Apr 16, 2024
5cb5c84
Move printTopicList() to original place in Player2113
NGXZS Apr 16, 2024
0056522
Add javadoc
NGXZS Apr 16, 2024
3f0c890
Merge pull request #212 from NGXZS/DGv2
NGXZS Apr 16, 2024
873ac67
Remove redundant variables in Parser, Ui
NGXZS Apr 16, 2024
94ddf54
Reformat Storage
NGXZS Apr 16, 2024
100a998
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 16, 2024
6838e87
Merge pull request #213 from NGXZS/DGv2
NGXZS Apr 16, 2024
a11224e
Merge branch 'master' of https://github.com/hongyijie06/tp
hongyijie06 Apr 16, 2024
3cf419c
Merge pull request #214 from hongyijie06/master
hongyijie06 Apr 16, 2024
165fcd4
Fix ^D error for sayHi()
NGXZS Apr 16, 2024
4e129d3
Merge branch 'master' of https://github.com/AY2324S2-CS2113-F15-1/tp …
NGXZS Apr 16, 2024
9673b22
Merge pull request #215 from NGXZS/DGv2
NGXZS Apr 16, 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 META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: seedu.duke.Player2113

85 changes: 31 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,64 +1,41 @@
# Duke project template
# Player2113

This is a project template for a greenfield Java project. It's named after the Java mascot _Duke_. Given below are instructions on how to use it.
A CLI tool to help COMP2113 student revise conceptual questions in a gamification environment.

## Setting up in Intellij
## Getting Started

Prerequisites: JDK 11 (use the exact version), update Intellij to the most recent version.
Prerequisites: JDK 11, Player2113 release `JDK` file

1. **Ensure Intellij JDK 11 is defined as an SDK**, as described [here](https://www.jetbrains.com/help/idea/sdk.html#set-up-jdk) -- this step is not needed if you have used JDK 11 in a previous Intellij project.
1. **Import the project _as a Gradle project_**, as described [here](https://se-education.org/guides/tutorials/intellijImportGradleProject.html).
1. **Verify the set up**: After the importing is complete, locate the `src/main/java/seedu/duke/Duke.java` file, right-click it, and choose `Run Duke.main()`. If the setup is correct, you should see something like the below:
```
> Task :compileJava
> Task :processResources NO-SOURCE
> Task :classes

> Task :Duke.main()
Hello from
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|

What is your name?
```
Type some word and press enter to let the execution proceed to the end.
Start the programme with the following command:

## Build automation using Gradle
```
java --jar Player2113.jar
```

* This project uses Gradle for build automation and dependency management. It includes a basic build script as well (i.e. the `build.gradle` file).
* If you are new to Gradle, refer to the [Gradle Tutorial at se-education.org/guides](https://se-education.org/guides/tutorials/gradle.html).
You will see the welcome screen upon successful start-up:

## Testing
```
Hello from
______ _ _____ __ __ _____
| ___ \ | / __ \/ | / | |____ |
| |_/ / | __ _ _ _ ___ _ __`' / /'`| | `| | / /
| __/| |/ _` | | | |/ _ \ '__| / / | | | | \ \
| | | | (_| | |_| | __/ | ./ /____| |__| |_.___/ /
\_| |_|\__,_|\__, |\___|_| \_____/\___/\___/\____/
__/ |
|___/
What is your name?
```
## Usage

### I/O redirection tests
> [!IMPORTANT]
> The current release of Player2113 is a MVP preview version with various proposed functions unimplemented. Please strictly follow this user's guide.

* To run _I/O redirection_ tests (aka _Text UI tests_), navigate to the `text-ui-test` and run the `runtest(.bat/.sh)` script.
## Command Summary

### JUnit tests

* A skeleton JUnit test (`src/test/java/seedu/duke/DukeTest.java`) is provided with this project template.
* If you are new to JUnit, refer to the [JUnit Tutorial at se-education.org/guides](https://se-education.org/guides/tutorials/junit.html).

## Checkstyle

* A sample CheckStyle rule configuration is provided in this project.
* If you are new to Checkstyle, refer to the [Checkstyle Tutorial at se-education.org/guides](https://se-education.org/guides/tutorials/checkstyle.html).

## CI using GitHub Actions

The project uses [GitHub actions](https://github.com/features/actions) for CI. When you push a commit to this repo or PR against it, GitHub actions will run automatically to build and verify the code as updated by the commit/PR.

## Documentation

`/docs` folder contains a skeleton version of the project documentation.

Steps for publishing documentation to the public:
1. If you are using this project template for an individual project, go your fork on GitHub.<br>
If you are using this project template for a team project, go to the team fork on GitHub.
1. Click on the `settings` tab.
1. Scroll down to the `GitHub Pages` section.
1. Set the `source` as `master branch /docs folder`.
1. Optionally, use the `choose a theme` button to choose a theme for your documentation.
* help `help`
* Start game `topic TOPIC_NUM` eg `topic 1`
* Show Results `results [details] [TOPIC_NUM]` eg results details 2
* Show Solution `solution TOPIC_NUM [QUESTION_NUM]` eg solution 1 1
* Show Explanation `explain TOPIC_NUM [QUESTION_NUM]` eg explain 1 1
* Exit `bye`
6 changes: 4 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ repositories {
dependencies {
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.10.0'
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.10.0'
implementation fileTree(dir: 'lib', includes: ['*.jar'])
}

test {
Expand All @@ -29,11 +30,11 @@ test {
}

application {
mainClass.set("seedu.duke.Duke")
mainClass.set("seedu.duke.Player2113")
}

shadowJar {
archiveBaseName.set("duke")
archiveBaseName.set("player2113")
archiveClassifier.set("")
}

Expand All @@ -43,4 +44,5 @@ checkstyle {

run{
standardInput = System.in
enableAssertions = true
}
14 changes: 7 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# 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://via.placeholder.com/100.png?text=Photo) | Yuheng | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](./team/img/songyuew.png) | Songyue Wang | [Github](https://github.com/songyuew) | [Portfolio](https://cidlab.ok.ubc.ca/developing-digital-passports-interface-in-bim-for-future-reuse-of-construction-materials/)
![](https://via.placeholder.com/100.png?text=Photo) | Jason Chan | [Github](https://github.com/cyhjason29) | [Portfolio](docs/team/jasonchan.md)
![](https://via.placeholder.com/100.png?text=Photo) | Hong Yi Jie | [Github](https://github.com/hongyijie06) | [Portfolio](docs/team/hongyijie06.md)
![](https://via.placeholder.com/100.png?text=Photo) | Sean Ng | [Github](https://github.com/NGXZS) | [Portfolio](docs/team/seanng.md)
163 changes: 151 additions & 12 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.

Consider adding in a table of contents, similar to the reference Address Book DG

Original file line number Diff line number Diff line change
@@ -1,37 +1,176 @@
# Developer Guide

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

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

Choose a reason for hiding this comment

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

Shouldn't this line be deleted?


### Results feature

The results feature is facilitated by `ResultsList` and
`AnswerTracker`. Both are used to display the results for
all question sets attempted by the user, including details
such as specific questions and their respective answer inputs
from the user.

Given below is an example usage scenario and how the results
mechanism behaves at each step.

Step 1. The user launches the application for the first time,
and proceeds to start a game with their chosen topic.

The following sequence diagram shows how the `Results` for

Choose a reason for hiding this comment

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

Hi, the method calling solid line arrow for "new Results()" seems to not be pointing to the start of the activation bar.

one question set is added to the `ResultsList`:
![ResultsList sequence diagram](./team/img/Results.png)

Choose a reason for hiding this comment

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

image I like the use of ref block to make the sequence diagram more concise and readable. Good use of different color to differentiate Logic and Result👍

Choose a reason for hiding this comment

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

image

Good use of ref block to help improve readability!

Choose a reason for hiding this comment

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

image

Wouldn't it be better to use opt block instead of alt block as there is only one path?

Copy link

Choose a reason for hiding this comment

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

Activation bar might not have been terminated correctly. Missing the border line at the bottom!

image

Copy link

Choose a reason for hiding this comment

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

See if you can get reference frames to be opaque.

  1. For readability
  2. To adhere to textbook

Recall the textbook's notation on reference frames. This is a repeated issue for all your sequence diagrams

image

> **Note:** The lifeline for Parser and Results should end

Choose a reason for hiding this comment

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

image Perhaps add an object to indicate who invoked `printChosenTopic` method would make the diagram more clear.

Choose a reason for hiding this comment

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

Perhaps add the explanation of the ref block would make it more comprehensible?

> at the destroy marker (X) but due to a limitation of PlantUML,
> the lifeline reaches the end of the diagram.
Comment on lines +58 to +60
Copy link

Choose a reason for hiding this comment

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

It should be possible to remove the bubbles at the bottom with some tinkering of PlantUML if I am not wrong. Alternatively, you may also crop the image.


Similarly, the following sequence diagram shows how the
`AnswerTracker` stores all the user answer inputs:
![AnswerTracker sequence diagram](https://via.placeholder.com/100.png?text=Photo)

Choose a reason for hiding this comment

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

I think the photo is not loaded correctly on the DG site

Copy link

Choose a reason for hiding this comment

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

maybe add the diagram here? its empty?

Choose a reason for hiding this comment

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

image
Shouldn't the photo appear?


Step 2. The user may repeat Step 1 with other question sets.

The sequence diagram for this step involving `ResultsList`
and `AnswerTracker` are the same as the ones shown in Step 1.

Step 3. The user now wants to view their results by executing
the `results` command.
![Results command sequence diagram](https://via.placeholder.com/100.png?text=Photo)

Choose a reason for hiding this comment

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

Photo not loaded for this as well


> **Note:** If the user uses the results feature before
> attempting any questions, the application will instead
> return an error to the user indicating that there are no
> results.


### Topics Feature

The topics feature comprises `TopicList` and `QuestionListByTopic`.
`TopicList` is the list of topics for the users to attempt.
`QuestionListByTopic` stores the respective question set for each topic in an ArrayList.

Given below is an example usage scenario and how the results
mechanism behaves at each step.

Step 1. The user launches the application for the first time,
and proceeds to start a game with their chosen topic.

The following shows the class diagram for `topicList`:

Choose a reason for hiding this comment

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

Perhaps add a line separator here to make the class diagram occupy a dedicated space would allow the format to be more readable.

![TopicList class diagram](./team/img/TopicList_Topic_class_diagram.png)

Choose a reason for hiding this comment

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

image
Shouldn't there be no c?

Choose a reason for hiding this comment

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

image
Shouldn't there be a + or - to indicate whether the method is private, public or protected?

Copy link

Choose a reason for hiding this comment

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

class may need to add + and - to show public and private?

Choose a reason for hiding this comment

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

image
Shouldn't the colons be standardized?

Choose a reason for hiding this comment

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

Class diagram for topicList should not have the C icon present, as I don't think it follows the standards stated.

Choose a reason for hiding this comment

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

Missing of indication of private and public methods/ variables with "+/-" etc

Choose a reason for hiding this comment

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

image
Consider reformatting such that the text is above the diagram for clarity

Copy link

Choose a reason for hiding this comment

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

Most of your peers have identified the bigger issues of the diagram, like the class circle and the access modifiers.


Step 2. A question from the question set of the chosen topic is displayed.
The user inputs their answer.

Step 3. Step 2 repeats until all the questions in the question set has been asked.
Step 1 executes and process repeats.

The following shows the class diagram for `QuestionListByTopic`:
![QuestionListByTopic](./team/img/QuestionListByTopic_class_diagram.png)

### Solution feature

The solution feature either prints the solution to 1 question or all questions in 1 topic.

The solution feature is facilitated by `Parser#processSolutionCommand`, which is called by `Parser#parseCommand`

> **OVERVIEW:**
> ![Solution sequence diagram](./team/img/Solution.png)
Copy link

Choose a reason for hiding this comment

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

in alt, maybe need to add [else] sign?

Copy link

Choose a reason for hiding this comment

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

after calling the methods, i think you may need to add return arrow, even if void?

Copy link

Choose a reason for hiding this comment

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

some method invocation got no name, maybe need to add the method name on it, instead of putting it on the return arrow?

Choose a reason for hiding this comment

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

image
Perhaps you can include the else condition in the second box?

Choose a reason for hiding this comment

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

The sequence diagram has many parts and may be slightly hard to understand initially, it would be good if you could break it down into parts when explaining, means showing just small sections of the sequence diagram

Choose a reason for hiding this comment

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

image

Choose a reason for hiding this comment

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

Consider removing getters and setters as their functions are quite obvious

Choose a reason for hiding this comment

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

image

Have you maybe forgot to add [else] int the alt block?


> > **Note:** The lifeline for Parser and Results should end
Copy link

Choose a reason for hiding this comment

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

Might be intentional, but the double quote makes the rendering seem buggy (space between 'overview' and the note.

image

> at the destroy marker (X) but due to a limitation of PlantUML,
> the lifeline reaches the end of the diagram.

Step 1: After user runs the program and keys in the user command, the command will be passed to
`Parser#parseCommand`.

> **NOTE:** The command must contain the `solution` keyword.

Step 2a: `Parser#processSolutionCommand` first checks the number of parameters in the user command
by calling `Parser#checkIfTwoParameters`.
The, further processing of parameters is done by calling `Parser#getTopicOrQuestionNum`.
This is facilitated by calling `QuestionsListByTopic#getQuestionSet` to get all questions in the specified topic.

Step 2b: Before getting the solution(s), the program first verifies if the topic has been attempted before.
The program only prints them only if the topic is attempted before.
The topic is selected by calling `TopicList#get` and `TopicList#hasAttempted` returns the attempted status.

Step 3:
Depending on the number of parameters,
if there is 1 parameter (ie get all solutions):
`QuestionsList#getAllSolutions` will get all solutions and `ui#printAllSolutions` will print them.
else if there are 2 parameters (ie get one solution):
`QuestionsList#getOneSolution` will get the specified solution and `ui#printOneSolution` will print it.

### Explain feature
The explain feature either prints the explanation to 1 question or all questions in 1 topic.

The explain feature is facilitated by `Parser#processExplanationCommand`, which is called by `Parser#parseCommand`

Choose a reason for hiding this comment

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

Perhaps add some diagram here would allow better understanding of developers?

Step 1: After user runs the program and keys in the user command, the command will be passed to
`Parser#parseCommand`.

> **NOTE:** The command must contain the `explain` keyword.
>
> Sequence diagram for `explain` is similar to the [sequence diagram](#solution-feature) for `solution` feature

Step 2a: `Parser#processExplainCommand` first checks the number of parameters in the user command
by calling `Parser#checkIfTwoParameters`.
The, further processing of parameters is done by calling `Parser#getTopicOrQuestionNum`.
This is facilitated by calling `QuestionsListByTopic#getQuestionSet` to get all questions in the specified topic.

Choose a reason for hiding this comment

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

maybe you could swap 2b and 2a since 2a is more related to step 3


Step 2b: Before getting the explanation(s), the program first verifies if the topic has been attempted before.
The program only prints them only if the topic is attempted before.
The topic is selected by calling `TopicList#get` and `TopicList#hasAttempted` returns the attempted status.

Step 3:
Depending on the number of parameters,
if there is 1 parameter (ie get all explanations):
`QuestionsList#getAllExplanations` will get all explanations and `ui#printAllExplanations` will print them.
else if there are 2 parameters (ie get one explanation):
`QuestionsList#getOneExplanation` will get the specified explanation and `ui#printOneExplanation` will print it.


## Product scope

### Target user profile

{Describe the target user profile}
CS2113/2103 students who wish to have an efficient tool to help them revise relevant concepts.

### Value proposition

{Describe the value proposition: what problem does it solve?}
Integration of key notions and learning learning objectives for CS2113 course, self-adaptive testing for understanding and feedback.

## User Stories

|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 ... |

Choose a reason for hiding this comment

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

maybe you could categorise the user stories by priorities and include their priority into the userstories table

|---------|--------------------------------|------------------------------------------------------|------------------------------------------------------------------------|
| v1.0 | new user | see user guide in the app | refer to them if I am unfamiliar with the usage of a command |
| v1.0 | student new to Java | receive solutions with explanation after answering | be aware of the reasoning behind the correct answer |
| v2.0 | regular user | see a progress bar when answering MCQs | track my progress when attempting a question set |
| v2.0 | regular user | see a progress bar about all topics in the main menu | track my revision progress for the entire course |
| v2.0 | student going to take the exam | access timed modes in the game easily | train my thought process to quicken in preparation for tests |
| v2.0 | student new to Java | avoid memorization of specific question sets through randomly generated practice sets | I can ensure I understand the concepts rather than memorising answers |

## Non-Functional Requirements

{Give non-functional requirements}
Usability: the user is able to use the app without reading lengthy documentations.

Technical: the app should run on both macOS and Windows

## Glossary

* *glossary item* - Definition
Copy link

Choose a reason for hiding this comment

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

maybe also update the template here?

- _glossary item_ - Definition

## Acknowledgements

### Libraries

1. Display formatted tables in the CLI - [ASCII TABLES](https://bethecoder.com/applications/products/asciiTable.action)

Choose a reason for hiding this comment

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

good that you included your references :)


2. Topic selection menu and testing mode progress bar - [ProgressBar](https://github.com/ctongfei/progressbar)

### References

Choose a reason for hiding this comment

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

Maybe remove references if there is nothing to add here


## Instructions for manual testing
Copy link

Choose a reason for hiding this comment

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

Please include details about manual testing here


Choose a reason for hiding this comment

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

Remember to remove this default text

Expand Down
Loading
Loading