Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #108115 > unrolled thread

python chess engines

Started byDFS <nospam@dfs.com>
First post2016-05-04 01:13 -0400
Last post2016-05-07 13:40 -0700
Articles 2 — 2 participants

Back to article view | Back to comp.lang.python


Contents

  python chess engines DFS <nospam@dfs.com> - 2016-05-04 01:13 -0400
    Re: python chess engines Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-07 13:40 -0700

#108115 — python chess engines

FromDFS <nospam@dfs.com>
Date2016-05-04 01:13 -0400
Subjectpython chess engines
Message-ID<ngc06g$533$1@dont-email.me>
> On 5/3/2016 8:00 PM, DFS wrote:
>> How far along are you in your engine development?

> I can display a text-based chess board on the console (looks better
> with a mono font).
>
> 8   BR BN BB BQ BK BB BN BR
>
> 7   BP BP BP BP BP BP BP BP
>
> 6   __ __ __ __ __ __ __ __
>
> 5   __ __ __ __ __ __ __ __
>
> 4   __ __ __ __ __ __ __ __
>
> 3   __ __ __ __ __ __ __ __
>
> 2   WP WP WP WP WP WP WP WP
>
> 1   WR WN WB WQ WK WB WN WR
>
> A  B  C  D  E  F  G  H
>
>
> With feedback from this list, I had to break a lot of bad Java habits
> to make the code more Pythonic. Right now I'm going back and forth
> between writing documentation and unit tests. Once I finalized the
> code in its current state, I'll post it up on GitHub under the MIT
> license. Future updates will have a fuller console interface and
> moves for individual pieces implemented.


> Thank you,
>
> Chris R.


Wanted to start a new thread, rather than use the 'motivated' thread.

Can you play your game at the console?

The way I think about a chess engine is it doesn't even display a board. 
  It accepts a move as input, records the move, analyzes the positions 
after the move, and returns the next move.

Here's the UCI protocol.
http://download.shredderchess.com/div/uci.zip

[toc] | [next] | [standalone]


#108296

FromChristopher Reimer <christopher_reimer@icloud.com>
Date2016-05-07 13:40 -0700
Message-ID<mailman.473.1462653646.32212.python-list@python.org>
In reply to#108115
On 5/3/2016 10:13 PM, DFS wrote:
> Wanted to start a new thread, rather than use the 'motivated' thread.
>
> Can you play your game at the console?

Nope. Only displays the board on the console. An early version had the 
forward movement for pawns implemented.

> The way I think about a chess engine is it doesn't even display a 
> board.  It accepts a move as input, records the move, analyzes the 
> positions after the move, and returns the next move.

My code has display and engine as separate classes with a main loop 
coordinating things between the two. The main loop requests the board 
state (dict) from the engine class and passes that to show board on the 
display class.

> Here's the UCI protocol.
> http://download.shredderchess.com/div/uci.zip

Very interesting. Something to add to my research notes. I'll muddle 
through with my code and let it grow organically for now.  If I decide 
to write a chess engine that implements the UCI protocol, I'll start 
over with a clean slate.

Thank you,

Chris R.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web