diff --git a/README.md b/README.md index 445c0f1..603df18 100644 --- a/README.md +++ b/README.md @@ -11,27 +11,27 @@ # đą Run The Cat -### đŠâđģ Student Information +## đŠâđģ Student Information Name : Nadia Azzahra Putri Arvi Student ID : 20210747 Email : nadia.arvi@kaist.ac.kr -## Table of Contents +## đ Table of Contents - [đą Run The Cat](#-run-the-cat) - - [đŠâđģ Student Information](#-student-information) - - [Table of Contents](#table-of-contents) + - [đŠâđģ Student Information](#-student-information) + - [đ Table of Contents](#-table-of-contents) - [đŽ Game Description](#-game-description) - - [How It Works](#how-it-works) - - [âī¸ Running The Game](#ī¸-running-the-game) - - [đ§ Code Organization](#-code-organization) - - [Core Components](#core-components) - - [đ Known Issues](#-known-issues) - - [⨠Special Features](#-special-features) + - [đšī¸ How It Works](#ī¸-how-it-works) + - [âī¸ Installing \& Running The Game](#ī¸-installing--running-the-game) + - [đ§ Code Structure](#-code-structure) + - [đđģ Repository Structure](#-repository-structure) + - [đ§Š Key Modules and Responsibilities](#-key-modules-and-responsibilities) - [đĻ Tech Stack \& Resources](#-tech-stack--resources) - [đ§ Built With](#-built-with) - [đšī¸ Game Framework \& Libraries](#ī¸-game-framework--libraries) - [đ¨ Assets Used](#-assets-used) - - [đđģ Repository Structure](#-repository-structure) + - [đ Known Issues](#-known-issues) + - [⨠Special Features](#-special-features) - [đ Acknowledgements](#-acknowledgements) @@ -39,7 +39,7 @@ Email : nadia.arvi@kaist.ac.kr ## đŽ Game Description Run The Cat is a puzzle-platformer game where players guide a cat through various levels using coding-like commands. The game teaches basic programming concepts through interactive gameplay. -### How It Works +### đšī¸ How It Works
Figure 1. A snapshot of the game interface showing key UI components.
@@ -52,7 +52,7 @@ In this game, players must:
4. Execute the move using the `run` button to guide the cat.
5. Collect keys and reach the flag to complete the level.
-## âī¸ Running The Game
+## âī¸ Installing & Running The Game
To play the game, follow these steps:
1. Clone the repository
@@ -70,25 +70,39 @@ cd run-the-cat
npm install
npm start
```
+## đ§ Code Structure
+### đđģ Repository Structure
+```bash
+run-the-cat/
+âââ README.md
+âââ index.html # Main HTML file to load the game
+âââ lib/ # External libraries (p5.js, SceneManager, etc.)
+â âââ p5.clickable.js
+â âââ p5.js
+â âââ scenemanager.js
+â âââ scenemanager_.js
+âââ package.json # Project metadata and dependencies
+âââ public/
+â âââ assets/ # Images, sprites, and other media assets
+âââ src/ # Main source code
+ âââ components/ # Reusable game components (Cat, Flag, etc.)
+ âââ main.js # Game entry point
+ âââ scenes/ # Level or scene logic
+ âââ style.css # Styles for the game UI
+ âââ utils/ # Utility functions and UI helpers
+```
-
-## đ§ Code Organization
-### Core Components
-Main Classes
-- `SceneManager`: Handles scene transitions and game state
-- `Cat`: Controls player character physics and animations
-- `Key`/`Flag`: Interactive level elements
-
-## đ Known Issues
-- **Restart Bug**
- After restarting a level, the cat's movement becomes slightly jittery, unlike on a fresh load. This is likely due to the sprite or state not being fully reset. A temporary fix is in place, but it may still cause minor visual glitches.
-
-- **Clickable Background After Completion**
- When a level is completed and the overlay is displayed, the background remains interactive. This allows players to accidentally trigger cat movement even though the game should not be playable.
-
-## ⨠Special Features
-
-_No additional features beyond the core requirements were implemented._
+### đ§Š Key Modules and Responsibilities
+- index.html: Entry point of the application; initializes canvas and loads all scripts.
+- lib/: Contains external libraries such as p5.js, p5.clickable, and p5.SceneManager for rendering, UI, and scene handling.
+- public/assets/: Includes all images, sprites, and media used in the game and README visuals.
+- src/components/: Contains constructors for individual game elements such as:
+ - Cat: Handles player character movement, physics, and animation.
+ - Key and Flag: Interactive objects related to level progression.
+- src/scenes/: Implements level logic using SceneManager.
+- src/utils/: Includes styling helpers, themes, and reusable UI logic.
+- main.js: Boots up the game and loads the initial scene.
+- style.css: Provides global styling for in-game UI and layout.
## đĻ Tech Stack & Resources
@@ -119,57 +133,18 @@ _No additional features beyond the core requirements were implemented._
| đŠ **Flag Animation** | [Free Flag with Animation](https://ankousse26.itch.io/free-flag-with-animation) by [ankousse26](https://ankousse26.itch.io) |
| đ **Key Sprite** | [FREE Pixel Art Key Pack â Animated](https://karsiori.itch.io/pixel-art-key-pack-animated) by [karsiori](https://karsiori.itch.io) |
-## đđģ Repository Structure
-```bash
-run-the-cat/
-âââ README.md
-âââ index.html # Main HTML file to load the game
-âââ lib/ # External libraries (p5.js, SceneManager, etc.)
-â âââ p5.clickable.js
-â âââ p5.js
-â âââ scenemanager.js
-â âââ scenemanager_.js
-âââ package.json # Project metadata and dependencies
-âââ public/
-â âââ assets/ # Images, sprites, and other media assets
-âââ src/ # Main source code
- âââ components/ # Reusable game components (Cat, Flag, etc.)
- âââ main.js # Game entry point
- âââ scenes/ # Level or scene logic
- âââ style.css # Styles for the game UI
- âââ utils/ # Utility functions and UI helpers
-```
+## đ Known Issues
+- **Restart Bug**
+ After restarting a level, the cat's movement becomes slightly jittery, unlike on a fresh load. This is likely due to the sprite or state not being fully reset. A temporary fix is in place, but it may still cause minor visual glitches.
-- `index.html`: The entry point of the application, loading scripts and setting up the canvas.
-- `lib/`: Contains third-party libraries such as p5.js, p5.clickable, and p5.SceneManager used to build game mechanics and UI. Some libraries are modified for compatibility.
-- `public/assets/`: Stores game-related assets, including images, sprites, and screenshots used in the README.
-- `src/`:
- - `components/`: Contains the constructor of individual game elements. (e.g. `Cat`, `Key`, `Flag`)
- - `scenes/`: Defines the logic for different game levels using p5.SceneManager.
- - `utils/`: Provides shared helpers and UI tools such as common styling and themes.
- - `main.js`: Initializes the game, sets up the canvas, and starts the first scene.
- - `style.css`: Contains global styling HTML file.
+- **Clickable Background After Completion**
+ When a level is completed and the overlay is displayed, the background remains interactive. This allows players to accidentally trigger cat movement even though the game should not be playable.
+
+## ⨠Special Features
+
+_No additional features beyond the core requirements were implemented._
## đ Acknowledgements
All assets and libraries used have been credited in the [đĻ Tech Stack & Resources](#-tech-stack--resources) section above. Code examples were referenced from the official documentation of the respective libraries. LLMs were used for debugging assistance.
-
-
-
-
-
-
-