Comments/Ratings for a Single Item
By doing automated comparisons with the Compare plugin for Notepad++, I determined that the code in these two presets are the same. Although you say that they display legal moves, they do not. They presently lack any post-game code, but that is where code for recording the legal moves should go. What errors in particular have you been seeing?
When I tried to move a Pawn in the second preset, I got the error "Call to P subroutine got misrouted."
Looking at your code as it is displayed below the error message, I do not see a P subroutine defined anywhere. So, it appears to be calling a subroutine that is not defined in your code. Looking at the code you have written in your pre-game section, you have
commented out. This is the include file that would have the P subroutine defined in it. So, including it should eliminate this error.
include chess3
Returning to the code displayed below the error message, this code is properly indented, and anywhere the indentation seems incorrect, you may find an error. On line 85, you have an endif without a semicolon after it. You have the same error on line 114.
When I try to use the first preset, it repeats "Please report any bugs or errors to Fergus Duniho" on the screen endlessly. In looking more closely at the code, I see that they are not the same. I guess I was not using the Compare plugin properly. I've tried it again, and this time it is showing differences. But I have not determined what is causing this infinite loop.
In the one with the infinite loop, there are complicated piece functions for the G and A pieces, and the N function has some more code in it. One of these functions might be at fault. I would recommend that you get the second one working, then introduce these functions back into the script one at a time and see what happens. I do not think that anything in the post-move code is involved in the infinite loop, since it happens before I have the opportunity to make a move. But to rule that out, you could try deleting the post-move code temporarily to see if it makes a difference.
On comparing the post-game code in the two presets, there are some piece label differences, and in the Post-Move 1 code for the second preset, there is an endif without a semicolon after it.
@Fergus,
The knights are fine. It is just how these games work.
I'm not sure what could be wrong with the griffin and aanca code. I think I had just copy pasted what you had written a while ago. And we had talked about this before. But there could be the biggest trouble. Maybe tomorrow I'll take a look :)!
I'm not sure if anyone helped, but things seem ok now. I am sorry for any false alarm. Have fun everybody!
A final question for the community about my 2 apothecary chess variants.
A few have played the games , and I'm remembering those that there was no castling in the games, as there is none in Grand Chess. I though about castling for a while but it does not seem a good thing. It would have involved one step diagonally back which is also uncomfortable. Any thoughts are appreciated.
As an update things are going decent with the automation. The king and joker are not yet done!... Thanks for any opinion or help!...
And another question for Fergus, if I may.
in the gross chess code there is a line (to the end of post move code)
if match old r b n m a c v s w:
setelem reserve old inc elem old reserve;
endif;
I think it supposed to increase the values of pieces in reserve once captured, But I don't understand how and why, as for example there is no captured keyword. Thanks!...
I though about castling for a while but it does not seem a good thing. It would have involved one step diagonally back which is also uncomfortable. Any thoughts are appreciated.
For this reason I did start the King in Elven Chess on the back rank, and put one of the unorthodox pieces (the Lion) in its place next to the Queen.
if match old r b n m a c v s w:
setelem reserve old inc elem old reserve;
endif;
reserve is an associative array that is keeping track of the number of pieces of each type that is in reserve. When a piece of one of these types is captured, the number associated with that type in the associative array is incremented. This is for implementing the promotion rules where you are allowed to promote by replacement to pieces of yours that have been captured.
That's correct. Thanks for saving me the trouble, Greg.
14 comments displayed
Permalink to the exact comments currently displayed.
Apothecary 1 is already on the list. When we know who is playing, we will vote on which games from the list are included. Each inventor can only list one game though.