peterhil has quit [Quit: Must not waste too much time here...]
peterhil has joined #picolisp
<
Regenaxer>
tankf33der, I think I fixed it
<
Regenaxer>
Also, 'tryCastle' is simpler (and probably faster) now
<
tankf33der>
Testing
<
Regenaxer>
Good morning btw!
<
tankf33der>
morning
<
tankf33der>
tgz is up to date, right?
<
Regenaxer>
yes, if I did not forget something again
<
Regenaxer>
chess.tgz and chess.zip
<
tankf33der>
new record 22k
<
Regenaxer>
record in which way?
<
tankf33der>
puzzles before fail
<
Regenaxer>
So all previous tests pass again?
<
Regenaxer>
(no new bug?)
<
tankf33der>
now this is a bug
<
tankf33der>
black king under check
<
tankf33der>
and engine cant find mate in 1
<
Regenaxer>
Is it a new test? Or old one failing now?
<
Regenaxer>
I need to know if I introduced a new bug
<
Regenaxer>
Rewrote some stuff
<
tankf33der>
i would say engine never seen this position before
<
tankf33der>
yesterday was 10k th position
<
tankf33der>
this one 22k th
<
tankf33der>
black king make a move g4f4
<
tankf33der>
engine cant find mate in 1 f2f3
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
<
Regenaxer>
tankf33der, I don't get it
<
Regenaxer>
Black moves g4-h5
<
Regenaxer>
Why f2f3?
<
Regenaxer>
Nothing on f2?
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
peterhil has quit [Quit: Must not waste too much time here...]
peterhil has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
<
tankf33der>
this is initial position, right?
<
tankf33der>
black king under check
<
tankf33der>
no, this one more correct
<
tankf33der>
again:
<
tankf33der>
black king under check
<
tankf33der>
puzzle forcing to make a move g4f4
<
tankf33der>
to make a mate in 1 by pawn f2f3
<
Regenaxer>
This is completely different from what you sent
<
Regenaxer>
ah, no, ok
<
Regenaxer>
In pilbox it is of course flipped :)
<
Regenaxer>
So Black moves g4-h5
<
tankf33der>
i make a move g4f4 manually
<
tankf33der>
by hands
<
tankf33der>
and engine from that point must find mate in 1
<
tankf33der>
like 22k positions before.
<
tankf33der>
i always do one move manually and mate in 1 always finds engine.
<
tankf33der>
it worked 22k times :)
<
tankf33der>
from 49k
<
Regenaxer>
I would do I move by hand, then undo onedstep
<
Regenaxer>
then we have the testing start position
<
Regenaxer>
But f2-f3 is not mate!
<
Regenaxer>
Sorry, afp a little
<
tankf33der>
it is a mate. thats why i send you position on lichess to be sure and for comparisons.
<
Regenaxer>
lichess does not work in my browser
kluk has quit [Read error: Connection reset by peer]
<
tankf33der>
this is sad.
kluk has joined #picolisp
<
tankf33der>
then you must trust me f2f3 is a mate.
<
tankf33der>
after g4f4 by black king.
kluk has quit [Read error: Connection reset by peer]
<
Regenaxer>
Then you move King g4-f4
<
tankf33der>
black king under check
<
Regenaxer>
Nothing on f2
<
tankf33der>
misstype
<
Regenaxer>
yes, then en passant capture
<
Regenaxer>
no mate
kluk has joined #picolisp
<
tankf33der>
en passant is not valid move here
<
tankf33der>
this is not this case.
<
Regenaxer>
ok, then
*that* is the problem=
<
Regenaxer>
en passant check is buggy
<
Regenaxer>
Why don't you say that?
<
Regenaxer>
en passant did work before I think
<
tankf33der>
en passant is not valid more here
<
Regenaxer>
it is valid only after f2-f4
<
Regenaxer>
yes, that's what I say!
<
tankf33der>
good it is clear now. huh
<
Regenaxer>
Why did you not tell that immediately? :)
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
olaf_h has joined #picolisp
<
olaf_h>
hi all, to read picolisp code from a file into a var I do this:
<
olaf_h>
(let C (str (in "some_pil_code.l" (till NIL T))))
kluk has quit [Read error: Connection reset by peer]
<
Regenaxer>
hmm, this is not efficient
<
olaf_h>
kind of usual picolisp way or would one do it in another way?
<
olaf_h>
ah, Regenaxer, hi
<
Regenaxer>
(in "file" (make (while (read) (link @]
<
Regenaxer>
Hi olaf_h! :)
kluk has joined #picolisp
<
olaf_h>
okay, thank you very much - I'll use that (and will inspect later, how and why it works :-) )
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
<
Regenaxer>
Difficult to check in tryPawnCapt
<
Regenaxer>
All rules are correct, but not enough:
<
Regenaxer>
(== Pce (car *Moved))
<
Regenaxer>
(=1 (; Pce cnt))
<
Regenaxer>
(isa '+Pawn Pce)
<
Regenaxer>
(n== (: color) (; Pce color))
<
Regenaxer>
It needs a check that either this first move covered two fields, or that This is two fields above the pawn base line
kluk has quit [Read error: Connection reset by peer]
<
Regenaxer>
No direct way to express
kluk has joined #picolisp
<
Regenaxer>
Will think about it later
kluk has quit [Read error: Connection reset by peer]
anddam_ has joined #picolisp
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
aw- has quit [Quit: Leaving.]
kluk has joined #picolisp
emacsomancer has quit [*.net *.split]
casaca has quit [*.net *.split]
anddam has quit [*.net *.split]
cyborg_ar has quit [*.net *.split]
Svjatoslav has quit [*.net *.split]
emacsomancer has joined #picolisp
casaca has joined #picolisp
Svjatoslav has joined #picolisp
cyborg_ar has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
Svjatoslav has quit [Ping timeout: 265 seconds]
Svjatoslav has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
aw- has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
<
Regenaxer>
OK, got it!
<
Regenaxer>
En passant is correct now
<
Regenaxer>
Released
mtsd has joined #picolisp
<
tankf33der>
Will run asap
<
tankf33der>
To be cleared, what did you fixed by this release?
<
Regenaxer>
The solution was to check also for the row (memq (; Fld2 y) (4 5))
<
Regenaxer>
Removed color check, is not needed
<
Regenaxer>
cause pawn with cnt=1 can be only of opposite color
<
Regenaxer>
BTW, in init I set cnt to 2 instead of 1 for non-T, to be on the safe side
<
tankf33der>
Then i should hit 22k puzzles without problems if no new bugz
<
tankf33der>
very east to check and fast if depth=1 here
<
Regenaxer>
En passant was always wrong it seems
<
Regenaxer>
false positive check
mtsd has quit [Quit: Leaving]
<
tankf33der>
passed 5k and counting
<
Regenaxer>
What does the count exactly mean?
<
tankf33der>
puzzles without error
<
tankf33der>
all database is 48k
<
Regenaxer>
Each puzzle is 1?
<
Regenaxer>
So you converted them manually?
<
tankf33der>
passes 35k
<
tankf33der>
in loop, reading from xz via pipe
<
Regenaxer>
amazing
<
tankf33der>
Look at speed for depth=1 on my old cheap laptop
<
Regenaxer>
yes, scrolling fast
<
tankf33der>
i was wrong all database is 83k puzzles.
<
tankf33der>
All passed.
<
Regenaxer>
coooool!
<
tankf33der>
will play with mateIn2, lets see.
peterhil has quit [Ping timeout: 264 seconds]
olaf_h has quit [Quit: Leaving]
peterhil has joined #picolisp
aw- has quit [Quit: Leaving.]
aw- has joined #picolisp
<
beneroth>
tankf33der, wow, great
<
beneroth>
tankf33der, maybe this should be an short article on picolisp.com wiki? to showcase picolisp
<
Regenaxer>
Very cool project
<
tankf33der>
Engine freely find force line to mate in 2 if i give him first move.
clacke has quit [Read error: Connection reset by peer]
wineroots has quit [Remote host closed the connection]
<
tankf33der>
Looking forward to test 200k puzzles.
<
tankf33der>
Already found depth=2 is too small. Running on 3.
olaf_h has joined #picolisp
olaf_h is now known as olaf
olaf is now known as olaf_h
peterhil has quit [Ping timeout: 244 seconds]
<
tankf33der>
Regenaxer
<
tankf33der>
question:
<
tankf33der>
(main 5 NIL
<
tankf33der>
(quote
<
tankf33der>
(d4 (+Black +King)) ) )
<
tankf33der>
(b1 (+White +King))
<
tankf33der>
(a2 (+White +Pawn) T)
<
tankf33der>
if i setup position from README
<
tankf33der>
can I get information about King on d4?
<
Regenaxer>
yes, (show (; 'd4 piece))
<
Regenaxer>
or (show (get 'd4 'piece))
<
Regenaxer>
BTW, I think instead of
<
Regenaxer>
$ ./pil chess/cli.l -chess~main +
<
Regenaxer>
it is better to use
<
Regenaxer>
$ ./pil chess/cli.l --symbols chess -main +
<
tankf33der>
debugging mate in two puzzles, works but engines do it another way and thinking how to compare and understand this is real checkmate.
<
Regenaxer>
you can then easily pass a file
<
Regenaxer>
$ ./pil chess/cli.l --symbols chess "file" +
<
Regenaxer>
file like above
<
Regenaxer>
OK, I see
peterhil has joined #picolisp
<
tankf33der>
what else i could get ?
<
tankf33der>
is this the only bulk of information?
<
Regenaxer>
You can access any info
<
Regenaxer>
in the board
<
Regenaxer>
or what do you mean?
<
tankf33der>
for example location of black king?
<
tankf33der>
how you store check and mate?
<
Regenaxer>
For the king you must search the grid
<
Regenaxer>
for (+Black +King)
<
Regenaxer>
Check and mate are dynamic tests
<
Regenaxer>
check is if attackers of the opposite color exist
<
Regenaxer>
'whAtt' in case of black king
<
Regenaxer>
And mate is if it is check and no legal moves
<
Regenaxer>
(mate T) or (mate NIL)
<
Regenaxer>
(de mate (Color) (and (inCheck Color) (not (moves Color))))
<
Regenaxer>
(de inCheck (Color)
<
Regenaxer>
(if Color (; *BKPos whAtt) (; *WKPos blAtt)) )
olaf_h has quit [Remote host closed the connection]
peterhil has quit [Ping timeout: 252 seconds]
anddam_ is now known as anddam
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
aw- has quit [Quit: Leaving.]
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
aw- has joined #picolisp
kluk has quit [Read error: Connection reset by peer]
kluk has joined #picolisp
kluk has quit [Client Quit]