Thanks to visit codestin.com
Credit goes to github.com

Skip to content

chunlokk/engg1330-final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

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

No packages published

Languages