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

#custom
/data
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: main.CalculaChroniclesOfTheAlgorithmicKingdom

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("Release v2.1")
archiveClassifier.set("")
}

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

run{
enableAssertions = true
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://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/tannerlie) | [Portfolio](team/tannerlie.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)


255 changes: 240 additions & 15 deletions docs/DeveloperGuide.md

Large diffs are not rendered by default.

14 changes: 10 additions & 4 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
# Duke
# CalculaChroniclesOfTheAlgorithmicKingdom

{Give product intro here}

Useful links:
CalculaChroniclesOfTheAlgorithmicKingdom is an open-world game played on the CLI. It aims to provide a fun and interactive
way for younger students to learn/revise their mathematics knowledge. It is equipped with full player autonomy to explore,
interact with shops and their inventory as well as slaying monsters with their wits and intellect by solving mathematical problems. <br>
<br>
Below is a list of links for our project:
* [User Guide](UserGuide.md)
* [Developer Guide](DeveloperGuide.md)
* [About Us](AboutUs.md)
* [B1G-SAM PPP](team/b1g-sam.md)
* [bestdownloader365 PPP](team/bestdownloader365.md)
* [tannerlie PPP](team/tannerlie.md)
* [aaravrawal_PPP](team/aaravrawal.md)
140 changes: 123 additions & 17 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,147 @@

## Introduction

{Give a product intro}
Welcome to CalculaChroniclesOfTheAlgorithmicKingdom. 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).
2. Download the latest version of `CalculaChroniclesOfTheAlgorithmicKingdom` from [here](https://github.com/AY2324S2-CS2113-W12-3/tp/releases).

## 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. The entities on the map are randomly generated in each
play through of the game.

### Adding a todo: `todo`
Adds a new item to the list of todo items.
### The Player
At all times, the player's health, money and exp is displayed at the top of the screen. Dropping the player's health
to 0 will cause the player to die and the game is over.

### The Text Box
At all times, on the bottom part of the screen, a text box will be visible and it will be visible. The text box informs
the player of narrations from the narrator, dialogue from the entities, general instructions from the user interface and
also error messages when they occur.

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

Additionally, should the player wish to move more than 1 space at a time, the player can modify the directional commands
by adding a number in this manner.

E.g `d 10`

The above command moves the player rightwards by 10 spaces.


### 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 which can be for either battling enemies or accessing the shop.
This interface will display an image that corresponds to the symbol on the map 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.


### Items

There are various consumables the player can acquire throughout the game. The items are consumable items, meaning the
item can be only used once before it is destroyed. There are 2 general types of items, the healing item and the damage
item. Healing items will recover the player's health, if the player's health is already maxed out at
100hp(health points), the healing item will OVER-HEAl and increase the player's health past the initial 100hp. Damage
items will empower the player's next attack to do increased damage on a successful hit.

### Shop

Items are purchasable at the shop denoted by a '#' on the map. Interacting with the shop causes the player to enter the
shop. Just like the enemies, the player must enter `fight` to browse the shop's items. After entering the shop, buy an
item by entering the index of the item and the item will automatically be purchased and transferred to the Inventory.
The purchase will only go through if the player has enough money. To exit the shop, the player enters `exit`.

### Inventory

The inventory of the player can only be accessed when the player is not currently interacting with an entity. To bring
up the inventory the player enters `i`. To use an item the player enters the keyword `use` followed by the index of the
item.

E.g `use 1`

To close the inventory, the player enters `close`.

### 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. The game is automatically saved.


### Help

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

### Saving

Our program can save map when you are playing the game.
Also, it will save the player status and your inventory items
Please Note: After buying things in shop or fighting with a monster, you have to move on the map to save your file.

### Reset

Should a reset be necessary, the player can completely wipe the current progress of the game and regenerate a new game
at ANY POINT IN THE GAME by entering `reset`.

Format: `todo n/TODO_NAME d/DEADLINE`

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

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

**Q**: How do I transfer my data to another computer?
**Q**: Is there any prerequisite to run the application.

**A**: {your answer here}
**A**: Java 11 needs to be installed and the jar file must be in an empty folder before running.

## 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
`i` to bring up inventory
`close` to leave inventory
`exit` to leave the shop
`reset` to reset the entire game and start a new game.
All math questions have integer answers.
26 changes: 26 additions & 0 deletions docs/diagrams/Architecture.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
@startuml
box Architecture
participant "User" as user
participant ":CalculaChroniclesOfTheAlgorithmicKingdom" as main
participant ":UI" as ui
participant ":Parser" as parser
participant ":MoveRightCommand" as command

user -> main : "w"
activate main
main -> parser : parseCommand()
activate parser
parser --> main : command
deactivate parser
main -> command : execute()
activate command
command --> main
deactivate command
main -> ui : print()
activate ui
ui --> user
deactivate ui
user -> main : "d"

end box
@enduml
123 changes: 123 additions & 0 deletions docs/diagrams/BattleInterface.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
@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



end box

@enduml
Loading
Loading