From bf7707d30152047f60e475651e3c21adb2de9394 Mon Sep 17 00:00:00 2001
From: 20210782
Date: Sun, 13 Apr 2025 23:10:29 +0900
Subject: [PATCH 1/3] Finished Homework 5
---
PROPOSAL_123456789.md | 3 -
PROPOSAL_20210782.md | 187 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 187 insertions(+), 3 deletions(-)
delete mode 100644 PROPOSAL_123456789.md
create mode 100644 PROPOSAL_20210782.md
diff --git a/PROPOSAL_123456789.md b/PROPOSAL_123456789.md
deleted file mode 100644
index 1a602df..0000000
--- a/PROPOSAL_123456789.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# My proposal
-
-Lorem ipsum
diff --git a/PROPOSAL_20210782.md b/PROPOSAL_20210782.md
new file mode 100644
index 0000000..6a4375b
--- /dev/null
+++ b/PROPOSAL_20210782.md
@@ -0,0 +1,187 @@
+# Homework 5: Cats vs. Mice
+Name : Adelia Putri
+Student ID : 20210782
+URL : http://git.prototyping.id/20210782/homework5
+
+## Table of Content
+- [Homework 5: Cats vs. Mice](#homework-5-cats-vs-mice)
+ - [Table of Content](#table-of-content)
+ - [Game Description](#game-description)
+ - [Game Interface](#game-interface)
+ - [Game Mechanics](#game-mechanics)
+ - [Currency](#currency)
+ - [Character](#character)
+ - [Interactions List](#interactions-list)
+ - [Cat Roles](#cat-roles)
+ - [Mouse Roles](#mouse-roles)
+ - [Implementation Plan](#implementation-plan)
+ - [Challenges](#challenges)
+
+## Game Description
+**Cats vs. Mice** is a tower defense-style strategy game inspired by *Plants vs. Zombies*, redesigned with a cute kitchen theme. Players place cats on a tiled kitchen floor to stop waves of invading mice who are after the **Cheese Feast**, a table full of cheesy dishes at the leftmost side of the screen.
+
+The playerβs goal is to protect the **Cheese Feast** by defending against waves of incoming mice. To do this, the player can place different types of cats with special abilities to attack the mice.
+
+> π **Win Condition**: Successfully stops all the mice from reaching the **Cheese Feast**
+> β **Lose Condition**: A mouse reaches the **Cheese Feast**
+
+
+
+
+Source: [Plants vs. Zombies GOTY Edition](https://store.steampowered.com/app/3590/Plants_vs_Zombies_GOTY_Edition/)
+
+
+## Game Interface
+- **Background**: A 5x9 tiled kitchen floor with a light brown and white checker pattern
+ - Will be implemented using a 2D array
+- **Cat Panel**: A row of clickable cat icons showing the price of each cat
+- **Cheese Feast**: A table full of cheese dishes on the left side of the screen
+- **Mice Entrance**: Mice appear from a hole in the wall on the right side of the screen
+- **Defense Line**: Each row has a *robot vacuum* at the far left that activates once a mouse approached it, sweeping away all mice in that row
+- **Cheese** (currency): Drops from `π§βπ³ Chef Cat` or randomly from the top
+- **Progress Bar**: Showing the progress of the game, if the progress bar is full, the game is finished
+
+
+
+
+## Game Mechanics
+### Currency
+ - The currency of the game is **cheese** (replacing the sun in *Plants vs. Zombies*)
+ - Players can collect cheese produced by `π§βπ³ Chef Cat` or dropped randomly from above
+ - **Cheese** is used to buy different types of **[cats](#cat-roles)**, which can be placed on the 5x9 kitchen grid
+
+### Character
+1. Cats
+ - Objective: Protect the **Cheese Feast** by attacking, slowing, or generating cheese. Each cat has a different ability and price
+ - Cats can only be placed in empty tiles and can be replaced by new cats at a cost
+ - See the [Cat Roles](#cat-roles) below for further description
+2. Mice
+ - Objective: Mice enter from the right side and move left toward the **Cheese Feast**
+ - Mice will move forward in a straight line unless blocked by a cat
+ - If a mouse reaches a cat, it will spray the cat with a water gun. When the cat is wet enough, the cat will run away, which means the mouse defeated the cat
+ - See the [Mouse Roles](#mouse-roles) below for further description
+
+### Interactions List
+| **Interaction**| **Trigger** | **Result**|
+|----------------|-------------|-----------|
+| Place cat | Mouse click on UI + tile | Deduct cheese, place cat |
+| Cat shoots yarn | Timer per cat | Add a yarn to the grid |
+| Yarn hits mouse | Collision | Mouse takes damage |
+| Mouse reaches cat | Collision | Mouse sprays cat, cat runs away |
+| Mouse reaches robot vacuum | Collision | Robot vacuum move to the right and remove all mice in the rows |
+| Cheese pick up | Mouse click on cheese icon | Increase cheese count |
+| Remove cat | Mouse click on UI + cat | Remove cat from the tile |
+| Mouse reaches left edge | Position check | Trigger loss state |
+| All mice defeated | Mouse count check | Trigger win state |
+
+
+## Cat Roles
+
+| Icon | Cat Type | Ability | Cheese Cost |
+|------|----------|---------|-------------|
+| π§Ά | Single Yarn Cat | Shoots 1 yarn ball every 2 seconds | 100 |
+| π§Άπ§Ά | Double Yarn Cat | Shoots 2 yarn balls (double damage) | 200 |
+| π€ | Sleepy Cat | Sleeps until touched, then instantly defeats mouse that touched it | 150 |
+| π§βπ³ | Chef Cat | Produces cheese every few seconds | 50 |
+| βοΈ | Ice Cat | Slows down mice by throwing snowballs | 150 |
+
+Each cat will be an object with few common properties and methods as follows:
+```js
+class Cat {
+ constructor(x, y, type) {
+ this.x = x;
+ this.y = y;
+ this.type = type; // 'yarn', 'double', 'sleepy', 'chef', 'ice'
+ this.cost = 0;
+ this.health = 100;
+ }
+ draw() { ... }
+ update() {
+ if (this.type === 'chef') this.generateCheese();
+ else if (this.type === 'yarn') this.shoot();
+ else if (this.type === 'double') {
+ this.shoot();
+ this.shoot();
+ }
+ // Implementation for Chef Cat and Ice Cat
+ }
+ shoot() { ... }
+ generateCheese() { ... }
+}
+```
+
+## Mouse Roles
+
+| Icon | Mouse Type | Description | Appearance |
+|------|--------------|-------------|------------|
+| π | Basic Mouse | Walks slowly, standard HP (100) | Early Game |
+| βοΈ | Helmet Mouse | Wears cheese pot as helmet, high HP (150) | Mid Game |
+| πββοΈ | Sporty Mouse | Moves quickly (1.25x Basic Mouse), low HP (75) | Mid Game |
+| π | Boss Mouse | Very slow, very high HP (500)| Late Game |
+
+Each mouse will be an object with few common properties and methods as follows:
+
+```js
+class Mouse {
+ constructor(row, type) {
+ this.row = row;
+ this.x = CANVAS_WIDTH;
+ this.type = type; // basic, helmet, sporty, boss
+ this.speed = 1;
+ this.health = 100;
+ }
+
+ move() {...}
+
+ attack(cat) {...}
+
+ takeDamage(amount) {...}
+
+ die() {...}
+}
+```
+
+## Implementation Plan
+The game will be implemented in JavaScript using p5.js. The project will follow an object-oriented approach, using classes and modular files to organize different parts of the game.
+
+States to be updated every frame:
+- Cat's state: shooting, generating cheese
+- Mice's movement and health points
+- Cheese production
+- Checking win/lose condition
+
+To track the game, a class `CatsVsMice` will be roughly implemented as follows
+```js
+class CatsVsMice {
+ constructor() {
+ this.grid = createGrid();
+ this.cats = [];
+ this.mice = [];
+ this.cheese = 50;
+ this.play = "play"; // option: "play", "win", "lose"
+ }
+
+ update() {
+ this.updateCats();
+ this.updateMice();
+ this.updateCheese();
+ this.checkWinLose();
+ }
+}
+```
+
+Additional Libraries and Sources:
+- Animation: p5.play
+- Sound Effects: p5.sound
+- Character visual: open sources like https://opengameart.org/ or will be manually drawn
+
+
+## Challenges
+1. Collision detection between objects (mouse and yarn, mouse and cat)
+2. Applying the animation
+3. Handling overlapping objects
\ No newline at end of file
From f90dac06340522431bc291f8f1782b1ec536e228 Mon Sep 17 00:00:00 2001
From: 20210782
Date: Sun, 13 Apr 2025 23:12:41 +0900
Subject: [PATCH 2/3] Added rough design
---
PROPOSAL_20210782.md | 4 ++--
assets/cvm.jpeg | Bin 0 -> 400136 bytes
2 files changed, 2 insertions(+), 2 deletions(-)
create mode 100644 assets/cvm.jpeg
diff --git a/PROPOSAL_20210782.md b/PROPOSAL_20210782.md
index 6a4375b..b7076c0 100644
--- a/PROPOSAL_20210782.md
+++ b/PROPOSAL_20210782.md
@@ -43,10 +43,10 @@ Source: [Plants vs. Zombies GOTY Edition](https://store.steampowered.com/app/359
- **Cheese** (currency): Drops from `π§βπ³ Chef Cat` or randomly from the top
- **Progress Bar**: Showing the progress of the game, if the progress bar is full, the game is finished
-
+
## Game Mechanics
diff --git a/assets/cvm.jpeg b/assets/cvm.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..120bef46f731b36d31d1ef14c584b93859013401
GIT binary patch
literal 400136
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