My ego is saved by its weak endgame but it plays a pretty decent opening all on its own.
Second game I decided to avoid opening theory and head into a King's Indian Attack. Black's opening moves were sensible, knight and bishops to the right squares, pawns on e5 and d5, but it really wasn't taking my queenside pawn expansion seriously enough, giving up a knight for a pawn. But it's quite resourceful, it's managed to win an exchange, although it's in a desperate position. Currently it's hanging on this position.. oh. No, it's finally crashed. This is the position it died on:
r . . . r . . .
. . . . . . k p
. b q . . . p .
. R p . p . . .
P . Q p P . . .
B N . P . . P B
. . . . . P . P
. . . . . . K .
White's last move: f5h3. Took about 10 minutes and made the move h8g7, and then crashed with Your move: Traceback (most recent call last):
File "sunfish.py", line 388, in <module>
main()
File "sunfish.py", line 365, in main
move = parse(crdn[0:2]), parse(crdn[2:4])
File "sunfish.py", line 345, in parse
fil, rank = ord(c[0]) - ord('a'), int(c[1]) -1
ValueError: invalid literal for int() with base 10: ''
So, not strong, but surprisingly strong for the size of the code. Remarkable.