-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This repository hosts a collection of console games developed in C# using console-based implementations. Each game is designed to run smoothly in a console environment, providing a simple yet engaging experience. Below, you'll find a brief overview of the games included in this repository, along with instructions on how to play them and details about their implementations.
- Description: A console-based implementation of the popular sliding block puzzle game. The objective is to combine tiles with the same number to create a tile with the number 2048.
- Key Features: Implemented using an abstract ConsoleGame class. Utilizes a simple UI with ASCII art for the game board. High score tracking within the game session.
- Controls: Use W, A, S, D to move the tiles up, left, down, and right, respectively.
- Description: A classic two-player Tic Tac Toe game implemented for the console. The game is played on a 3x3 grid.
-
Key Features:
- Player vs Player mode.
- Simple cursor-based interface to place Xs and Os on the grid.
- Winner detection and game over handling.
- Controls: Use W, A, S, D to move the cursor and Enter to place your symbol.
- Description: A console-based version of the Connect 4 game. Drop your pieces into one of the seven columns, aiming to get four in a row horizontally, vertically, or diagonally.
- Status: Currently in development.
- Description: A classic Snake game where the player controls a growing snake as it navigates a confined space, eating food and avoiding collisions with itself.
- Status: Planned for future development.
To play any of the games in this repository: Go to Releases to download the latest Release
- Clone the repository to your local machine.
- Open the solution in Visual Studio or your preferred C# IDE.
- Navigate to the GamePlatform project.
- Set the GamePlatform project as the startup project.
- Build and run the project. You will be presented with a menu to select the game you wish to play.
Each game is implemented using a modular and reusable approach. A base ConsoleGame abstract class is used to define the common structure for all games, ensuring consistency and ease of maintenance across different game implementations.
- Modularity: Games are organized into separate projects within the solution, making it easy to add or modify individual games without affecting others, as well as the ability to add any DLL that implements the ConsoleGame class to be added to the EXE directory and be played.
- Singleton Pattern: A singleton pattern is used for random number generation, ensuring consistent and efficient random operations across all games.
Contributions to this repository are welcome! If you have suggestions for new games or improvements to existing ones, feel free to fork the repository and submit a pull request. Make sure to follow the existing code style and include detailed commit messages.
This project is licensed under the MIT License. See the LICENSE file for more details.
Feel free to explore the code, play the games, and contribute to making this repository a fun and educational resource for C# developers!