Skip to content

alesdrobysh/andrej

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

♟️ Andrej

Rust

A chess engine written in Rust. Named after my brother who always beats me at chess.

Following the Chess Engine in C tutorial series.

Quick Start

cargo run      # Run the program
cargo test     # Run tests

Implementation

Board representation: 120-square mailbox (10x12 array)

  • 8x8 chess board embedded in a larger array with sentinel squares
  • Simplifies move generation by avoiding boundary checks
  • Valid squares: 21 (a1) to 98 (h8)

Current features:

  • Core types: Piece, Square, Position, Board
  • Type-safe coordinates using File and Rank enums
  • Position indexing formula: (rank + 2) * 10 + (file + 1)
  • Terminal rendering with grayscale board
  • Filled Unicode chess pieces (♟♞♝♜♛♚) for both sides

Roadmap

  • Board representation
  • Move generation
  • Position evaluation
  • Search algorithm
  • UCI protocol

About

A chess engine written in Rust

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages