You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.9 KiB
1.9 KiB
Isometric Game
This repository contains the code for an isometric game built using Python and the Tkinter library.
Description
The game includes a Knight class to represent a movable character and a Cell class to represent each tile in the game. The game map is represented using a 2D array of Cell objects, which can be either walkable or not.
The IsometricGame class handles the game logic and user interactions such as keyboard presses and mouse clicks.
Usage
To start the game, run the main.py file:
python3 main.py
Features
- Isometric view: The game uses an isometric perspective, giving it a pseudo-3D look.
- Keyboard controls: The view can be moved around using the arrow keys.
- Mouse controls: Cells can be selected by left-clicking on them. Right-clicking on a cell will move the knight to that cell if it is walkable.
- Editor mode: Pressing the 'Tab' key toggles editor mode, where additional information about each cell is displayed and cells can be edited.
- Animations: The knight has walking and idle animations which change depending on the direction he is moving in.
File Structure
- main.py: This is the main script that runs the game.
- knight.py: Contains the
Knightclass, which represents the player-controlled character. - maze.json: A JSON file representing the initial state of the game map.
- Tiles/: This directory contains PNG images used as tiles for the game map.
- KnightBasic/: This directory contains GIF images used for the knight's animations.
- Units/: This directory contains the units used in the game.
- Effects/: This directory contains different effects used in the game.
Dependencies
- Python 3
- Tkinter
- glob
- os
- json
- time
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.