Bare minimum chess program in javascript

Discussion of anything and everything relating to chess playing software and machines.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
maksimKorzh
Posts: 81
Joined: Sat Sep 08, 2018 3:37 pm
Location: Ukraine
Full name: Maksim Korzh
Contact:

Bare minimum chess program in javascript

Post by maksimKorzh » Sat Jun 08, 2019 7:42 am

Hi, talkchess community!

I'd like to introduce you the bare minimum chess program I've written in javascript that can be played online here: https://maksimkorzh.github.io/bmcp_js/

This won't be interesting to those who writes 2500+ Elo rated engines, but for beginners who wants to write simple and minimalist chess for fun.

It doesn't support castling and enPassant captures for simplicity. Move legality checking is also absent, so feel free to cheat)

I'll appreciate your feedbacks!
Take care!

zullil
Posts: 5679
Joined: Mon Jan 08, 2007 11:31 pm
Location: PA USA
Full name: Louis Zulli

Re: Bare minimum chess program in javascript

Post by zullil » Sat Jun 08, 2019 10:29 am

Good start!

Not handling all legal moves while allowing illegal moves is undesirable.

Also, after I (illegally) captured using a pinned pawn, the engine moved its (unprotected) Queen adjacent to my King and announced checkmate, ending the game. Not only could I have captured the Queen, but my King also had a square to flee to. So mate-detection code needs work. :wink:

RubiChess
Posts: 118
Joined: Fri Mar 30, 2018 5:20 am

Re: Bare minimum chess program in javascript

Post by RubiChess » Sat Jun 08, 2019 10:34 am

Pawn promotion seems missing.

maksimKorzh
Posts: 81
Joined: Sat Sep 08, 2018 3:37 pm
Location: Ukraine
Full name: Maksim Korzh
Contact:

Re: Bare minimum chess program in javascript

Post by maksimKorzh » Sat Jun 08, 2019 11:11 am

zullil wrote:
Sat Jun 08, 2019 10:29 am
Good start!

Not handling all legal moves while allowing illegal moves is undesirable.

Also, after I (illegally) captured using a pinned pawn, the engine moved its (unprotected) Queen adjacent to my King and announced checkmate, ending the game. Not only could I have captured the Queen, but my King also had a square to flee to. So mate-detection code needs work. :wink:
Thanks for your feed back. To be exact it's not start bat rather the end) I've been doing chess programming for 3 years, wrote several engines in C with full FIDE rules. This program is more like a summary of my overall chess programming experience)

maksimKorzh
Posts: 81
Joined: Sat Sep 08, 2018 3:37 pm
Location: Ukraine
Full name: Maksim Korzh
Contact:

Re: Bare minimum chess program in javascript

Post by maksimKorzh » Sat Jun 08, 2019 11:48 am

RubiChess wrote:
Sat Jun 08, 2019 10:34 am
Pawn promotion seems missing.
Thanks for reporting bug, RubiChess, already fixed. I've overlooked that while porting code from C to JS

Post Reply