-
Notifications
You must be signed in to change notification settings - Fork 0
chunlokk/engg1330-final
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
# Ghost Mines 1 minute trailer video: https://drive.google.com/file/d/1SCaIWfaZEJznZwS5uZux5ZhnqTIILzR7/view?usp=share_link 5 minute explainer video: https://drive.google.com/file/d/1IWlBbAoHEPT8hEirihoGeek_RyV4niWs/view?usp=share_link How to enter the game: Type 'python src/menu.py' in the terminal to enter the game Objective: Your mission in Ghost Mines is to reveal all hidden mines without being caught by the ghost. Game rules: Walk on a tile to open it. Tiles are randomly scattered with mines. If you step on a tile that contains a mine, the game ends immediately. Otherwise, the opened cell displays either a number or a blank tile. The number indicates the count of adjacent (orthogonal and diagonal) mines. Blank tiles automatically open all adjacent non-mined cells. Ghosts are initially frozen for 5-25 moves. Ghosts will chase you when you move. In hard mode, if a ghost has not moved for 2.5 seconds, they will move. Avoid the ghosts — if you touch one, or if they catch you, you lose. If two ghosts are next to you, they will steal your items. Win Condition: Reveal all unmined titles to win! Item guide: Starting Items: You start with different items depending on the difficulty chosen Collecting Items: Touch a '?' (loot box) on the map to gain new items. The first item collected from a loot box is always a bomb. The loot box may reappear depending on how much of the map is uncovered. Ghosts stealing items: If 2 or more ghosts are adjacent to you, they will steal one of your items. Item Description: Freeze gun: Freezes all ghosts for 10 moves. (The darker the background color of the ghost, the longer it is frozen) Bomb: Kills all adjacent ghosts around the player. Radar: Uncover all tiles that are in a 3x3 circle around you. (If a revealed tile is marked with *, it indicates a mine) Map/Symbols guide: @: The player (you). If you walk on a tile, some action happens. A: A ghost. A ghost with a blue background is frozen. ?: A loot box. These will initially give you a bomb when collected and random items subsequently. 1/2/3/4/5/6/7/8: The number represents the count of mines adjacent to the tile. ▢: An empty tile. It has no mines adjacent to it. ●: A tile that has not been revealed yet. Walk on it to reveal its contents. *: A mine that has been revealed by the radar Difficulty guide: Easy mode: Start with one ghost, 2 radars, and a freeze gun. Suitable for beginners Medium mode: This is the default mode. Start with a radar and freeze gun while 2 ghosts chase you! Hard mode: Start with 2 freeze guns, but 3 ghosts are chasing you! Ghosts also move if they haven't moved for 2.5 seconds! Additionally, there are more mines scattered about. Requires expert minesweeper skills and quick thinking. Settings: Sound effects: Toggle sound effects on/off Display help: Toggle showing the background story and help menu when starting the game Item animations: Toggle showing an animation when using items Endscreen animations: Toggle an animation playing whenever the game ends Controls: Movement: Use the arrow keys (UP, DOWN, LEFT, RIGHT) to move @. Item Selection: Press W or S to select an item Item use: Press Z to use an item Map view: Press C to toggle showing the player and ghosts. This is helpful for seeing the numbers underneath. Frequently Asked Question: Q: What happens if you accidentally use the freeze gun when ghosts are already frozen? A: The ghosts stay frozen for 10 extra moves Acknowledgement: Chun Lok: Programming the main game logic KK: Editing the video and trailer Philip: Creating the menu system Ryan: Creating the art and animations All files were edited with the help of AI: ChatGPT via https://poe.com and https://chatgpt.hku.hk Claude 3.5 Sonnet via https://poe.com GPT-4o via https://aider.chat
About
ENGG1330 final project — terminal game in Python using ncurses
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published