GithubHelp home page GithubHelp logo

skotz-chess-engine's People

Contributors

skotz avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

mahmud83

skotz-chess-engine's Issues

Illegal king move

The engine makes an illegal king move in the following scenario:

uci
isready
ucinewgame
isready
position fen 4k3/8/3Q1K2/8/8/8/8/8 w - - 0 1 moves d6c6
go movetime 1000

Implement FEN Notation

Decode FEN notation so that GUIs can tell the engine to load a position from a 
FEN string using the UCI "position fen" command.

Original issue reported on code.google.com by [email protected] on 10 Jul 2013 at 3:54

Generate bitmasks on program load

Currently the data for move strings and piece bit boards are generated into a massive C# file. Instead, just generate the data (a time-memory tradeoff) when the program is started.

Moved king instead of saving knight

In this position, the engine decided to play a random king move instead of saving its knight which is being attacked by a pawn.

position fen rnbqkbnr/pppppppp/8/8/8/8/PPPPP1PP/RNBQKBNR w KQkq - 0 1 moves g1f3 b8c6 e2e3 g8f6 f1e2 d7d6 e1g1 c8g4 b2b3 e7e5 c1b2 f8e7 d2d4 e5e4 f3d2 g4e2 d1e2 f6d5 c2c4 d5b4 d2e4 d6d5 e4g3 e7d6 g3f5 g7g6 f5d6 d8d6 b1c3 e8d8 a2a3
go wtime 163327 btime 148214 winc 2000 binc 2000

Illegal en-passant move

The engine doesn't realize that its pawn on e5 was taken en passant in the following position, and tries to play the illegal move exd4.

position startpos moves b1c3 g8f6 g1f3 b8c6 d2d3 d7d6 c1g5 c8g4 h2h3 g4e6 e2e4 h7h6 g5e3 d8d7 f1e2 e8c8 e1g1 c8b8 d3d4 c6b4 d4d5 e6h3 g2h3 d7h3 e3a7 b8a7 d1d4 a7b8 d4b4 h3g4 g1h2 g4h5 h2g2 d8e8 f3d4 h5g5 g2h3 e7e5 d5e6
go depth 4

Generate Castling Moves

Currently the engine knows how to castle but won't generate a castling move on 
it's own when attempting to find moves. Add the ability to find castling moves 
to the move generator.

Original issue reported on code.google.com by [email protected] on 9 Jul 2013 at 4:54

Attempted to en-passant own pawn

The engine tried to en-passant it's own pawn...

position fen rnbqkbnr/pppppppp/8/8/8/8/PPPPP1PP/RNBQKBNR w KQkq - 0 1 moves c2c4 b8c6 g1f3 g8f6 e2e3 e7e5 f1e2 e5e4 f3g5 h7h6 g5h3 d7d5 h3f2 f8c5 c4d5 f6d5 e1g1 c8f5 d1c2 c5d6 b1c3 d5c3 b2c3 d8h4 h2h3 h4g3 f2e4 g3h2 g1f2 d6g3 e4g3 f5c2 f1h1 h2h1 g3h1 e8f8 c1a3 f8g8 a1c1 c2e4 d2d3 e4d5 c1c2 b7b5 h1g3
go wtime 120643 btime 117894 winc 2000 binc 2000

Promote to knight mate in 1

In this position the engine should find c8=N# but doesn't.

position fen 1R6/kpP1K3/pq1B4/8/8/8/8/8 w - - 0 1
go depth 4

Hash positions

This was removed due to negative performance impacts, but needs to be fixed and re-added.

Handle En-Passant

Add a way to generate en-passant captures. Some way to efficiently analyze the 
previous move will need to be devised.

Original issue reported on code.google.com by [email protected] on 9 Jul 2013 at 4:56

Handle 3 Move Rule

Detect 3 fold repetition and evaluate the position to 0 centi-pawns. Some way 
will need to be devised to efficiently analyze previous moves.

Original issue reported on code.google.com by [email protected] on 9 Jul 2013 at 4:58

Index out of bounds error on lone king position

An exception is thrown in the following position:

uci
isready
ucinewgame
isready
position startpos moves c2c4 g8f6 b1c3 b8c6 d2d4 d7d6 e2e4 c8g4 g1f3 e7e6 f1e2 g4f3 e2f3 f8e7 e1g1 f6d7 c1e3 e7g5 f1e1 g5e3 f2e3 e8g8 e1f1 d8g5 d1e2 d7f6 f1f2 a8e8 a1f1 a7a6 a2a3 h7h6 h2h3 g5g6 f3g4 f6g4 e2g4 g6g4 h3g4 d6d5 c4d5 c6d8 d5e6 d8e6 g1h2 f7f6 c3a4 e8d8 b2b4 f8e8 a4c5 e6c5 b4c5 e8e4 f2f3 e4g4 h2h3 g4g5 f1b1 g5h5 h3g4 h5g5 g4h3 g5h5 h3g3 b7b6 c5b6 c7b6 b1b6 h5a5 b6b3 a5b5 b3c3 b5a5 g3f2 d8b8 f2g3 a5g5 g3f4 g5g2 f4e4 g2d2 f3f5 b8b5 f5b5 a6b5 c3b3 f6f5 e4f5 d2f2 f5e4 f2g2 b3b5 g2g4 e4d3 g4g1 b5b7 g1g2 a3a4 g2f2 a4a5 f2a2 b7b5 a2a3 d3e4 g7g6 b5b6 a3a5 b6g6 g8h7 g6c6 h7g7 e4f4 a5g5 e3e4 h6h5 f4g5 g7f8 g5h5 f8e7 h5g6 e7d7 d4d5 d7e7 e4e5 e7d7 c6d6 d7c7 e5e6 c7d6 g6f7 d6d5 e6e7 d5c6 e7e8r c6b6 f7e7 b6a6 e7d6 a6b7 d6d7 b7b6 d7d6 b6b5 e8c8 b5a4 d6c6 a4b4 c6d5 b4a4 d5c4 a4a3 c8b8
go movetime 1000

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.