Skip to content

A fully functional chess game built entirely in the terminal. This project demonstrates advanced problem-solving, object-oriented programming, and the implementation of complex game mechanics in Ruby.

Notifications You must be signed in to change notification settings

daniel-echevarria/terminal-chess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terminal Chess Game ♔♚

Welcome to the Terminal Chess Game, a classic chess game built entirely in the terminal!

🌟 Features

  • Full Chess Mechanics: Implements all standard chess rules, including castling, en passant, and pawn promotion.
  • Two-Player Mode: Challenge a friend and take turns making moves.
  • Valid Move Checking: Ensures all moves follow chess rules and highlights invalid attempts.
  • Intuitive Board Display: A clean and easy-to-read ASCII representation of the chessboard.
  • Save and Load Games: Pause and resume your match anytime.

🔧 Technologies Used

  • Language: Pure Ruby for all logic and functionality.
  • Object-Oriented Design: Structured with classes for pieces, board, and game mechanics.
  • Terminal Interaction: Designed for smooth input/output in a terminal environment.

🏆 Highlights

  • Chess Logic Expertise: This project showcases advanced programming logic, including move validation, check detection, and stalemate conditions.
  • Determination and Passion: Built with attention to detail and a love for chess, entirely from scratch.

🎢 Live Demo

Want to see the game in action? Check out the instructions below! ⬇️


📖 How to Run on Glitch

To play the game on Glitch, follow these steps:

  1. Open the Project: Visit the link to the Glitch project. Live Demo
  2. Remix the Project:
    • Click the "Remix to Edit" button in the upper-right corner of the page. This creates your own editable copy of the project.
  3. Open the Terminal:
    • Click on Terminal in the lower-left corner.
  4. Run the Game:
    • In the terminal, type the following command:
      ruby lib/main.rb
    • Press Enter to start the game.
  5. Enjoy:
    • Follow the on-screen instructions to begin your chess match!

Note: The save and load feature may not work on Glitch due to the platform's older Ruby version. For full functionality, consider running the game locally with Ruby 3.0 or later.


🚀 Future Improvements

  • AI Opponent: Add a single-player mode with AI for various difficulty levels.
  • Multiplayer Online: Enable online matches with friends.

Enjoy playing chess the old-school way, right in your terminal! ♙♞♜

About

A fully functional chess game built entirely in the terminal. This project demonstrates advanced problem-solving, object-oriented programming, and the implementation of complex game mechanics in Ruby.

Topics

Resources

Stars

Watchers

Forks

Languages