From bcf9a6d7f2fedb5a18f20e18dec4d85f08f99758 Mon Sep 17 00:00:00 2001 From: jkonert Date: Mon, 16 May 2022 16:08:27 +0200 Subject: [PATCH] added package descriptions for JavaDoc --- GameProject/src/collider/package-info.java | 9 +++++++++ GameProject/src/gameobjects/package-info.java | 7 +++++++ GameProject/src/playground/package-info.java | 9 +++++++++ 3 files changed, 25 insertions(+) create mode 100644 GameProject/src/collider/package-info.java create mode 100644 GameProject/src/gameobjects/package-info.java create mode 100644 GameProject/src/playground/package-info.java diff --git a/GameProject/src/collider/package-info.java b/GameProject/src/collider/package-info.java new file mode 100644 index 0000000..f101edb --- /dev/null +++ b/GameProject/src/collider/package-info.java @@ -0,0 +1,9 @@ +/** + * The package contains classes implementing a 'bounding box' area around game objects.
+ * The abstract base class {@link Collider} provides the abstract method {@link Collider#collidesWith(Collider)}, + * which needs to be implemented by child classes to detect and decide whether or not an object with such instance really collides with the other. + * {@link Collider} instances are to be used for game objects ({@link gameobjects}); see constructors.
+ * + * The benefit of seperating Colliders from visual representations is that the area for collisions can be smaller/bigger/other shape to improve game play experience. + */ +package collider; diff --git a/GameProject/src/gameobjects/package-info.java b/GameProject/src/gameobjects/package-info.java new file mode 100644 index 0000000..7ec704e --- /dev/null +++ b/GameProject/src/gameobjects/package-info.java @@ -0,0 +1,7 @@ +/** + * The package gameobjects contains all objects with a visual representation on screen. + * They can be combined to use controller instances for their behavior (subclasses of {@link controller.ObjectController}). + * The abstract base class is {@link GameObject}, which forces child-classes to implement the method + * {@link GameObject#updateObject()}. + */ +package gameobjects; diff --git a/GameProject/src/playground/package-info.java b/GameProject/src/playground/package-info.java new file mode 100644 index 0000000..bbbf357 --- /dev/null +++ b/GameProject/src/playground/package-info.java @@ -0,0 +1,9 @@ +/** + * The package playground contains all level specific logic and control of level logic. + * The structure and general logic (with global and local flags to be stored/used) + * is provided in abstract base class {@link Playground}.
+ * Child-classes implement specific logic for one level and game type (e.g. {@link SpaceInvadersLevel}). + * + * Generally, the base class {@link Playground} supports totally different game types to be implemented. + */ +package playground;