Comments/Ratings for a Single Item
You are welcome, Kevin. A little contribution of mine to your idea. I like it. Introducing into the classical chess gameplay the 6 primary, basic compound pieces. Unfortunately, there is a bug in the preset: if you click in the menu Related --> Rules for Sac Chess, it appears this message: "The Chess Variant Pages: 404 Error - Page not found." Hopefully Fergus or Ben can fix it. I encourage you to playtest Sac Chess with me as soon as posssible... I'm anxious to see how its game plot would evolve!
You entered the URL to the rules as a full URL without the http:// prefix. Without that prefix, it treats it as a path name to a page on the Chess Variant Pages, and that's what happened here. So, you should either add the prefix or remove the domain name. I recommend the latter.
It looks like your Post-Move code was copied from one of my presets without adapting it to this particular game.
elseif match moved Q R B N A M O .RF .BW .NGU:
elseif match moved q r b n a m o .rf .bw .ngu:
the problem remains.
Do you think the following definitions are right?
def O checkride #0 #1 1 0 or checkride #0 #1 1 1 or checkleap #0 #1 1 2;
def .RF checkride #0 #1 1 0 or checkleap #0 #1 1 1 or checkleap #0 #1 1 0;
def .BW checkride #0 #1 1 1 or checkleap #0 #1 1 1 or checkleap #0 #1 1 0;
def .NGU checkleap #0 #1 1 2 or checkleap #0 #1 1 1 or checkleap #0 #1 1 0;
def OL merge rays #0 1 0 rays #0 1 1 leaps #0 1 2;
def .RFL merge rays #0 1 0 leaps #0 1 1;
def .BWL merge rays #0 1 1 leaps #0 1 0;
def .NGUL merge leaps #0 1 2 leaps #0 1 0 leaps #0 1 1;
def o checkride #0 #1 1 0 or checkride #0 #1 1 1 or checkleap #0 #1 1 2;
def .rf checkride #0 #1 1 0 or checkleap #0 #1 1 1 or checkleap #0 #1 1 0;
def .bw checkride #0 #1 1 1 or checkleap #0 #1 1 1 or checkleap #0 #1 1 0;
def .ngu checkleap #0 #1 1 2 or checkleap #0 #1 1 1 or checkleap #0 #1 1 0;
def oL merge rays #0 1 0 rays #0 1 1 leaps #0 1 2;
def .rfL merge rays #0 1 0 leaps #0 1 1;
def .bwL merge rays #0 1 1 leaps #0 1 0;
def .nguL merge leaps #0 1 2 leaps #0 1 0 leaps #0 1 1;
Your code is gone, and I don't know what each of those pieces are supposed to be.
O is amazon
.RF is dragon horse = rook or ferz
.BW is dragon king = bishop or wazir
.NGU is knight or guard
Testing the preset by the "MOVE pieces by yourself" resource, looks like the code doesnot recognize such pieces as own for any determined army.
Sorry, .RF is dragon king and .BW is dragon horse (from shogi).
For the Dragon Horse and Dragon King, where you have a checkride, you don't also need a checkleap. But this is just redundancy, not anything that would break these functions. The *L functions don't have this redundancy and seem alright. When you say the code does not recognize these pieces, please be specific about what you're doing, what you expect to happen, and what happens. The pieces are not objects that are either fully recognized or fully not recognized. I could move these pieces, but I could not see legal moves displayed for them. Also, other pieces on the same side could capture them. I think both problems are due to the piece labels not being purely alphabetical. With piece labels that have non-alpha characters in them, you cannot rely on islower and isupper to tell the sides apart, and you cannot rely on onlylower and onlyupper to provide a list of all pieces belonging to one side. You will have to rewrite any code relying on the assumption that piece labels are purely alphabetical. Alternately, you can use a smaller set that does use purely alphabetical labels for pieces. I never use the Alfaerie: Many set and do not encourage its use.
> 1. It's not possible to promote pawns because appear a message noting: "This webpage is not available. DNS_PROBE_FINISHED_NXDOMAIN." That's an unexpected message. It is not programmed into Game Courier, and I don't know what could be responsible for it. > 2. When you click on the Amazon or on the Centaur (placed on a2/a9, j2/j9) its legal moves are not displayed, and when you click on the destination square it appears a JavaScript window saying: "This move is not marked as legal. Do you still want to try it?", followed by the "Cancell - Accept" alternative links. After clicking "Accept", the move is completed normally. The *L functions for these two are trying to merge three arrays with only one instance of merge. Merge takes two arguments, not three. To merge three arrays, you should first merge two, then merge the merged array with a third array. You would have to use merge twice to do this.
14 comments displayed
Permalink to the exact comments currently displayed.