Commit Graph

313 Commits

Author SHA1 Message Date
f184c6b3b9 refactor: deleted unused NotificationEvent 2021-06-02 00:15:09 +02:00
9d5484966e fix: fix thanos' mp handling 2021-06-01 19:45:18 +02:00
71fc0893a8 refactor: utilize NPCType 2021-06-01 19:33:48 +02:00
e88476eb10 cleanup: optimize imports, remove unused code, fix warnings 2021-06-01 19:26:29 +02:00
4d467d6d95 fix: destroy infinity stone entities if picked up 2021-06-01 19:16:57 +02:00
850c46c6e1 feat: add thanos' ai 2021-06-01 19:14:44 +02:00
2f45e2b772 feat: add 4-connected Bresenham pathfinding algorithm 2021-06-01 18:30:32 +02:00
8e6f61a665 fix: add missing checks to game logic and fix events not being applied 2021-06-01 17:59:45 +02:00
9c2c814e98 cleanup: optimize imports 2021-06-01 17:19:48 +02:00
5984e40384 fix: improve rasterization and tests 2021-06-01 17:15:44 +02:00
0572450ced refactor: changed returnType of checkRequestsAndApply to list 2021-06-01 16:53:45 +02:00
141469c11f refactor: changed returnType of checkRequestAndApply to optional 2021-06-01 16:34:08 +02:00
842db2439a breaking: remove observable pattern, make methods return events directly 2021-06-01 15:43:04 +02:00
4802b0113d feat: implemented NPC serialization properly 2021-06-01 14:04:50 +02:00
C H
fe7687bc21 added some tests for Events, Requests and their Builders 2021-06-01 09:40:03 +02:00
6c06beb366 fix: that's not supposed to be in there 2021-06-01 00:52:24 +02:00
cce1622a45 WIP: add full game test base 2021-06-01 00:50:43 +02:00
ae9f5902e1 refactor: create proper game logic test 2021-06-01 00:50:29 +02:00
787ba7d38e fix: naming and field occupation during game initialization 2021-06-01 00:48:49 +02:00
bfe7b10169 feat: implemented EntitySerializer and partial test 2021-06-01 00:42:54 +02:00
ad9d314b6b refactor: removed unused imports in JSON 2021-06-01 00:42:46 +02:00
23777bad33 refactor: extracted SerializedEntityType enum 2021-06-01 00:33:43 +02:00
20f014209a feat: added inventory method to get inventory as array 2021-06-01 00:33:43 +02:00
bccffad8f0 fix: more code is apparently better 2021-06-01 00:32:07 +02:00
3238f45836 refactor: matched test packages to previous refactor 2021-05-31 23:41:40 +02:00
d080fff5d3 refactor: arranged de/serializers into packages 2021-05-31 23:38:22 +02:00
852c85df08 feat: partial rewrite of JSON wit support for CharacterConfig 2021-05-31 23:25:41 +02:00
c8d34fcc97 feat: implemented config-based character deserialization 2021-05-31 23:25:41 +02:00
fa6207e47d feat: characterConfig now has a HashMap for values 2021-05-31 23:25:41 +02:00
9a9fe4ae97 feat: add thanos into the handling 2021-05-31 22:54:13 +02:00
1ba5410fd6 fix: improve the terrible rasterization code 2021-05-31 22:50:44 +02:00
4b794e99e9 feat: add proper game initialization 2021-05-31 21:37:18 +02:00
184c839c3a fix: utilize config in GameLogic 2021-05-31 18:30:26 +02:00
7c36ea5c5c fix: add configs to GameInstance and fix GameState snapshots 2021-05-31 18:07:53 +02:00
ab011e54da test: partial test for EventDeserializer 2021-05-31 17:57:55 +02:00
488b18b40c fix: make configuration class names consistent 2021-05-31 17:51:57 +02:00
d09a733f2a feat: add CharacterConfig 2021-05-31 17:50:15 +02:00
213955bc37 fix: reset turnCount at the beginning of a new round 2021-05-31 17:37:37 +02:00
a69d8b916f refactor: improved information hiding in RequestDeserializerTest 2021-05-31 15:03:11 +02:00
C H
bf574cec1e Update RequestBuilderTest.java 2021-05-30 18:51:30 +02:00
C H
1e47a63cb7 Merge branch 'gamelib' of https://gitlab.informatik.uni-ulm.de/sopra/ws20-marvelous-mashup/teams/team25 into gamelib 2021-05-30 18:50:33 +02:00
C H
75e9ee07a5 testing: RequestBuilder testing 2021-05-30 18:50:21 +02:00
e6dc10e3f5 feat: implemented proper Request serialization 2021-05-30 18:07:28 +02:00
6a6669ae5d refactor: re-formatted JSONTest 2021-05-30 18:07:05 +02:00
2ff309500e feat: implemented proper stringify in the JSON class, and changed ObjectMapper to static 2021-05-30 18:06:18 +02:00
d2216f190a feat: removed ObjectMapper in deserializers, and replaced it with context-based mapping 2021-05-30 17:22:02 +02:00
9192677ca1 fix: corrected JSON property order of CharacterRequest 2021-05-30 17:03:29 +02:00
27c3d6554a fix: fixed JSON mapping of requestTypes 2021-05-30 17:01:48 +02:00
cb0f2cae13 feat: optimized IntVector2Deserializer 2021-05-30 17:01:27 +02:00
d0829f3948 feat: implemented proper deserialization for EntityID and IntVector2 2021-05-30 17:00:59 +02:00
42e57daa54 test: started writing GameLogic test, and added providers for several types 2021-05-28 17:25:49 +02:00
a25231fb3e fix: fixed bugs in RequestDeserializer, and wrote Proptests for it 2021-05-28 16:20:40 +02:00
da1d72d61a refactor: nicer enum arrangement of RequestTypes 2021-05-28 16:20:22 +02:00
b871b4d3a4 refactor: split MessageStructure into multiple messages, as a starting point for proper implementation of the login standard 2021-05-28 14:51:17 +02:00
a92f437412 feat: completed RequestDeserializer 2021-05-28 14:50:38 +02:00
b2b963579e test: wrote proptest for IntVector to practise proptesting 2021-05-28 14:47:15 +02:00
C H
0ba55f4922 Merge branch 'gamelib' of https://gitlab.informatik.uni-ulm.de/sopra/ws20-marvelous-mashup/teams/team25 into gamelib 2021-05-28 13:40:08 +02:00
C H
940d8a8d97 EventBuilder Tests 2021-05-28 13:18:20 +02:00
0696176609 fix: allow EndRoundRequest event 2021-05-27 18:02:30 +02:00
830ef22997 feat/refactor: actually track win conditions 2021-05-27 17:58:44 +02:00
7f7459e7a7 fix: make movement events pick up infinity stones 2021-05-27 17:30:36 +02:00
3522cee9a4 feat: add stone cooldown handling 2021-05-27 17:26:46 +02:00
0f50efa121 feat: add handling for overtime victories 2021-05-27 17:18:36 +02:00
a416698adf feat: add handling for stan and goose 2021-05-27 17:08:08 +02:00
01ccabad14 refactor: massively improve turn and round handling code 2021-05-27 15:57:06 +02:00
7dcffab0a6 feat: changed ObjectMapper to static for the JSON deserializers 2021-05-26 16:16:48 +02:00
65c33d886c fix: removed checksum from MessageStructure 2021-05-21 22:33:01 +02:00
a4c510279a test: fixed EventDeserializerTest and implemented the GameEvent test part of it 2021-05-21 14:16:19 +02:00
035bf2eb7c refactor: generated Equals and HashCode for requests where necessary 2021-05-21 14:16:02 +02:00
596ace355a feat: implement method to start a game 2021-05-19 20:04:10 +02:00
f3b5fc277e wip: implement post turn handling 2021-05-19 19:59:41 +02:00
7bac3bd46a feat: properly expose EntityManager 2021-05-19 18:24:07 +02:00
bd442bedfc feat: add RequestBuilder and test base 2021-05-18 19:03:34 +02:00
588633fe46 fix: add more necessary getters to GameStateView 2021-05-18 18:44:01 +02:00
1348e342d6 refactor: removed deprecated checksum 2021-05-18 18:14:03 +02:00
a6e90ef0f4 fix: fixed a typo in RequestType 2021-05-18 17:58:35 +02:00
72cec32253 fix: make EventObserver use an array of events 2021-05-18 17:24:07 +02:00
2aefddf979 Merge branch 'gamelib' of ssh://gitlab.informatik.uni-ulm.de/sopra/ws20-marvelous-mashup/teams/team25 into gamelib 2021-05-18 14:19:23 +02:00
37e84b6e15 feat: created BasicAnswer, and cleaned up some code 2021-05-18 14:19:09 +02:00
9fa5c554ef feat: expose methods for game state event handling 2021-05-18 14:14:23 +02:00
2d33f150a8 refactor: remove todo 2021-05-18 14:02:55 +02:00
0bb4ba21df fix: code cleanup 2021-05-18 13:56:41 +02:00
b00ba50f97 feat: implement GameLogic.applyEvent 2021-05-18 13:55:36 +02:00
729a1d4a71 feat: add handling and checking for MindStone 2021-05-18 13:21:36 +02:00
4b69cca440 test: un-disabled JSONTest 2021-05-17 20:12:29 +02:00
1bd4e8a9c5 feat: partially created a test for EventDeserialzer, still needs some work 2021-05-17 20:10:42 +02:00
f3744ef225 feat: completed event deserializer, completing the deserialization pipeline 2021-05-17 20:10:13 +02:00
c5fe7ec7db fix: fixed GamestateEvent deserialization test 2021-05-17 18:48:58 +02:00
156677f290 test: wrote partial EventDeserializer test 2021-05-13 16:11:13 +02:00
3929bde062 test: removed prints from tests 2021-05-13 16:11:02 +02:00
2bfa17bef7 test: disabled two non-relevant tests 2021-05-13 16:10:51 +02:00
5701cedcf4 fix: added eventType to toString methods of events 2021-05-13 14:21:32 +02:00
868df160bb feat: implemented EntityDeserializer and EntityDeserializerTest 2021-05-11 23:11:17 +02:00
f7b1514491 feat: wrote EntityDeserializer 2021-05-11 21:17:55 +02:00
28ac25fa55 refactor: generated equals, hashCode and toString for entity classes 2021-05-11 21:17:06 +02:00
1cb2c145d1 feat: added integer conversion to StoneType enum 2021-05-11 21:00:33 +02:00
f4123481bc feat: implemented deserializer for IntVector2 and created a test for it 2021-05-11 20:26:57 +02:00
f09b9e2388 feat: connected deserializers to classes 2021-05-11 06:14:43 +02:00
6947105077 feat: created proper JSON deserializer and created test for JSON, which is still used for TDD 2021-05-11 06:14:18 +02:00
e3635851d2 feat: created deserializer for EntityIDs 2021-05-11 06:13:38 +02:00
734445275d feat: added JSON deserialization code to the JSON class 2021-05-11 06:13:21 +02:00
062281fdcb refactor: prepared GamestateEvent and MessageStructure for further steps by generating Equals and ToString 2021-05-11 06:11:01 +02:00
6e9efa1a59 refactor: changed GameStateEvent to GamestateEvent 2021-05-11 05:06:00 +02:00
e31cc1644d fix: added CustomEvents category for CustomEvent in EventType enum 2021-05-11 04:26:44 +02:00
7129f0f3ab fix: removed Req from EventTypes as it's now a request, not an event 2021-05-11 04:25:35 +02:00
1a98f25139 feat: add handling and checking for UseInfinityStoneRequest, fix: use proper distance calculations for some checks 2021-05-11 03:50:24 +02:00
4203092f9a fix: fixed building gamestate events (and the tests relating to that) 2021-05-11 03:20:19 +02:00
c2d1c2cc98 feat: handle Req request and remove handling of lobby events 2021-05-05 18:59:07 +02:00
a9c80cb19b fix: add new event properties to builder 2021-05-05 18:58:39 +02:00
56a90f6bdf feat: added new request types 2021-05-05 17:49:36 +02:00
3038368ad8 feat: reworked GamestateEvent according to new standard 2021-05-05 17:32:18 +02:00
9405b89fb3 fix: resolve event emitter not emitting because of missing call to setChanged 2021-05-03 20:19:17 +02:00
a5ccba0326 refactor: switch to EventBuilder 2021-05-03 19:36:30 +02:00
80c77b7956 refactor: move event checks from builder to their respective classes 2021-05-03 19:25:36 +02:00
d36466a5a0 refactor: make GameLogic.checkRequest use error pattern and simple check methods 2021-05-02 15:34:42 +02:00
05f4751a2c feat: properly handle movement requests 2021-05-02 14:38:03 +02:00
d06ac91ef8 refactor: clean up code and improve event builder 2021-05-02 14:28:51 +02:00
45ac7d6a62 fix: properly add new pause events 2021-05-02 13:24:27 +02:00
3e36947d3e feat: partially finished test for EventBuilder 2021-05-02 04:14:28 +02:00
c190111de1 feat: completed EventBuilder with complete exception-based event checking for all events 2021-05-02 04:14:00 +02:00
1bd3cdf63f fix: rewrote CharacterEvent equals for nullability compatibility 2021-05-02 03:19:15 +02:00
326c469e55 fix: changed event types to non-primitives for nullability 2021-05-02 03:15:20 +02:00
e6cc61a272 feat: rewrote EntityBuilder to check for entity correctness when building entities 2021-05-02 02:58:39 +02:00
091e6eb688 fix: added entity to entityEvents as this is required for the SpawnEntityEvent 2021-05-02 02:58:02 +02:00
06af6b37f3 feat: added pause event types to eventType enum 2021-05-02 02:15:32 +02:00
3b286c3cad merge: merged comment in EventBuilder for better formating
Conflicts:
	src/main/java/uulm/teamname/marvelous/gamelibrary/events/EventBuilder.java
