Check out Symmetric Chess, our featured variant for March, 2024.

Enter Your Reply

The Comment You're Replying To
H. G. Muller wrote on Sun, Jan 29, 2023 10:38 AM UTC in reply to A. M. DeWitt from Sat Jan 28 09:36 PM:

Indeed, a user promotion choice does overrule everything else. If a fixed promotion is required for pieces that would offer choice, the promotion query should be suppressed. Not only because it would prevail, but because it makes no sense at all to let the user choose and then do something else.

The mechanism the Diagram uses for this is to call WeirdPromotion() with the promo parameter set to 1021 (which is not a valid piece type), to inquire whether there is promotion choice. When this call returns 1001 the query will be suppressed, when it returns 1000 a query is forced, and in any other case it decides itself (based on maxPromote, promoZone and promoChoice).

In the AI it works slightly different; there (for a piece that could normally promote) WeirdPromotion() is called with promo equal to the promoted piece (as per promoOffset), and to suppress the promotion this would have to return 1022. It is the deferral (promo=0) that must be turned into a kamikaze move by returning 251, so that moves that would not naturally promote also get burned.

So when a passive burn is detected, WeirdPromotion() should return 1001 if promo == 1021, 251 if promo == 0 and 1022 otherwise.

 


Edit Form

Comment on the page Tenjiku Shogi

Quick Markdown Guide

By default, new comments may be entered as Markdown, simple markup syntax designed to be readable and not look like markup. Comments stored as Markdown will be converted to HTML by Parsedown before displaying them. This follows the Github Flavored Markdown Spec with support for Markdown Extra. For a good overview of Markdown in general, check out the Markdown Guide. Here is a quick comparison of some commonly used Markdown with the rendered result:

Top level header: <H1>

Block quote

Second paragraph in block quote

First Paragraph of response. Italics, bold, and bold italics.

Second Paragraph after blank line. Here is some HTML code mixed in with the Markdown, and here is the same <U>HTML code</U> enclosed by backticks.

Secondary Header: <H2>

  • Unordered list item
  • Second unordered list item
  • New unordered list
    • Nested list item

Third Level header <H3>

  1. An ordered list item.
  2. A second ordered list item with the same number.
  3. A third ordered list item.
Here is some preformatted text.
  This line begins with some indentation.
    This begins with even more indentation.
And this line has no indentation.

Alt text for a graphic image

A definition list
A list of terms, each with one or more definitions following it.
An HTML construct using the tags <DL>, <DT> and <DD>.
A term
Its definition after a colon.
A second definition.
A third definition.
Another term following a blank line
The definition of that term.