Comments by catugo
@The Editors
These days I had tried to finalize the rules of my 2 apothecary games.
This should be the final version of this article pending review.
I hope you guys enjoy the new version of this game. For now, the rules enforcing and move displaying are an ongoing job, for me to do. After that I hope to see you soon!...
I hope you guys enjoy the new version of this game. For now, the rules enforcing and move displaying are an ongoing job, for me to do. After that I hope to see you soon!...
I used to think game courier programming is easy. It's not that easy it seems.
I am trying to build up presets for frog chess, waffle chess and hannibal chess. Links here:
https://www.chessvariants.com/play/pbm/play.php?game=Frog+Chess&settings=RegularCastling
https://www.chessvariants.com/play/pbm/play.php?game=Waffle+Chess&settings=RegularCastling
https://www.chessvariants.com/play/pbm/play.php?game=Hannibal+Chess&settings=RegularCastling
Most I've done is copy paste from capblanca chess, then write the code for enforcing the frog, elelphant ferz and waffle respectivellly (don't bother with more than one they are virtually the same). But I don't now how to display those pieces legal moves (the "set display" command) or not display a move that will cause check. Any help? Thanks!...
@Fergus,
Hello,
I've done the functions in question but I still don't know where to call them!...
Sorry Fergus but I asked "where" to call them now how to call them. I apologise for any misunderstanding!...
I mean once the functions are done. Where should I use them?
Thank you very much Greg!
Although I cannot find the piece set you have mentioned, it will appear!
I am a tiny bit proud, I admit to anounce that, presets for frog chess, hannibal chess and waffle chess work well with rules enforced and moves displayed for a regular castling variation (which is the oficial one for the first 2). Next I'll try the fast type of castling.
@Fergus
I did not know you made it so easilly programmable. For apothecary chess I started it from scratch and there is no need for that. Although it has it's particularities it's probably doable. Now, I know better to probably do it in the way it was meant by you! Thanks!...
Thanks Fergus!
I tried to figure out how to use free castling instead of regular castling, but I got only as far as understanding that the value of the square where the castling piece needs to land, has to be passed to the caslting subroutine. Probably this is how the subroutine makes the difference between the two as otherwise is assumes that it has to jump the king. I don't understand what needs passing from the main program of the preset to go down the functions tree so that will happen :(!
Hello Fergus,
There is still a problem. In free castling as Kevin Pacey has defined it the king may leap interviening pieces and the rook lands on the king's initial sqaure. This I think it requires a new implementation. I think I got cought in the terms, it is obvious to me that you meant something else by it!...
This would be a game that has that rule:
https://www.chessvariants.com/play/pbm/play.php?game=Waffle+Chess&settings=FastCastling
All right thanks, for the tip. I'll keep it in mind! And for everything else!
Yes, Greg! That was what I was trying to say!
@Greg & @Fergus
For now I could not do a fast castle routine by trying the replace the regular routine. I think it is better to start from scratch as this type of castling is less restrictive anyway. I'll try again later.
For reference fast castling involves leaping the king at least 2 spaces towards the rook (regardless of any hindrance) and the rook in the initial king place.
A pseudocode would involve the following steps:
1. Check for the flags (here I have some trouble as I have to work with regular code)
2. Check if the king is in check (copy paste from regular routine)
3. Check if the space if free and 2 squares far
4. Move the king
5. Move the rook
For now I have a few slips but maybe I can do it!...
So far I have tried this code for fast castling but it seems I'm far from the truth :)! I even have a misplaced return error I can't see!
sub castle;
local ATTACKED RPOS xdir;
if not flag #from:
die A King may not castle after it moves.;
endif;
if capture:
die A King may not castle to an occupied space.;
endif;
set ATTACKED ATTACKEDBYW unless isupper moved ATTACKEDBYB;
if fn var ATTACKED #from:
die A King may not castle out of check.;
endif;
set xdir minus file #to file #from;
if not checkaleap #from #to #xdir 0:
die A King may not castle there;
endif;
if sign minus file #to file #from:
if rank #to 1:
set RPOS a1;
else:
set RPOS a8;
endif;
else
if rank #to 1:
set RPOS j1;
else: set RPOS j8;
endif;
endif;
if not flag #RPOS:
die A king may not castle with a rook that moved;
endif;
move #RPOS #from;
unsetflag #from, #RPOS;
return true;
endsub;
@Hg,
Is it possible to make with the diagram designer boards that are not rectangular?
Sorry, I knew about that. I meant HG's interactive diagram :)! And thanks for the info :)!
@Fergus,
Hello!
In the chess2 include file what is the sub castlepos supposed to do?
I have done an experiment in an attempt to settle how close the two, almost the same, armies.
The engine used was the latest chessV. The total number of games was 128. Out of which:
Augmented Knight won 31
Extra Pawn won 41
Draws 56
Score: EP 69-59 AN which is around 53% for the winner.
@HG and Greg
I want to see three competitions between Fairy Max and ChessV using Winboard. The games should be Frog Chess, Hannibal chess and Waffle Chess.
1. What is the instruction that connects ChessV with winboard?
2. When I try to load FairyMax to play I get the message: "Engine did not send setup for nonstandard variant".
These are the fairymax representations of the 3 games, as I have written them:
//Frog chess invented by Kevin Pacey
Game: frog
10x8
6 4 5 8 7 3 8 5 4 6
6 4 5 8 7 3 8 5 4 6
p:100 -16,24 -16,6 -15,5 -17,5
p:100 16,24 16,6 15,5 17,5
k:-1 1,3034 -1,1034 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7
n:310 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7
b:350 15,3 17,3 -15,3 -17,3
R:475 1,3 16,3 -1,3 -16,3
Q:950 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3
f:275 15,7 17,7 -15,7 -17,7 3,7 -3,7 48,7 -48,7
//Hannibal chess invented by Kevin Pacey
Game: hannibal
10x8
6 4 8 5 7 3 5 8 4 6
6 4 8 5 7 3 5 8 4 6
p:100 -16,24 -16,6 -15,5 -17,5
p:100 16,24 16,6 15,5 17,5
k:-1 1,3034 -1,1034 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7
n:310 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7
b:350 15,3 17,3 -15,3 -17,3
R:475 1,3 16,3 -1,3 -16,3
Q:950 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3
h:275 15,7 17,7 -15,7 -17,7 30,7 34,7 -30,7 -34,7
//Waffle chess invented by Kevin Pacey
Game: waffle
10x8
6 8 4 5 7 3 5 4 8 6
6 8 4 5 7 3 5 4 8 6
p:100 -16,24 -16,6 -15,5 -17,5
p:100 16,24 16,6 15,5 17,5
k:-1 1,3034 -1,1034 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7
n:310 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7
b:350 15,3 17,3 -15,3 -17,3
R:475 1,3 16,3 -1,3 -16,3
Q:950 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3
w:275 1,7 16,7 -1,7 -16,7 30,7 34,7 -30,7 -34,7
25 comments displayed
Permalink to the exact comments currently displayed.
@The Editors
These days I had tried to finalize the rules of my 2 apothecary games.
This should be the final version of this article pending review.