GitXplorerGitXplorer
j

chess-minimax

public
7 stars
1 forks
1 issues

Commits

List of commits on branch master.
Unverified
a12b29eaf0f0d40ef01c3e985f5610911b4ae0d4

Merge branch 'position' into 'master'

jjD91mZM2 committed 6 years ago
Unverified
66edb900ae27c4f5d1e841a9f1a79e994149993c

Perhaps this is more efficient

jjD91mZM2 committed 6 years ago
Unverified
24daa882b0f2f1d381f44b971a4d0b8897a94586

Terminal front-end: Fix check detection being on the wrong side

jjD91mZM2 committed 6 years ago
Unverified
51b2c0b4b9320c596efd77644f8ef5f139febee7

Fix compilation error in terminal front-end

jjD91mZM2 committed 6 years ago
Unverified
fff3b4442ce9b88aa73f46b5fe63ce2a58e9486e

Variable depth in GTK front-end

jjD91mZM2 committed 6 years ago
Unverified
014d467066fd5a6c96fa7d9de6f9e885d7363c09

Value only attackable pieces

jjD91mZM2 committed 6 years ago

README

The README file for this repository.

chess-minimax

This is a chess bot written in Rust, using the minimax algorithm with basic alpha beta pruning.

NOTE: This branch is not finished yet. It's rewriting the original project to have a lot cleaner and hopefully faster code. One modification is that it'll allow playing as both sides at runtime, rather than having it be a compile time flag.

Terminal

If you want full control, the terminal interface is the best choice. It allows you to use commands to change the board, even in unfair ways, and get interesting information like technical score, and all possible moves.

Screenshot of me being checkmated by the bot

To get the terminal front-end, use

cargo run --features terminal-bin --bin terminal --release

You can also play against the terminal interface on the web here. Press the "play chess" button, and off you go!

GUI (GTK+)

If your human brain has anywhere near as hard time as mine when using the terminal front-end, don't worry! There's a basic GTK+ front-end that's there for less control over details and more actual playing. The computer automatically makes a move after you've made yours.

Screenshot of me being checkmated by the bot

cargo run --features gtk-bin --bin gtk --release

WebAssembly

Both the terminal version and a completely new chessboard.js version are playable without downloading anything, from my site. Links:

Source Code