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-W12-3 Game #8

Open
wants to merge 237 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 110 commits
Commits
Show all changes
237 commits
Select commit Hold shift + click to select a range
036a70c
Update README.md
tannerlie Mar 6, 2024
6e85b01
Add name
tannerlie Mar 6, 2024
0fa756a
lol
Mar 6, 2024
2186b06
Change first name
B1G-SAM Mar 6, 2024
9d6961b
update aboutUs
BestDownLoader365 Mar 6, 2024
5203d4d
Merge pull request #1 from BestDownLoader365/sihan_fang-AboutUs
tannerlie Mar 6, 2024
35f1d67
Merge branch 'master' into branch-A-AboutUs
tannerlie Mar 6, 2024
6ea5717
Merge pull request #2 from tannerlie/branch-A-AboutUs
tannerlie Mar 6, 2024
dfae7cd
Merge branch 'master' into a-about-us
tannerlie Mar 6, 2024
831efee
Merge pull request #3 from aaravrawal52/a-about-us
tannerlie Mar 6, 2024
78abdab
update individual master fork
BestDownLoader365 Mar 6, 2024
f98fa9d
Merge branch 'master' into A-aboutus
B1G-SAM Mar 6, 2024
1a8c378
Merge pull request #4 from B1G-SAM/A-aboutus
B1G-SAM Mar 6, 2024
d727321
our small step, groups big step
BestDownLoader365 Mar 10, 2024
6fbeb50
Merge pull request #5 from BestDownLoader365/project_skeleton
BestDownLoader365 Mar 10, 2024
2c79ba1
Add basic map, textbox and status bar
B1G-SAM Mar 10, 2024
f469445
Merge pull request #6 from B1G-SAM/FirstTask
B1G-SAM Mar 10, 2024
3ad7ebf
Add initial JUnit test
tannerlie Mar 14, 2024
b8be087
Add MapTest class
B1G-SAM Mar 14, 2024
65b609b
Merge pull request #7 from B1G-SAM/JUnit-Test
B1G-SAM Mar 14, 2024
d204f0a
Resolve pipeline error
tannerlie Mar 15, 2024
e8a2947
Resolve CI/CD err for MapTest
tannerlie Mar 15, 2024
261a27e
Merge pull request #10 from tannerlie/branch-parser-junit
tannerlie Mar 15, 2024
2a37db6
test how Junit works
BestDownLoader365 Mar 15, 2024
176742a
Merge pull request #12 from BestDownLoader365/command_and_Junit_test
BestDownLoader365 Mar 15, 2024
8ff3e4f
Change map class name to avoid confusion with java default packages, …
B1G-SAM Mar 16, 2024
818b0d3
Merge pull request #13 from B1G-SAM/Add-ons
B1G-SAM Mar 16, 2024
b698b4d
Complete First Version
BestDownLoader365 Mar 18, 2024
be32295
Merge pull request #14 from BestDownLoader365/version_1+fix_bug
BestDownLoader365 Mar 18, 2024
31e1c9f
run can only use in battleinterface
BestDownLoader365 Mar 18, 2024
c28a224
Merge pull request #15 from BestDownLoader365/fix_1
BestDownLoader365 Mar 18, 2024
49fd508
Add Math package
B1G-SAM Mar 18, 2024
c09c893
Merge pull request #16 from B1G-SAM/Math
B1G-SAM Mar 18, 2024
968a13b
update map
Mar 20, 2024
b0d8a51
Merge pull request #17 from aaravrawal52/master
aaravrawal52 Mar 20, 2024
25284c5
Add extra methods to map and battle interface
B1G-SAM Mar 20, 2024
5d619b1
Merge branch 'master' into Math
B1G-SAM Mar 20, 2024
d607a3c
Merge pull request #18 from B1G-SAM/Math
B1G-SAM Mar 20, 2024
820e4f0
Change the way parsing the command
BestDownLoader365 Mar 21, 2024
e1cf92e
Merge pull request #19 from BestDownLoader365/CommandType_Create
BestDownLoader365 Mar 21, 2024
b7616f8
have stored map problems
BestDownLoader365 Mar 21, 2024
23f634f
Merge pull request #22 from BestDownLoader365/Fight_Command
BestDownLoader365 Mar 21, 2024
a35ddd5
Fixes #21
B1G-SAM Mar 22, 2024
dc19728
Merge branch 'master' into textbox
B1G-SAM Mar 22, 2024
e29ca6a
Merge pull request #24 from B1G-SAM/textbox
B1G-SAM Mar 22, 2024
7ff603c
add local static variable stored map
BestDownLoader365 Mar 22, 2024
2cc1c85
Merge branch 'master' into fix_stored_map
BestDownLoader365 Mar 22, 2024
e81b4a4
Merge pull request #25 from BestDownLoader365/fix_stored_map
BestDownLoader365 Mar 22, 2024
0d48db1
Fixes #27, fixes #26
B1G-SAM Mar 22, 2024
356fd1f
Merge pull request #28 from B1G-SAM/kill-enemy
B1G-SAM Mar 22, 2024
656fe23
add math questions
Mar 22, 2024
1f6448e
add math questions
Mar 22, 2024
9974a50
Merge pull request #29 from aaravrawal52/master
aaravrawal52 Mar 22, 2024
105dbca
add result of answer
Mar 22, 2024
e886a53
Merge branch 'AY2324S2-CS2113-W12-3:master' into master
aaravrawal52 Mar 22, 2024
99e0fd6
Merge pull request #30 from aaravrawal52/master
aaravrawal52 Mar 22, 2024
e5c657d
Add Exception Handling for Parser
tannerlie Mar 22, 2024
6004fff
Merge pull request #32 from tannerlie/branch-Parser-Exceptions
tannerlie Mar 22, 2024
fc08505
Modify exception message to use TextBox
tannerlie Mar 22, 2024
17e961b
Add exception handling to battle interface
tannerlie Mar 22, 2024
7ee807c
Merge pull request #33 from tannerlie/branch-Parser-Exceptions
tannerlie Mar 22, 2024
26b9ee8
fixes #34
B1G-SAM Mar 23, 2024
3d343e7
Merge pull request #35 from B1G-SAM/handle-death
B1G-SAM Mar 23, 2024
80b0881
Add Enemy Display & Framework for Future Additions
tannerlie Mar 24, 2024
c525a32
Merge pull request #36 from tannerlie/branch-ASCII-Enemies
tannerlie Mar 24, 2024
83ceef4
Add DG stuff
B1G-SAM Mar 25, 2024
378a8c9
Merge pull request #38 from B1G-SAM/Initial-DG
B1G-SAM Mar 25, 2024
2ee3ba0
add assertion in build.gradle
BestDownLoader365 Mar 25, 2024
d7f0615
Merge pull request #39 from BestDownLoader365/add_assertion
BestDownLoader365 Mar 25, 2024
5e2be9f
delete extra method in Parser Class and add condition when generating…
BestDownLoader365 Mar 27, 2024
07fc075
Merge pull request #41 from BestDownLoader365/make_parser_clean
BestDownLoader365 Mar 27, 2024
528fa33
Fix enemy display issue on Jar
tannerlie Mar 27, 2024
5662c74
Merge pull request #43 from tannerlie/branch-enemy-display-jar-bug
tannerlie Mar 27, 2024
93fc20c
handles no interaction message
Mar 27, 2024
38e5f15
Merge pull request #47 from aaravrawal52/master
aaravrawal52 Mar 27, 2024
96793f8
Add DG of typeCOmmand feature
BestDownLoader365 Mar 27, 2024
89850de
Merge pull request #48 from BestDownLoader365/add_developer_guide
BestDownLoader365 Mar 27, 2024
30529f7
Following java coding standard
BestDownLoader365 Mar 27, 2024
2324237
Merge pull request #49 from BestDownLoader365/Following_Coding_Standard
BestDownLoader365 Mar 27, 2024
44d7373
Add hints, items, shop, shopkeeper
B1G-SAM Mar 28, 2024
fb91d9a
Merge branch 'master' into Hints-Shop-Bugfixes
B1G-SAM Mar 28, 2024
775f381
Merge pull request #50 from B1G-SAM/Hints-Shop-Bugfixes
B1G-SAM Mar 28, 2024
11d4230
fix imports and package names
B1G-SAM Mar 31, 2024
1931143
Merge pull request #51 from B1G-SAM/Import-Fixes
B1G-SAM Mar 31, 2024
5901a12
Add random map generator
BestDownLoader365 Apr 1, 2024
1d11ab2
Merge pull request #52 from BestDownLoader365/Map_Generator
BestDownLoader365 Apr 1, 2024
68a0e56
Add Shopkeeper art and refactor shopkeeper
B1G-SAM Apr 1, 2024
75b9306
Merge pull request #53 from B1G-SAM/Refactor-Shop
B1G-SAM Apr 1, 2024
8fcb9f1
Let user interact with differnt monster
BestDownLoader365 Apr 2, 2024
4d735f4
Merge pull request #54 from BestDownLoader365/Interact_Different_Monster
BestDownLoader365 Apr 2, 2024
2ec0599
added shop interface
Apr 2, 2024
d44a32e
shop map + minor bug fixes
Apr 2, 2024
bbd5e96
shop map + minor bug fixes
Apr 2, 2024
3187186
remove enum constructor modifier
BestDownLoader365 Apr 2, 2024
0a768d7
Merge pull request #56 from BestDownLoader365/small_fix
BestDownLoader365 Apr 2, 2024
d0403ff
Add UG
B1G-SAM Apr 2, 2024
f2ec6f0
Merge pull request #57 from B1G-SAM/UGSam
B1G-SAM Apr 2, 2024
1777ebe
Following Java code standard
BestDownLoader365 Apr 3, 2024
9e467a9
Merge pull request #58 from BestDownLoader365/Better_Code_Standard
BestDownLoader365 Apr 3, 2024
930b5c8
fix
Apr 3, 2024
10b468d
add shop map
Apr 3, 2024
17049b6
Merge pull request #59 from aaravrawal52/master
aaravrawal52 Apr 3, 2024
66086f6
Initial Developer guide for interacting and battling components
tannerlie Apr 3, 2024
bb38a77
Merge pull request #60 from tannerlie/branch-update-DG
tannerlie Apr 3, 2024
4a58f13
exit shop command
Apr 3, 2024
cfa721f
Merge pull request #61 from aaravrawal52/master
aaravrawal52 Apr 3, 2024
75332e4
Fix checkstyles
tannerlie Apr 3, 2024
9379bcb
Merge pull request #62 from tannerlie/branch-fix-checkstyle
tannerlie Apr 3, 2024
a2f5008
minor bug fixes in interact command
Apr 3, 2024
fa96b0c
Merge pull request #63 from aaravrawal52/master
aaravrawal52 Apr 3, 2024
1d88eab
updateDG
B1G-SAM Apr 4, 2024
11ddd9f
Merge pull request #64 from B1G-SAM/DG-update
B1G-SAM Apr 4, 2024
235c12e
delete additional tp file
tannerlie Apr 5, 2024
67ccf80
Merge pull request #65 from tannerlie/branch-delete-extra-tp-file
tannerlie Apr 5, 2024
564ecab
Change DG picture url
tannerlie Apr 5, 2024
2568ddc
Merge pull request #66 from tannerlie/branch-change-DG-picture-url
tannerlie Apr 5, 2024
5fc3583
Update UserGuide.md link
B1G-SAM Apr 5, 2024
644dca0
Merge pull request #67 from AY2324S2-CS2113-W12-3/B1G-SAM-UG-Link-Patch
B1G-SAM Apr 5, 2024
64274fc
Draft: fix gradle
tannerlie Apr 5, 2024
ab22511
Merge pull request #68 from tannerlie/branch-fix-gradle-build
tannerlie Apr 5, 2024
4b2e0f7
Create player inventory
tannerlie Apr 6, 2024
a352d80
Merge from master to branch
tannerlie Apr 6, 2024
3fcac64
Merge pull request #89 from tannerlie/branch-player-inventory
tannerlie Apr 6, 2024
0de568d
Fix import bugs
tannerlie Apr 7, 2024
4db9320
Merge pull request #90 from tannerlie/branch-fix-import-bugs
tannerlie Apr 7, 2024
a5140af
Fixes #82, fixes #84, fixes #71, fixes #70
B1G-SAM Apr 7, 2024
e194c11
Adjusted format for checkstyle
B1G-SAM Apr 7, 2024
4930d2e
Remove unused imports
B1G-SAM Apr 7, 2024
95e4b27
Merge pull request #91 from B1G-SAM/Post-PEDBugfix
B1G-SAM Apr 7, 2024
ec23abc
Partly add shop things
B1G-SAM Apr 7, 2024
e865387
Checkstyle change
B1G-SAM Apr 7, 2024
b4dd134
Merge pull request #92 from B1G-SAM/ShopImplementation
B1G-SAM Apr 7, 2024
1a98f38
Fully implement shop
B1G-SAM Apr 8, 2024
d11c92d
Merge pull request #93 from B1G-SAM/ShopFixes
B1G-SAM Apr 8, 2024
0d97985
Add saving feature
BestDownLoader365 Apr 8, 2024
d994f65
Merge branch 'master' into saving
BestDownLoader365 Apr 8, 2024
8b358f1
Merge pull request #94 from BestDownLoader365/saving
BestDownLoader365 Apr 8, 2024
837cc8d
Update user guide
tannerlie Apr 8, 2024
b91e250
Merge pull request #95 from tannerlie/branch-update-developer-guide
tannerlie Apr 8, 2024
372fa25
Add saving and inventory feature description
BestDownLoader365 Apr 8, 2024
7e38424
Merge pull request #97 from BestDownLoader365/update_UG
BestDownLoader365 Apr 8, 2024
a3ecc3d
changed questions and added increasing difficulty functionality
Apr 8, 2024
dd6a497
Merge pull request #98 from aaravrawal52/master
aaravrawal52 Apr 8, 2024
e590c9c
Add PPP Fang Sihan
BestDownLoader365 Apr 9, 2024
b5a294a
Merge pull request #99 from BestDownLoader365/Add_PPP
BestDownLoader365 Apr 9, 2024
ca75470
Add PPP and implement ability to use items
B1G-SAM Apr 9, 2024
d8bb938
Merge pull request #100 from B1G-SAM/Use-Item-Functionality
B1G-SAM Apr 9, 2024
8564bd9
Simplify player inventory
tannerlie Apr 11, 2024
a0e2b03
Merge pull request #101 from tannerlie/branch-simplify-inventory
tannerlie Apr 11, 2024
65ce45e
Add PPP and update Developer Guide links
tannerlie Apr 11, 2024
3e1ac5f
Merge pull request #102 from tannerlie/branch-developer-guide-links
tannerlie Apr 11, 2024
5705511
Update PPP link
tannerlie Apr 11, 2024
a5a8463
Merge pull request #103 from tannerlie/branch-update-PPP-link
tannerlie Apr 11, 2024
643e7b6
Can save inventory items now
BestDownLoader365 Apr 11, 2024
64a29e3
Merge pull request #104 from BestDownLoader365/Add_saveInventory_feature
BestDownLoader365 Apr 11, 2024
5bef72c
Change PPP name and change hint
B1G-SAM Apr 11, 2024
8a026b2
Merge pull request #105 from B1G-SAM/Small-BugFix
B1G-SAM Apr 11, 2024
4ab48b4
The integer that represents move steps can not exceed 5 digits
BestDownLoader365 Apr 11, 2024
fc409ad
Merge pull request #106 from BestDownLoader365/Restrict_moveSteps
BestDownLoader365 Apr 11, 2024
f072371
Add reset command
BestDownLoader365 Apr 12, 2024
1c04025
Merge pull request #107 from BestDownLoader365/Add_reset_command
BestDownLoader365 Apr 12, 2024
f7fced6
Improve spelling, add win condition
B1G-SAM Apr 12, 2024
fb9979d
Merge branch 'master' into Win-Condition
B1G-SAM Apr 12, 2024
586ce67
Checkstyle fix
B1G-SAM Apr 12, 2024
324f370
Merge branch 'Win-Condition' of https://github.com/B1G-SAM/tp into Wi…
B1G-SAM Apr 12, 2024
118c944
Checkstyle fix 2
B1G-SAM Apr 12, 2024
1658744
Merge pull request #108 from B1G-SAM/Win-Condition
B1G-SAM Apr 12, 2024
26f24b0
Remove Timer in Ui
B1G-SAM Apr 12, 2024
1fdde5b
Add death reset and adjust UG
B1G-SAM Apr 12, 2024
2d87865
Merge pull request #109 from B1G-SAM/Remove-Timer-Feature
B1G-SAM Apr 12, 2024
8f30dd9
Add link to ppp in readme
B1G-SAM Apr 13, 2024
1405790
Merge pull request #111 from B1G-SAM/PPP
B1G-SAM Apr 13, 2024
81acdaf
Fix cat picture not show on the screen
BestDownLoader365 Apr 13, 2024
7122104
Merge pull request #112 from BestDownLoader365/Fix_file_loading
BestDownLoader365 Apr 13, 2024
ace9844
If data has integer overflow or index out of bound, our program will …
BestDownLoader365 Apr 13, 2024
46a8c4d
Merge pull request #113 from BestDownLoader365/Exception_handle_For_D…
BestDownLoader365 Apr 13, 2024
e681e4c
Handle exceptions for player status bar. Fix shop exiting commands.
B1G-SAM Apr 13, 2024
642430d
Checkstyle
B1G-SAM Apr 13, 2024
4217bff
Merge pull request #114 from B1G-SAM/Exceptions
B1G-SAM Apr 13, 2024
7674bbb
Clean up project pages
tannerlie Apr 13, 2024
6406418
Merge pull request #115 from tannerlie/branch-clean-up-pages
tannerlie Apr 13, 2024
ea9edef
Change implementation of printing of shopkeeper
B1G-SAM Apr 13, 2024
8186e10
Fix checkstyle
B1G-SAM Apr 13, 2024
7b5305d
Change reposense link
tannerlie Apr 13, 2024
43f9178
Merge pull request #116 from B1G-SAM/File-Handling
B1G-SAM Apr 13, 2024
bdac5a2
Merge pull request #117 from tannerlie/branch-fix-repo-link
tannerlie Apr 13, 2024
e6e9e23
Improve puml diagram and change description for Map package
B1G-SAM Apr 14, 2024
7a0b652
Merge pull request #118 from B1G-SAM/DG-Addition
B1G-SAM Apr 14, 2024
6e8b94b
Update UG and DG
BestDownLoader365 Apr 14, 2024
5083b0a
Merge branch 'master' of https://github.com/AY2324S2-CS2113-W12-3/tp …
BestDownLoader365 Apr 14, 2024
1682427
Merge pull request #119 from BestDownLoader365/Update_UG_DG
BestDownLoader365 Apr 14, 2024
b0c51e9
Change picture link
BestDownLoader365 Apr 14, 2024
69c7490
Merge pull request #120 from BestDownLoader365/Fix_DG
BestDownLoader365 Apr 14, 2024
ad1d2fe
Add handling of giant integers for the math questions
B1G-SAM Apr 14, 2024
97188a8
Merge pull request #121 from B1G-SAM/Battleinterface-Exception
B1G-SAM Apr 14, 2024
d1a9cde
Change text
B1G-SAM Apr 14, 2024
d6b55d4
Merge pull request #122 from B1G-SAM/Minor-Fix
B1G-SAM Apr 14, 2024
ad950be
Add shopmap to dg
B1G-SAM Apr 14, 2024
0193fc1
checkstyle
B1G-SAM Apr 14, 2024
b4485a0
Merge pull request #123 from B1G-SAM/DG-Edit
B1G-SAM Apr 14, 2024
82a69b8
Add image link
B1G-SAM Apr 14, 2024
431da22
Merge pull request #124 from B1G-SAM/DG-Image
B1G-SAM Apr 14, 2024
9de9538
Fix architecture image
tannerlie Apr 15, 2024
0e8ea62
Merge pull request #125 from tannerlie/branch-fix-architecture-image
tannerlie Apr 15, 2024
3c8fc23
Finish Fang Sihan PPP
BestDownLoader365 Apr 15, 2024
90d1903
Merge pull request #126 from BestDownLoader365/Finish_PPP
BestDownLoader365 Apr 15, 2024
9782925
Remove expected values in text ui test
tannerlie Apr 15, 2024
b055c98
Merge pull request #127 from tannerlie/branch-clear-ui-test
tannerlie Apr 15, 2024
3256db6
Test gradle wrapper
tannerlie Apr 15, 2024
8d78daa
Merge pull request #128 from tannerlie/branch-test-gradle
tannerlie Apr 15, 2024
5783d0b
Fix playerinventory bug and change package name
tannerlie Apr 15, 2024
1284464
Rename package
tannerlie Apr 15, 2024
b7de171
Merge pull request #129 from tannerlie/branch-change-package
tannerlie Apr 15, 2024
741ff6d
Fix saving feature implementation error
BestDownLoader365 Apr 15, 2024
807a0aa
Merge pull request #130 from BestDownLoader365/Fix_SavingFeature
BestDownLoader365 Apr 15, 2024
ec0e737
Add item usage narration
tannerlie Apr 15, 2024
6f7a38f
Merge pull request #131 from tannerlie/branch-add-item-narration
tannerlie Apr 15, 2024
59a3522
Change puml diagram
B1G-SAM Apr 15, 2024
df4a3b3
Change shopmap image
B1G-SAM Apr 15, 2024
23a16b9
Merge pull request #132 from B1G-SAM/DGFinal
B1G-SAM Apr 15, 2024
5166212
Fix ShopMap Image
B1G-SAM Apr 15, 2024
8bc72e7
Merge pull request #133 from B1G-SAM/Image-Fix
B1G-SAM Apr 15, 2024
e685224
Rectify small changes in UG
tannerlie Apr 15, 2024
32ed01a
Merge pull request #134 from tannerlie/branch-fix-ug
tannerlie Apr 15, 2024
dd9ef8d
Change DG indentation
tannerlie Apr 15, 2024
d7dced1
Merge pull request #135 from tannerlie/branch-fix-dg-indentation
tannerlie Apr 15, 2024
6b8fcd8
Fix battle interface diagram
tannerlie Apr 15, 2024
0fd2170
Merge pull request #136 from tannerlie/branch-bi-diagram
tannerlie Apr 15, 2024
d1c11bb
Fix user stories' grammar
tannerlie Apr 15, 2024
18ca52f
Merge pull request #137 from tannerlie/branch-fix-userstories-grammar
tannerlie Apr 15, 2024
06fe9b2
Fix UG mistakes
tannerlie Apr 15, 2024
3c7f416
add ppp
Apr 15, 2024
e8442f8
Merge branch 'AY2324S2-CS2113-W12-3:master' into master
aaravrawal52 Apr 15, 2024
d0f0b7c
Merge pull request #139 from aaravrawal52/master
aaravrawal52 Apr 15, 2024
16016fd
Merge pull request #138 from tannerlie/branch-fix-ug-mistakes
tannerlie Apr 15, 2024
a97018f
Fix readme
tannerlie Apr 15, 2024
939a128
Merge pull request #140 from tannerlie/branch-fix-readme
tannerlie Apr 15, 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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Duke project template
# Game

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.

