Skip to content

Kyle-A-code/chess

Repository files navigation

Chess (WIP)

A chess game built with Svelte, TypeScript, and Vite.

Goal

Build an interactive chess experience as an opportunity to learn more about svelte and vitest

Project Roadmap

  • Milestone 1: Board Rendering
  • Milestone 2: Full Board Initialization
  • Milestone 3: Click Source/Destination Movement
  • Milestone 4: Drag and Drop Movement
  • Milestone 5: FEN Parsing and Text-File Persistence
  • Milestone 6: Legal Move Engine
    • Add pawn move generator, including en passant target setting
    • Add knight move generator
    • Add bishop move generator
    • Add queen move generator
    • Add rook move generator, including castling availability
    • Add king move generator, including castling availability
    • Check all generated pseudo legal moves and filter down to legal moves
    • Add halfmove counter updates (reset on pawn move/capture, increment otherwise)
    • Add promotion logic (auto queen promotion)
  • Milestone 7: Game Completion Logic
    • Add checkmate detection
    • Add stalemate detection
  • Milestone 8: Add ai opponent

Run Locally

Install dependencies:

pnpm install

Start the dev server:

pnpm dev

Useful Commands

pnpm build        # production build
pnpm preview      # preview production build locally
pnpm check        # type + Svelte checks
pnpm lint         # Prettier check
pnpm format       # format code with Prettier

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages