Ratings & Comments
Since this comment is for a page that has not been published yet, you must be signed in to read it.
For most of those, I have made some that I hope would be good enough. The only one I didn't try is ostrich
Since this comment is for a page that has not been published yet, you must be signed in to read it.
Looks much better.
I also removed the exraneous black line from the Kyoto Shogi setup image, shown below.
Since this comment is for a page that has not been published yet, you must be signed in to read it.
Since this comment is for a page that has not been published yet, you must be signed in to read it.
Since this comment is for a page that has not been published yet, you must be signed in to read it.
Since this comment is for a page that has not been published yet, you must be signed in to read it.
I wasn't sure I could get an effective model for this, but I thought I'd give it a shot. I think the result is of a decent caliber.
Yeah, the model is effective and turn-able. Caliber is kinda acceptable.
I'm not sure I got all the letters in the right order in the last section, but I've no doubt someone will chime in if I messed it up.
It’ll be fW4bWsmWsmpafabcduW. It’s the first time when I fix XBetza because I know where my Shieldholder with such a technic is coded, and taken that code (though then added d to make it push all pieces)
Generally such a technic of pushing is like switching bullets in revolver:
Video from “Mr. Freeman” (pt. 04).
Actually I think we still have a problem. The heavy cannon can jump (but it cannot capture) the light cannon. This can't be an capture matrix thing because $ should do them both!
(Yesterday's PotD; I had a very full and tiring day.)
301. Bullet. This piece of Lev's is one that I've categorized as "technically a spear," though its truncated forward move makes it more of a Shogi-like piece. It slides normally up to four spaces forward, or steps one space backward. It also can move without capture one space sideways, though if the space is occupied and the next one over is not then it can push the occupying piece into the unoccupied one beyond. (fW4bWsmWsmpafabcduW)
On a particularly large board (at least 16 rows), this might even be usable as a Pawn.
I wasn't sure I could get an effective model for this, but I thought I'd give it a shot. I think the result is of a decent caliber.
Hi. I need some more Alfaerie pieces for coding an ID for Obento Chess. Some are probably easy to do:
Silver Pashtun: from Silver General with 2 points instead of 1 on every direction
Gold Pashtun: similar construction
Silver Rider: from Silver General with points replaced by arrows (?)
Gold Rider: similar construction
Wildeguard (KNC): from NC with a star (?)
Is there any editor who could make them and add them?
Another one would require more work: Ostrich
Thank you
Since this comment is for a page that has not been published yet, you must be signed in to read it.
Since this comment is for a page that has not been published yet, you must be signed in to read it.
@HG My preset for this game is giving an error about fast castling. It used to work. Any idea why?
Since this comment is for a page that has not been published yet, you must be signed in to read it.
Since this comment is for a page that has not been published yet, you must be signed in to read it.
Since this comment is for a page that has not been published yet, you must be signed in to read it.
Since this comment is for a page that has not been published yet, you must be signed in to read it.
Thanks.
I've taken the comment into account, which will improve the doc.
Marking of attacked squares to weed out illegal King moves is just one of the two things the accelerated check test does. The other thing is that it tabulates for each board square which (attempted) sliding moves visit it.
It's not the same thing that you're doing, but I have now made a quicker version of stalemated called stalemated-quick, which does some preprocessing to reduce the work involved in checking for check. It starts by creating an array of the King's location and each space it may move to, and for each location in this array, it makes an array of every location with an enemy piece that has it in its range. The code looks like this:
// Build threat lists
set krange merge fn join const alias space #kingpos "-Range" #kingpos #kingpos;
set threats ();
for to #krange:
set threats.{#to} ();
next;
for (from piece) fn #enemies:
set in intersection var krange fn join const alias var piece "-Range" var from;
for to #in:
push threats.{#to} #from;
next;
next;
So it creates multiple elements of an array called threats, each of which is an array of the enemy pieces that include that space in its full range of movement. At the start of Chess, threats.d2 and threats.d1 both have one element set to d8, and the others (elements e1, e2, f1, and f2 of threats) are empty.
To check for check, it first assumes a value of false, and it tries out the move only if there are pieces potentially threatening the space the King is on. That move looks like this:
set checkpos cond == #from #kingpos #to #kingpos;
set checked false;
if count elem var checkpos threats:
move #from #to;
set checked fn threatened #checkpos;
restore;
endif;
Instead of using the checked function, it used the threatened function, which looks like this:
def threatened anytrue lambda (fn const alias space #0 #0 var king)
elem var king threats
=movetype CHECK
=king;
This function expects threats to be populated with appropriate values. So it can't be used everywhere checked can.
In tests with Chess, everything seems to be working. After making sure it worked, I did some speed tests comparing 100 calls to stalemated with 100 calls to stalemated-quick. In each pair, stalemated is first, and stalemated-quick is second. The results show that stalemated-quick is normally quicker.
Elapsed time: 4.7686970233917 seconds
Elapsed time: 2.8460500240326 seconds
Elapsed time: 4.8747198581696 seconds
Elapsed time: 3.0506091117859 seconds
Elapsed time: 4.4713160991669 seconds
Elapsed time: 2.9584100246429 seconds
While I was on the biscandine site, I noticed a few errors in your rule descriptions, as well as an error in the Tori Shogi Jocly implementation.
In the Tori Shogi Jocly implementation, Player A's Left Quail has its movement mirrored from what it should be.
I have attached the corrected images for the movement diagrams below. I also removed the extraneous black lines from the Mini-shogi setup image.
25 comments displayed
Permalink to the exact comments currently displayed.
I corrected the XBetza as indicated.
And I'm pleased that the model triggered a positive response. It's what I was aiming for.