2021-05-02 02:04:40 +02:00
608cd829c4 temp: half finished but ineffective EventBuilder, to be reworked
fix: deleted duplicate equals

fix: changed language level

temp: half finished but ineffective EventBuilder, to be reworked
2021-05-02 02:02:32 +02:00
21fccee0df fix: fix formatting 2021-05-02 00:19:01 +02:00
abd70a0d05 fix: deleted duplicate equals 2021-05-02 00:05:55 +02:00
82fa54bd2d Merge remote-tracking branch 'origin/gamelib' into gamelib 2021-05-02 00:03:19 +02:00
be88744bc9 fix: generated equals and hashCode for events, entities and entityIDs 2021-05-02 00:03:09 +02:00
b5a66dcdc6 wip: start implementing GameLogic.checkRequest 2021-05-02 00:03:03 +02:00
889e4cf233 Merge remote-tracking branch 'origin/gamelib' into gamelib 2021-05-01 23:54:40 +02:00
1a33a8cb7e fix: fixed comments to properly display as a list 2021-05-01 23:54:25 +02:00
9220b6cc1b fix: add todo comment 2021-05-01 23:51:16 +02:00
1cb86f6be8 feat: added EventBuilder for building Events with more convenience and nicer code 2021-05-01 23:36:07 +02:00
d00c18c9d3 fix: changed gamestate event to new format
BREAKING-CHANGE: GamestateEvent parameter type changes
2021-05-01 23:19:36 +02:00
cdf9c342ef fix: changed custom content type to HashMap<String, Object> 2021-05-01 23:18:53 +02:00
5a667ea860 Merge remote-tracking branch 'origin/gamelib' into gamelib 2021-05-01 23:08:04 +02:00
bdc434ecc3 refactor: added comments and rearranged EventTypes 2021-05-01 23:07:34 +02:00
bebe721788 feat: implement GameLogic.executeRequest 2021-05-01 23:06:22 +02:00
3b286b4667 feat: data classes for all events and requests 2021-05-01 22:30:52 +02:00
43cf4c6c1b fix: swap EntityID constructor parameters 2021-05-01 22:24:27 +02:00
b5614d3d37 fix: its movement point, not mana point 2021-05-01 21:53:52 +02:00
2783173898 ix: move manager classes to game logic 2021-05-01 21:40:36 +02:00
fe249f39ea refactor: improve stone cooldown storing and implement better cloning 2021-05-01 19:47:19 +02:00
Yannik Bretschneider
01ee534a56 refactor: changed tuple test variable name to t for readability 2021-04-30 23:47:41 +02:00
e062de635d fix: change last comments to new format 2021-04-30 23:19:58 +02:00
fc1382b343 wip: add basic test for GameState.snapshot 2021-04-30 21:49:10 +02:00
fcd2338b11 feat: implement all getters in GameStateView 2021-04-30 21:48:48 +02:00
eccac70656 feat: implement GameState.snapshot and make entities cloneable 2021-04-30 21:48:28 +02:00
7f225b850c feat: add arbitrary test as base 2021-04-30 20:56:32 +02:00
3f7d393d5d refactor: unify comment styles
feat: add entity list class
2021-04-30 20:54:34 +02:00
Yannik Bretschneider
78b5d9d4cf feat: created RoleEnum according to standard 2021-04-30 19:40:50 +02:00
Yannik Bretschneider
72289a5052 refactor: Added and improved comments in message structure 2021-04-30 16:28:00 +02:00
Yannik Bretschneider
51a7044851 refactor: optimized file readability by refactoring comments 2021-04-30 16:25:34 +02:00
Yannik Bretschneider
71f571fee1 feat: created POJOs for message structures from the standard document 2021-04-29 21:41:31 +02:00
Yannik Bretschneider
67b9d25eb8 fix: Refactored to Gradle-based project, and added dependencies 2021-04-29 20:57:08 +02:00
0f7109d41a wip: backbone for the game logic package 2021-04-29 19:15:29 +02:00
90aad32b92 fix: change package path 2021-04-29 16:45:18 +02:00
47fa16b9ee feat: add initial classes for json package 2021-04-29 16:40:35 +02:00
034d046e39 feat: add initial classes for entities package 2021-04-29 16:40:23 +02:00
dd2b653b3a feat: add custom int vector class 2021-04-29 16:39:10 +02:00