Expand Down
6 changes: 4 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ test {
}

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

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

Expand All @@ -42,5 +42,7 @@ checkstyle {
}

run{
enableAssertions = true
standardInput = System.in
enableAssertions = true
}
17 changes: 10 additions & 7 deletions docs/AboutUs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
# 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) | Aarav Rawal | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Tanner Lie | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Fang Sihan | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md)
![](https://via.placeholder.com/100.png?text=Photo) | Samuel | [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)

70 changes: 66 additions & 4 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,70 @@

## Design & implementation

Choose a reason for hiding this comment

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

The developer guide does not seem to be building to the project website https://ay2324s2-cs2113-w12-3.github.io/tp/DeveloperGuide.html


### Architecture

### UI Component

# UserCommand feature

User can type command to do things on the Map.

If the user type the command, `parseCommand` function will be called. After that, the original input will be
analyzed by `analyseCommand` function to see if it matches a kind of `CommandType`. Then, we will return new
Command back to the main based on the command type. The Final step is to call the `execute` function. If the command
is the type of `fightCommand`, we will call the execute function with one parameter `Scanner`. For all other
conditions, we will call the execute function with no parameter.

![dummy test](/picture/Command.svg)

Choose a reason for hiding this comment

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

Perhaps it could be helpful to provide a few more examples of inputs and outputs for correct program behaviour

### Map Component

The API of this component is defined in BaseMap.java.

Each map instance consists of a `currentMap` which stores a 2-dimensional array of characters which represents the

Choose a reason for hiding this comment

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

Great description!

printed map for the player. All maps will come with a given `height` and `width`, all of these attributes are inherited
from the AMap abstract class. Currently, the `FirstMap` and `BattleInterface` classes
extend AMap. `FirstMap` is the first map displayed upon entering the game and it displays the position of the player.
The `BattleInterface` is the map displayed when the player interacts with an `interactable`.


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

### Interacting with Environment Component

The API of this component is defined in InteractingCommand.java

![Interaction UML](../picture/Interaction.png)

This component happens when the user chooses to key the interact command. <br>
Here is how it works:
1. When the command is passed by the user, the ```CalculaChroniclesOfTheAlgorithmicKingdom``` object calls the ```Parser``` object
to parse the command to call the respective commands. Here, the ```InteractingCommand``` object is created.
2. The ```CalculaChroniclesOfTheAlgorithmicKingdom``` component then calls the execute() method in ```InteractingCommand```.
3. It executes the method and creates other objects like ```Enemy``` and ```ShopKeaper``` components which are responsible for the
entity classes in the game and also ```BattleInterface``` and ```ShopMap``` which are responsible for displaying these entities among other things.
4. The ```BattleInterface``` or ```ShopKeeper``` will then read from a .txt file to store their displays by creating the ```FileReader``` object and
running their respective methods.
5. These displays, textboxes and player status will then be subsequently printed by the ```CalculaChroniclesOfTheAlgorithmicKingdom``` object.

### Battling Component

Choose a reason for hiding this comment

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

There are very many classes and packages, the diagram is very useful to help explain. Perhaps some of the helper classes and packages can also be explained in words.


The API of this component is defined in FightCommand.java.

![BattleInterface UML](../picture/BattleInterface.png)

This component happens when the user chooses to fight an enemy. <br>
Here is how it works:
1. When the user chooses to fight, the ```CalculaChroniclesOfTheAlgorithmicKingdom``` object calls the ```Parser``` object
to parse the command to call the respective commands. Here, the ```FightCommand``` object is created.
2. The ```CalculaChroniclesOfTheAlgorithmicKingdom``` object then calls the execute() method in ```FightCommand``` and enables the fighting.
3. The ```MathPool``` object is created, which is responsible for the math questions to answer and another ```Ui``` object is created to interact with the user.
4. In the enebleFight() method, it has a loop which asks the user math questions to answer until the player or enemy dies. The player takes damage for
every wrong answer and deals damage to the enemy for every correct answer.
5. In this loop, there is another loop to parse the answer given by the user, and displays an error message and the same math question
until the user gives an answer which is a valid integer.
6. Once either the player or enemy dies, it then exits and runs the relevant checks to eventually print the output to be shown to
the user after battle, handled by ```CalculaChroniclesOfTheAlgorithmicKingdom```.

## Product scope
### Target user profile
Expand All @@ -20,10 +82,10 @@

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

Good formatting

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

## Non-Functional Requirements

Expand Down
78 changes: 63 additions & 15 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,76 @@

## Introduction

{Give a product intro}
Welcome to Calcula: Chronicles of the Algorithmic Kingdom. This is a simple text based
game. Your goal in this game is to defeat the enemies within and claim victory for yourself as a
math wizard.

## Quick Start

{Give steps to get started quickly}

1. Ensure that you have Java 11 or above installed.
1. Down the latest version of `Duke` from [here](http://link.to/duke).
1. Down the latest version of `CalculaChroniclesOfTheAlgorithmicKingdom` from [here](http://link.to/duke).

## Features

{Give detailed description of each feature}
### The Map
This game displays the character's position on a 2D grid, the player is denoted by a `P`
and the other interactable entities are denoted by other symbols.

### Adding a todo: `todo`
Adds a new item to the list of todo items.
### Movement
Traversing the map is similar to many common computer games. We use the "WASD" system such that
entering `w` to the program shifts the player up by 1 space, entering `a` shifts the player to the left,
entering `s` shifts the player down 1 space and lastly, entering `d` shifts the player to the right by 1 space.
This movement can only take place when the 2D grid map is visible.

Format: `todo n/TODO_NAME d/DEADLINE`

* The `DEADLINE` can be in a natural language format.
* The `TODO_NAME` cannot contain punctuation.
### Interacting

To interact with any entity in the game the player first has to move towards the symbol and be within close proximity
to the symbol. We define close as the player needing to be directly above, below, to the left or to the right of an
entity symbol, in other words, there can be no gap in between the player and the entity and interactions cannot occur
diagonally.

To interact the player enters `e`.

This action will bring up a new interface called the battle interface. For now there will only be battles using this
interface but we plan to implement shops and other entities using this interface. For now, this interface will display
the enemy the symbol represents and gives you 2 options, to `run` or to `fight`.

### Run

Should the player, in the battle interface, determine that the enemy is too strong, the player may choose to type `run`
to back out of the fight and return to the main map to continue moving around.

### Fight

Should the player, in the battle interface, wish to fight the enemy. Entering `fight` in the battle interface will
start a fight. A series of math questions will appear based on the strength of the enemy. Generally, stronger enemies
will come with harder math questions.

The player will then enter the correct answer. The answer is guaranteed to be an integer. Getting the question correct
will cause the player to attack the enemy and getting it wrong will cause the enemy to attack the player. Getting the
questions wrong repeatedly will deplete the player's health and once the player's health reaches 0, the player dies and
the game is over. However, depleting the enemy's health to 0 will result in a victory and the player is rewarded with
some gold and exp before returning the player to the main map.

### Hints

Sometimes, hints are scattered throughout the map such that some text will display just below the map to help the player,
hints are entirely passive and no user input is required for the hints to trigger.

### Quit

Enter `q`to quit the game.


### Help

If you need a refresher on the controls, entering either `h` or `help` will bring up a set of instructions.


Example of usage:

`todo n/Write the rest of the User Guide d/next week`

`todo n/Refactor the User Guide to remove passive voice d/13/04/2020`

## FAQ

Expand All @@ -37,6 +81,10 @@ Example of usage:

## Command Summary

{Give a 'cheat sheet' of commands here}

* Add todo `todo n/TODO_NAME d/DEADLINE`
`w` `a` `s` `d` to move around
`e` to interact
`q` to quit
`h` to print help menu
`run` to escape the battle interface
`fight` to commence a fight
all math questions have integer answers.
137 changes: 137 additions & 0 deletions graph/BattleInterface.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
@startuml

box Battle Component
participant "CalculaChroniclesOfTheAlgorithmicKingdom" as main
participant ":UI" as ui
participant ":Parser" as parser
participant ":TextBox" as text
participant ":FightCommand" as f
participant ":PlayerStatus" as player
participant ":Enemy" as e
participant ":BattleInterface" as bi
participant ":FileReader" as fileReader
participant ":Map" as map
participant ":MathPool" as mathpool

activate main
main -> parser : parseCommand(userCommandText)
activate parser
create f
parser -> f
activate f
f --> parser
deactivate f
parser --> main : command class
deactivate parser
main -> main : executeCommand()
activate main
main -> f : execute()
activate f
f -> bi : enableFight()
activate bi
create mathpool
bi -> mathpool
activate mathpool
mathpool --> bi
deactivate mathpool
bi -> mathpool : init()
activate mathpool
mathpool --> bi
deactivate
create ":UI" as UI
bi -> UI
activate UI
UI --> bi
deactivate UI
loop player and enemy is alive
bi -> player : getPlayerHealth()
activate player
player --> bi : player health
deactivate player
bi -> e : getHealth()
activate e
e --> bi : enemy health
deactivate e
bi -> UI : printPlayerStatus(currentPlayer)
activate UI
UI --> bi
deactivate UI
bi -> UI : printMap(mapData, currentEntity)
activate UI
UI --> bi
deactivate UI
bi -> mathpool : getQuestionByDifficulty(difficulty);
activate mathpool
mathpool --> bi : question
deactivate mathpool
bi -> UI : printQuestion(question)
activate UI
UI --> bi
deactivate UI
loop command is not an integer
bi -> text : setNextError(error)
activate text
text --> bi
deactivate text
bi -> text : setNextInstruction(question)
activate text
text --> bi
deactivate text
bi -> UI : printTextBox()
activate UI
UI --> bi
deactivate UI
end
alt correct answer
bi -> bi : playerHitEnemy()
else wrong answer
bi -> bi : enemyHitPlayer()
end
end
bi --> f
deactivate bi
alt enemy died
f -> map : getInteractX()
activate map
map --> f : x coordinate
deactivate map
f -> map : getInteractY()
activate map
map --> f : y coordinate
deactivate map
f -> map : clearSpot(x coordinate, y coordinate)
activate map
map --> f
deactivate map
f -> map : handleLootingByPlayer()
activate map
map --> f
deactivate map
else player died
f -> map : handleDeath();
activate map
map --> f
deactivate map
end
f --> main
deactivate f
deactivate main
main -> main : printMessageUnderMap(userCommand, ui, playerStatus, textBox)
activate main
alt not calling help menu or quitting game
alt show battle interface
main -> ui : printEnemy(currentMap)
activate ui
ui --> main
deactivate ui
else
main -> ui : printMap(currentMap)
activate ui
ui --> main
deactivate ui
end
end

end box

@enduml
9 changes: 9 additions & 0 deletions graph/Command.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
@startuml
'https://plantuml.com/sequence-diagram

Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml
6 changes: 6 additions & 0 deletions graph/Graphs.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
## AMap Class Diagram




## AMap Sequence Diagram
Loading
Loading