Check out Glinski's Hexagonal Chess, our featured variant for May, 2024.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Latest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Comments by FergusDuniho

LatestLater Reverse Order EarlierEarliest
Grand Apothecary Chess-Classic. Very large Board variant obtained trough tinkering with known games.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Mon, Aug 30, 2021 08:31 PM UTC in reply to Jean-Louis Cazaux from 11:37 AM:

I'm quite interested by this possibility as I understand that this is a way to get rid of the creation of new sets.

It doesn't get rid of the creation of new sets. It just changes how you make them. Instead of writing a PHP file and having it put in the /play/pbm/sets/ directory, you can create a set using the GAME Code language.

However, I'm not very skilled in coding, I mean less than you all, and I don't understand everything. Is there any example in some files?

The only example is in comment 42275 on the Developer's Guide page. But this is an example of creating five different sets that each have only the standard Chess pieces in them. If you understand how it works, then you may be able to adapt it to create a set for a specific game. However, I might need to add some details to it to handle pieces that do not match up with pieces already in the set it is loading before running GAME Code.

Instead of creating a new set from scratch, you may prefer to work with an existing set that happens to include everything you need, then use the update-piece-set subroutine to define a new set in terms of it.


🕸Fergus Duniho wrote on Mon, Aug 30, 2021 07:57 PM UTC in reply to Jean-Louis Cazaux from 07:35 PM:

I don't understand what means "the available includes files" ?

An include file is a file containing programming code that is available for including in larger programs. The purpose behind this is to avoid rewriting code for different programs. Instead of writing each program from scratch, you can include include files to handle things that someone has already written code for. When writing GAME Code, you can use the include command to include the code in a particular include file. These are written as text files and have the .txt extension, which is the default extension for text files. But they are normally included without including the extension in the file name. The include files I have written are all in the /play/pbm/includes/ directory. To include one with the include command, just give its base name, which is the part before the .txt extension. H. G. Muller has written some include files in a different location, and these, I believe, are included by giving its full path and file name.


🕸Fergus Duniho wrote on Sun, Aug 29, 2021 10:18 PM UTC in reply to H. G. Muller from 08:48 PM:

Where can I find this include file?

It's in the includes directory. So, you just include it by name.

BTW, I did stumble on the method for defining a piece set through assigning to $pieces. Perhaps this is the best method to convert Interactive Diagrams to GAME code, as these Diagrams do specify the filenames of the piece images, the directory where these images are to be found, and the piece IDs (which can be used as labels). So it would just be a matter of dumping this internally held info in the form of a GAME-code associative array, in the code generated for the Pre-Game section.

Yes, that could work, though there is one caveat. When Game Courier is in Edit mode, it does not run any code unless someone clicks Run. This is a safety precaution to allow someone to edit buggy code that would otherwise disable the preset. Consequently, the board may not look right in Edit mode until someone clicks Run. If you use a set file in conjunction with the update-piece-set subroutine, though, it will avoid that problem. However, there could be a discrepancy between the labels used for the FEN code and the notation used in the preset.

To avoid that discrepancy, I was thinking of letting custom piece sets be stored as constants. However, constants are stored in logs, not in settings files. So, I'm not sure I have a good solution for this yet.


🕸Fergus Duniho wrote on Sun, Aug 29, 2021 06:31 PM UTC in reply to H. G. Muller from 03:46 PM:

I think the unexpected result is due to a space missing between * and 2 in the .dog definition.

Yes, when I corrected that, .dog gave me the correct result.

If I understood the 'new method' correctly, it would require help of an editor to define a new piece set in a PHP file.

No, the new method was provided to eliminate the need to make new set files. I have now written a subroutine that will do the job once you feed it the data. It is in the include file update-piece-set, and the subroutine is called update-piece-set. Just feed it the notation you will use. To make preparation of data easier, you may feed it all the data it needs in a single array. Each array element should be a single piece label or an array including the piece label first and the new notation second. Where a piece label is by itself, it will reuse the same label for the same piece. Where it comes paired with new notation, it will use the new notation for the piece and discard the old piece label.

This method allows the designer to write the FEN code using the original labels, but within the code, it will change the piece labels to the desired notation, and it will strip the $pieces array of all pieces not being used.

You may get data on what notation to use from the user. For each piece, just include an extra field on what notation to use for the piece. When it's left empty, use the original piece label.


🕸Fergus Duniho wrote on Sun, Aug 29, 2021 03:22 PM UTC in reply to H. G. Muller from Sat Aug 28 05:36 PM:

@Fergus: can there be a problem with functions that have a name starting with a period?

It would appear so. I ran this code to test this:

def cat * 2 #0;
def .dog *2 #0;
set p fn cat 8;
set q fn .dog 8;
dump;

And the result I got was this:

array(1) {
  [0]=>
  array(1) {
    ["main"]=>
    array(2) {
      ["p"]=>
      int(16)
      ["q"]=>
      array(2) {
        [0]=>
        string(1) "8"
        [1]=>
        string(2) "*2"
      }
    }
  }
}

This may be because GAME Code uses the period to separate array elements from arrays. I would recommend using aliases (old way) or rewriting the $piece array (new way) to avoid the need for writing functions with names that start with a period.


Folding Magnetic Chess. fold between D&E files, play on both sides.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Sat, Aug 28, 2021 06:05 PM UTC:

I did not invent this variant, but I don't see the "submit a variant you've heard of but can't find on this website" button.

I have corrected that. You are no longer listed as the inventor, and I deleted the "but ..." part from the page, since it was mainly a note to the editors.


🕸Fergus Duniho wrote on Sat, Aug 28, 2021 06:01 PM UTC:

I added a photograph, edited some text, and approved this page. Although my magnetic set folds the wrong way for this game, I put the board on its side, placed the pieces on in reverse along the side files, and reversed the image, so that everything looks correct for this game. I'm not sure this game truly counts as a 3D game, because it does not have a third dimension of movement. Instead, it is a flat surface wrapped around a 3D object, such that there are connections between spaces on the edges that don't normally exist in Chess.


MSimperium-2[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Sat, Aug 28, 2021 04:09 PM UTC in reply to Jean-Louis Cazaux from 06:35 AM:

I don't see the page, only these lines:

Any members can see unpublished pages when they're logged in. I expect you were not logged in yet.

(later on, I will try to draw a diagram)

So we're still waiting for a diagram. Okay.


MSsej[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Aug 27, 2021 10:40 PM UTC in reply to Simon Jepps from 08:48 PM:

They are just decorative bullet points.

If you mean to use bullet points, you should use the UL and LI tags. Also, it's not clear to me why these particular paragraphs would be bulleted.


MSall-piece-drops-chess[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Aug 27, 2021 06:43 PM UTC:

The external images on this page are all broken. Be sure to use only locally-hosted graphics for your page.


MSimperium-2[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Aug 27, 2021 06:23 PM UTC:

Can anyone read this? I think it's in Spanish.


MSakb48-team-8-shogi-variant[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Aug 27, 2021 06:21 PM UTC:

Why is this game named after a J-Pop group?


The Starbound Sliders. A Chess With Different Armies team featuring rook-inspired sliders.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Aug 27, 2021 06:18 PM UTC:

Why are there numbers on the setup diagram?


vis-a-vis chess. Missing description[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Aug 27, 2021 06:15 PM UTC:

I modified the formatting of the rules and removed the redundant text, but I do not understand this game. Rapprochement is not a common everyday word, and even after looking it up, it doesn't help me understand the object of this game.


Chess vs Strong Makruk. Chess against an enhanced Makruk army in an 8x8 board.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Aug 27, 2021 06:07 PM UTC:

I made the description of the Nobleman clearer for someone who cannot see or follow the link, and then I approved this page.


E-Chess. The chess pieces appear on the board during the game.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Aug 27, 2021 05:47 PM UTC:

I revised the wording of the rules a bit and approved this page.


Battle of the Kings. You start with eight pawns. The rest chess pieces appear on the board during the game.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Aug 27, 2021 05:36 PM UTC:

I replaced the setup diagram with a local one and approved this page. This game uses reproduction in an interesting way.


MSdouble-king-chess-960[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Aug 27, 2021 05:23 PM UTC:

This could use some more detail, particularly regarding its connection with Fischer Random Chess, a.k.a. Chess 960. There are more than 960 possible positions, but there are only 960 that are possible by the rules in Fischer Random Chess for selecting the position.


High Chess. Drawn games are instead won by the player whose King is closest to the centre.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Aug 27, 2021 05:18 PM UTC:

Published.


MSgrand-shogun-cavalier-chess[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Aug 27, 2021 05:00 PM UTC:

I'm still waiting for changes to be made to this page, as indicated in my previous comment.


Folding Magnetic Chess. fold between D&E files, play on both sides.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Aug 26, 2021 09:52 PM UTC:

I wanted to take a photograph of this, but my folding magnetic set folds between the fourth and fifth ranks. So, all the spaces would be the wrong color. Does anyone have a magnetic set of the sort used in this game? And would you be willing to take a photograph of it with the pieces in place?


MSsej[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Aug 26, 2021 09:38 PM UTC:

I don't understand the use of ≽ and ≅ on this page.


Two Move Chess. Designed to alleviate the first move advantage for White using double moves, while retaining the tactics of international chess.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Aug 26, 2021 07:32 PM UTC:

I modified the rule regarding notation, because the rules of a game cannot specify the notation to such detail unless they are for a specific tournament or something like that. Some games are recorded with different kinds of notation, and software like Game Courier or Zillions-of-Games will use their own style of notation for all games.

I unhid this page, but I did not examine the notes section in detail.


Dou Shou Qi: The Battle of Animals - The Jungle Game. Simulated conflict between animal kingdoms. (7x9, Cells: 63) [All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Aug 25, 2021 10:43 PM UTC:

I have removed the See Also section, because the links are in the Related menu.


🕸Fergus Duniho wrote on Wed, Aug 25, 2021 10:23 PM UTC in reply to Jean-Louis Cazaux from 01:22 PM:

Since what you sent me was not an HTML page with images embedded into it, I mixed what you had written in with what Hans had written, and I included selected photographs. I broke up the image of pieces into individual pieces so that it would flow better. I commented out most of what Hans wrote but left it on the page so that I can later check whether any of it should be included.


🕸Fergus Duniho wrote on Tue, Aug 24, 2021 09:44 PM UTC in reply to Jean-Louis Cazaux from 08:45 PM:

I don't see it, and I may not have that address anymore. Please go to my profile and use the address provided there.


Grand Apothecary Chess-Alert. (Updated!) Very large Board variant obtained trough tinkering with known games.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Tue, Aug 24, 2021 04:49 PM UTC in reply to H. G. Muller from 02:00 PM:

I just updated explode to work with an empty separator, and I wrote and tested this function:

def nolowercase allfalse lambda (islower #0) explode "" #0;

🕸Fergus Duniho wrote on Tue, Aug 24, 2021 04:15 PM UTC in reply to H. G. Muller from 02:00 PM:

would it be possible to have GAME code support operators nolower and noupper, as analogs to isupper and islower?

No, those are already in use for returning arrays of spaces. Also, PHP doesn't have a ctype function for what you want.

E.g. nolower would return true if its string argument would not contain any lower case characters, i.e. if it is all upper case, digits or punctuation.

With #0 standing in for the space with the piece in question, try using match #0 nolower. This will check whether it's among the spaces whose pieces have no lowercase letters in them. Or with #0 as the piece label, you could try not fnmatch "*[a-z]*" space #0. This checks it against a wildcard pattern for containing any lowercase ASCII characters, then negates the result.


🕸Fergus Duniho wrote on Tue, Aug 24, 2021 12:15 PM UTC in reply to H. G. Muller from 08:36 AM:

Perhaps Fergus can tell if there are alternatives to islower and isupper that ignore non-alphabetic characters, (or judge only the first letter in the string), and thus can be used to reliably recognize color in an environment of names that contain digits / punctuation. My first thought would of course be to outlaw such piece names in the fist place: it seems totally silly to allow such names. There doesn't seem any need for it.

My recommendation is to change the piece labels, which I have previously documented how to do. This would require extra programming, though, which could defeat the purpose of having all the code generated for you. Perhaps code for changing piece labels could be automatically generated with the other code. This would require you to enter both the original piece label and the notation you want to use for the piece. See recent comments to the Developer's Guide for details on what kind of code is needed to do this.


🕸Fergus Duniho wrote on Mon, Aug 23, 2021 10:19 PM UTC in reply to Aurelian Florea from 01:26 PM:

I am not familiar with how these automatically generated presets work. It looks like it might be trying to emulate logical directions without using the built-in support for logical directions. I cannot tell what piece the Mortar is or how it moves from this code.


Dou Shou Qi: The Battle of Animals - The Jungle Game. Simulated conflict between animal kingdoms. (7x9, Cells: 63) [All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Aug 20, 2021 09:13 PM UTC:

I corrected the name and removed some dead links. This page would benefit from an update. If you're interested in providing a better page with better and more detailed graphics, you're welcome to.


🕸Fergus Duniho wrote on Fri, Aug 20, 2021 08:48 PM UTC:

It appears this game is not on Richard's PBM server by any name provided. So, I removed that link.


Two Move Chess. Designed to alleviate the first move advantage for White using double moves, while retaining the tactics of international chess.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Aug 19, 2021 07:32 PM UTC:

I have now updated the ItemID and the game's name in the database.


🕸Fergus Duniho wrote on Thu, Aug 19, 2021 03:22 PM UTC in reply to Joe Joyce from 12:23 AM:

Patience. I will get to changing the name.


Global Chess. A chess game played on a board composed of two rotating disks. (2x(), Cells: 64) [All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Mon, Aug 16, 2021 12:23 PM UTC in reply to Fergus Duniho from Sat Aug 7 09:14 PM:

Now that I have bought a set off of ebay, I have a better understanding of the rules. I was wrong about the last two points I made in my previous comment. The only discernible difference from Chess on the Dot is the castling rule. I have now described both games together on the Spherical Chess page.


The birth of 3 new variants - part 2 : Grand Apothecary Chess Modern[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Sun, Aug 15, 2021 12:11 PM UTC in reply to H. G. Muller from 09:32 AM:

In the routine below the variable 'sqr' stays 0 for all iterations. Only when I deleted the comma ("for (sqr piece) $space;") it runs through the square labels. Yet the GAME code manual suggest a comma should be present.

The Developer's Guide was wrong. I have corrected it. It uses spaces as separators, and when I used a comma, it added the comma to the variable name, so that this code worked:

foreach (key, var) spaces:
  echo #key, #var;
next;

But this code did not:

foreach (key, var) spaces:
  echo #key #var;
next;

(And thanks for fixing the dash problem; I would never have found that.)

It's important to remember that it was a minus sign, not a dash. When you use the # prefix before a variable name, it rewrites your code by replacing your variable with its value. Because it rewrote your code with a minus sign, your line of code was now trying to do subtraction. This threw a monkey wrench into your code in a way that a mere dash – which would be a meaningless string that was wider than a minus sign – would not have. Inserting the value of variables in this way is mainly intended for using variables with commands that do not process expressions (at all or for a certain argument). Within expressions, it is usually safer to use the var operator, which simply returns the variable value without rewriting your code. I believe functions are now an exception to this, since the following code prints 13, not 17:

set a 8;
def test + 9 #a;
set a 4;
print fn test;

🕸Fergus Duniho wrote on Sat, Aug 14, 2021 11:32 PM UTC in reply to H. G. Muller from 08:20 PM:

Here is the fixed subroutine:

sub GetSquares toshuffle:
  my sqr piece;
  // determine the squares the pieces in the given set are on.
  // the result is left in 3 global arrays:
  set left array;  // on left board half
  set light array; // as well as sorted by shade
  set dark array;
printr $space;
  for (sqr, piece) $space:
print . iter . #piece #sqr;
    if match var piece #toshuffle:
      if < * 2 file #sqr lastfile:  // left half
        push left #sqr;
      endif;
      if == color #sqr 1: // distinguish by shade
        push dark #sqr;
      else:
        push light #sqr;
      endif;
    endif;
  next;
print "got it";
endsub;

The actual fix was changing #piece to var piece in the conditional if match var piece #toshuffle:. There are subtle differences between these two ways of getting the values of variables. The way you were doing it embedded it into the line during pre-processing, and the problem with doing that was that its first value was -, which is also an operator. Changing it to var piece made sure that it treated the value as a string at the proper time and not as the minus operator.

I changed another line to use the color operator, because this might be a better way of doing what you want. This returns the color index associated with the space. Looking at the color values, I figured that the number 1 was being used for the dark squares.


🕸Fergus Duniho wrote on Sat, Aug 14, 2021 08:00 PM UTC in reply to H. G. Muller from 06:49 PM:

This routine is in the shuffle.txt file included in the preset Aurelian posted the link to 5 postings ago in this subject thread.

When I clicked on that, I saw a listing of all the spaces. So, I presume it is working.

Once you have shuffled the pieces, are you storing the results of the shuffling in a constant for later reuse?


🕸Fergus Duniho wrote on Sat, Aug 14, 2021 06:30 PM UTC in reply to H. G. Muller from 02:44 PM:

When I tried it by itself, it did loop through the board. Perhaps something in the outer context is affecting your code.


Two Move Chess. Designed to alleviate the first move advantage for White using double moves, while retaining the tactics of international chess.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Aug 13, 2021 01:17 AM UTC in reply to Ted Larson Freeman from Thu Aug 12 05:05 AM:

I am still pondering the question of the name. If I change the name, will the URL change? And if so, would we lose these most excellent comments?

The URL will change, but I can manually update the database to keep the comments with the page.


🕸Fergus Duniho wrote on Wed, Aug 11, 2021 11:38 PM UTC in reply to Ted Larson Freeman from 08:35 PM:

By rule #1, each move of a two-move turn must be individually legal for the position on the board at that moment--it does not matter whether a second move could remove any checks caused by the first move. So if there is no legal first move, it is stalemate.

I think you're saying that the first interpretation is incorrect. If there is no legal first move, it is stalemate.

Would this wording be more clear?

The game ends in stalemate if at the start of his turn a player is not in check and cannot complete either a legal two move turn or a legal single move turn.

No, it just applies De Morgan's theorem to what you originally wrote, leaving the original ambiguity intact. Since the third interpretation could be put succinctly and unambiguously as "The game ends in stalemate if at the start of his turn a player is not in check and has no legal first move," I think you favor the second interpretation, which I think is more clear when worded like this:

The game ends in stalemate if at the start of his turn a player is not in check and either has no legal move or, if he does have a legal move, cannot complete a second legal move after the first.

It seems that you favor the second interpretation, which is that the player must be able to make two legal moves to avoid stalemate. However, what if the first move is one that would normally prohibit a second move, such as a check, a promotion, a capture, or a double Pawn move subject to en passant? Would it still be checkmate in that case?


🕸Fergus Duniho wrote on Wed, Aug 11, 2021 06:31 PM UTC:

The game ends in stalemate if at the start of his turn a player is not in check and has no available legal two move turns and no available legal single move turns.

I'm not sure how to interpret the part I put in boldface. Which of these do you mean?

  1. If a legal first move is not available, but a second move could remove any checks caused by the first move, it is not stalemate.

  2. If there is a legal first move, but it cannot be followed by a legal second move, it is stalemate.

  3. If a player cannot make a legal first move, it is stalemate.


🕸Fergus Duniho wrote on Wed, Aug 11, 2021 06:17 PM UTC in reply to Ted Larson Freeman from 07:22 AM:

I think it's a bit too late to start using the name Chess2. There are already numerous Chess variants, and you wouldn't be the first or even second person to use the name. Pritchard mentions a Chess Too and a couple Chess IIs, and there is a commercial game described on this site that was called Chess 2 - The Sequel.


Possible bug in Grand Cavalier Chess[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Wed, Aug 11, 2021 05:55 PM UTC in reply to wdtr2 from 10:29 AM:

It's not so much that there is a bug here but that this preset was written before I gave Game Courier the ability to move pieces by clicking with the mouse. So, I did not program it to handle partial moves. As long as you enter the whole move at once, which will require some typing, it will allow the promotion. I will eventually get around to updating this preset or replacing it with a new one.


Cylindrical Chess. Sides of the board are supposed to be connected.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Wed, Aug 11, 2021 05:33 PM UTC:

I updated this page with new presets that use logical directions. I made these in preparation for making presets for spherical variants. The links to the old presets are still provided, as they will help illustrate the difference between using mathematical directions and using logical directions. While I was at it, I made improvements to the code for displaying circular boards. The files are now more naturally oriented, there are now rank markings on the board, and the image map better matches how the board is drawn.


Betza notation (extended). The powerful XBetza extension to Betza's funny notation.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Tue, Aug 10, 2021 04:24 PM UTC in reply to Greg Strong from 04:19 PM:

That would give new meaning to the name xBetza.


Game Courier Developer's Guide. Learn how to design and program Chess variants for Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Mon, Aug 9, 2021 04:58 PM UTC:

Contrary to what was documented, the rlink command was not available. Maybe I accidentally used Ctrl-z too many times. So, I added it back in. I also fixed a bug in link that stopped it from working after the first pair.

I expanded the power of the map command. It was previously useful only for creating logical directions from leaps defined in terms of ranks and files. This limited it to the directions available on a simple grid. To make it easier to create directions for boards with unusual geometries, it can now be used with previously created logical directions. In the Cylindrical Chess preset I'm working on, I used link and rlink to add connections between the a and h files for east and west, and then I used map to define the diagonal and hippogonal directions without handwriting them link by link. The code looks like this:

map n 0 1 s 0 -1 w -1 0 e 1 0; // Orthogonal directions
link w (a1 h1) (a2 h2) (a3 h3) (a4 h4) (a5 h5) (a6 h6) (a7 h7) (a8 h8);
rlink e (a1 h1) (a2 h2) (a3 h3) (a4 h4) (a5 h5) (a6 h6) (a7 h7) (a8 h8);
map nw (n w) ne (n e) sw (s w) se (s e);
map nne (n ne) nnw (n nw) sse (s se) ssw (s sw);
map nee (ne e) nww (nw w) sww (sw w) see (se e);

Possible bug in Grand Cavalier Chess[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Mon, Aug 9, 2021 02:15 AM UTC in reply to wdtr2 from Sun Aug 8 08:50 PM:

Here is the relevant rule:

When there are no captured pieces a Cavalier may promote to, it may not move to the last rank, though it may still check the Eques Rex on the last rank.

Is there a violation of this rule?


Sign in to the Chess Variant Pages. Sign in to the Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Sun, Aug 8, 2021 12:38 AM UTC in reply to Deep Thought from Sat Aug 7 04:45 AM:

The link was using the PersonID as the value for userid. I changed it to use the UserID, and now it seems to work correctly.


Global Chess. A chess game played on a board composed of two rotating disks. (2x(), Cells: 64) [All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Sat, Aug 7, 2021 09:14 PM UTC:

Many of the archived pages are lacking graphics. I will provide links to pages with complete graphics:

I could not find complete graphics for the other pieces. The Bishop page has one graphic image, but it does show an important difference from the Bishop in Chess on the Dot. When passing through a pole, a Bishop may continue its move in either direction, whereas in Chess on the Dot, it must continue its move in the same direction it was going before. The text on the Queen indicates that it moves as a Rook or a Bishop and has the same ability as the Bishop to move diagonally in either direction after passing over a pole. The text on the Pawn page does not indicate anything unusual. It moves as it does in other Spherical Chess variants.

Based on what I could glean of the rules from archived copies of the website, Global Chess is mostly like Chess on the Dot but has a few differences:

  1. Only normal castling is available. If, for example, the white King has a clear path to the a1 Rook in either direction, it can castle by moving to c1 but not by moving to g1. Whereas Chess on the Dot would also allow castling by moving to g1.
  2. The Bishop in Global Chess is more powerful, because it can go in either direction after passing over the pole, whereas the Bishop in Chess on the Dot may only continue in its original direction.
  3. The Knight has only six moves when near the pole, as it does in Miller's Spherical Chess. The extra two moves available in Chess on the Dot (and also in Nadvorney's version) are not shown in the diagrams for the Knight.

🕸Fergus Duniho wrote on Sat, Aug 7, 2021 07:37 PM UTC in reply to Fergus Duniho from 06:13 PM:

It looks like the ZRF got the King's movement wrong. According to this archived page on the King, the King moves the same as it does in Chess on the Dot, which gives it only six moves near the pole, and it can castle.


Sign in to the Chess Variant Pages. Sign in to the Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Sat, Aug 7, 2021 06:18 PM UTC in reply to Deep Thought from 04:45 AM:

I get the same thing when I click the "change password" link on my profile page. There must be a bug in the script.


Global Chess. A chess game played on a board composed of two rotating disks. (2x(), Cells: 64) [All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Sat, Aug 7, 2021 06:13 PM UTC:

I have been testing the ZRF, which I got on the Zillions-of-Games website here:

https://zillions-of-games.com/cgi-bin/zilligames/submissions.cgi?do=show;id=450

It looks like the following may be true:

  • The Rook moves as it does in other spherical variants, such as Miller's, Nadvorney's, and Chou's Chess on the Dot.
  • The Knight moves as it does in Nadvorney's Spherical Chess, which is the same as it moves in Chess on the Dot.
  • The Bishop moves as it does in Chao's Chess on the Dot, though there are some details I'm not sure about yet.
  • The Queen moves as a Rook or a Bishop.
  • In addition to moving one space as a Queen, a King near a pole can make two moves that are unavailable to Rooks, Bishops, and Queens. It can move to the space on either side of the one directly opposite it across the pole.
  • There is no castling.

Chess vs Strong Makruk. Chess against an enhanced Makruk army in an 8x8 board.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Aug 5, 2021 01:51 AM UTC:

Although this is called Chess vs Strong Makruk, all it describes is Strong Makruk.


Amazonia. 11x11 board with Pawns that promote to Princesses in the middle of the board.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Aug 5, 2021 01:48 AM UTC:

Okay, I unhid this page.


🕸Fergus Duniho wrote on Wed, Aug 4, 2021 01:08 AM UTC:

What's the Flying General in Xiangqi?


Spherical chess. Sides of the board are considered to be connected to form a sphere. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Tue, Aug 3, 2021 02:34 AM UTC in reply to Bn Em from Mon Aug 2 05:04 PM:

On e.g. a 10‐file board, Miller's reasoning would line up with Nadvorney's.

That's a good point. On a 10-file board, the files would surround the pole in a way that makes diagonal movement more intuitive, and once the board was defined, it would be easy to make spherical adaptations of various 10x8 variants like Grotesque Chess and other related games or 10x10 variants like Grand Chess.


🕸📝Fergus Duniho wrote on Tue, Aug 3, 2021 02:24 AM UTC in reply to Bn Em from Mon Aug 2 05:04 PM:

All I did to the original diagram was change its formatting to make it easier to read. I got the idea for putting a box around the main board from Pritchard, who did the same, but unlike him, I left all the inner coordinates in.


Hostage Chess ZIP file. Pieces taken are held hostage and can be exchanged against other pieces and then dropped.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Sat, Jul 31, 2021 09:49 PM UTC:

John Leslie noticed some bugs in the previous version, and I found out that the latest version on my computer had already fixed those bugs. So I included it in a new zip file with some changes to the initial comments.


Spherical chess. Sides of the board are considered to be connected to form a sphere. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Thu, Jul 29, 2021 05:32 PM UTC:

I have updated this page with diagrams and more detailed descriptions.


NOST: kNights Of the Square Table. kNights Of the Square Table.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Wed, Jul 28, 2021 06:21 PM UTC:

Are there any former NOST members around with back issues of NOSTalgia that could be scanned and put on the internet? The NOST website had only a few of the latest issues. Pritchard sometimes used it as a source for his Encyclopedia of Chess Variants, but his descriptions of games are often sketchy rather than complete.


Spherical chess. Sides of the board are considered to be connected to form a sphere. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Wed, Jul 28, 2021 02:40 AM UTC:

I started on adding an introduction, but it's late, and I will have to wait until tomorrow to continue.


🕸📝Fergus Duniho wrote on Wed, Jul 28, 2021 12:32 AM UTC:

I have a better idea of how this works now. I was describing a torus in my last comment. Unlike a torus, the north and south poles are not adjacent on a sphere. I will write up a better description and provide some more visual diagrams when I have the time.


🕸📝Fergus Duniho wrote on Tue, Jul 27, 2021 10:46 PM UTC:

The description of this game is very confusing. The middle eight rows make sense. These include a regular Chess board with two files from the other side on each side. This much is like Cylindrical Chess.

g8  h8  a8  b8  c8  d8  e8  f8  g8  h8  a8  b8
g7  h7  a7  b7  c7  d7  e7  f7  g7  h7  a7  b7
g6  h6  a6  b6  c6  d6  e6  f6  g6  h6  a6  b6
g5  h5  a5  b5  c5  d5  e5  f5  g5  h5  a5  b5
g4  h4  a4  b4  c4  d4  e4  f4  g4  h4  a4  b4
g3  h3  a3  b3  c3  d3  e3  f3  g3  h3  a3  b3
g2  h2  a2  b2  c2  d2  e2  f2  g2  h2  a2  b2
g1  h1  a1  b1  c1  d1  e1  f1  g1  h1  a1  b1

But the two rows at the top and bottom do not fit the same pattern. Here is the pattern that would make sense to me:

g2  h2  a2  b2  c2  d2  e2  f2  g2  h2  a2  b2
g1  h1  a1  b1  c1  d1  e1  f1  g1  h1  a1  b1
g8  h8  a8  b8  c8  d8  e8  f8  g8  h8  a8  b8
g7  h7  a7  b7  c7  d7  e7  f7  g7  h7  a7  b7
g6  h6  a6  b6  c6  d6  e6  f6  g6  h6  a6  b6
g5  h5  a5  b5  c5  d5  e5  f5  g5  h5  a5  b5
g4  h4  a4  b4  c4  d4  e4  f4  g4  h4  a4  b4
g3  h3  a3  b3  c3  d3  e3  f3  g3  h3  a3  b3
g2  h2  a2  b2  c2  d2  e2  f2  g2  h2  a2  b2
g1  h1  a1  b1  c1  d1  e1  f1  g1  h1  a1  b1
g8  h8  a8  b8  c8  d8  e8  f8  g8  h8  a8  b8
g7  h7  a7  b7  c7  d7  e7  f7  g7  h7  a7  b7

I do not understand why the pattern on the page is not this.


Home page of The Chess Variant Pages. Homepage of The Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Tue, Jul 27, 2021 04:49 PM UTC in reply to Ben Reiniger from 02:05 PM:

The tag description page-scripts aren't working.

That had to do with how I mass-edited many scripts to include the headcode.php script in the HEAD section. I have now corrected it for this script.


Pandemonium (Surajang修羅場). Capablanca chess + Crazyhouse.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Sat, Jul 24, 2021 01:44 AM UTC in reply to Daphne Snowmoon from Fri Jul 23 04:12 PM:

I added its code to the end of your Setup section. You can decide how you want to incorporate it into your page.


The birth of 3 new variants - part 2 : Grand Apothecary Chess Modern[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Wed, Jul 21, 2021 05:19 PM UTC in reply to Aurelian Florea from Tue Jul 20 01:38 PM:

I still need to understand how to delete a value from an array in order to remove the necessary value from wcastle or bcastle.

You can unset an array element if you know its key. For example:

set ra array a b c d e f g h i j k l m n o p q r;
unset ra.4; // removes e from array

But what if you just know the element you want to delete and not its key? I have now added a diff operator to return an array difference. When an argument isn't already an array, it gets turned into a single element array. So, this code removes j1 from wcastle.

set wcastle d1 c1 j1 k1;
set wcastle diff #wcastle j1;

Home page of The Chess Variant Pages. Homepage of The Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Mon, Jul 19, 2021 11:16 PM UTC:

To avoid making multiple sets of ebay ads, I changed the ones I had made to custom sized, then reused the same ads at different sizes. In the left sidebar, they may appear as a full-sized vertical column or up to two may appear half-sized. In the footer, ebay ads may appear as a horizontal strip. I have not put any at the top of the page or on the right sidebar, because ebay ads must be taller than the horizontal banner ads at the top, and they must be wider than the space allocated for ads on the right. I have also added code to prevent the same ebay ad from appearing multiple times on the same page.


🕸📝Fergus Duniho wrote on Sun, Jul 18, 2021 04:09 PM UTC in reply to Jean-Louis Cazaux from 05:58 AM:

I see no e-bay adds anymore at all.

Since the Macbook is a laptop, it may not provide as wide a screen as my desktop monitor does. On my own 14.1 inch laptop, there are no ads on the left side, because the CSS is set to not display them unless the browser window is wide enough.


🕸📝Fergus Duniho wrote on Sat, Jul 17, 2021 08:46 PM UTC in reply to Jean-Louis Cazaux from 07:50 PM:

From what you're saying, it is going wrong for you in two ways.

  1. It is showing the full 36 items. But it should only show a box that fits on the screen, and you should be able to see all 36 items only by scrolling this box.

  2. It is showing the ad above the content instead of to its left.

I went to test the ad for France by setting my IP's adlocale to "fr-FR", and when I went to preview this comment, an ad showed up at the top of the page. What I did yesterday was accidentally put the ad code for the left side ads in the script for banner ads that go up top. So, that accounts for #2. I have fixed that by copying the code to the correct file and deleting it from the wrong one. Were you also describing #1, or was it only #2?


🕸📝Fergus Duniho wrote on Fri, Jul 16, 2021 10:53 PM UTC:

Since the old ebay ads were no longer showing up, I have started replacing them with new ones. I liked that the old ones could be script-generated with different search terms plugged in. For the new ones, I have to manually create each ad on ebay. So, except for the United States, which is my own country and has the most visitors to this site, I am creating fewer types of ebay ads. I have mainly been working on the large ones that go on the left side on a desktop. I generally made four ads per country, the search terms being Chess, Chess Variant, and that country's own language's words for Chess and Chess Books. The Chess ads may also show items matching the recent activity of CVP visitors on ebay. Countries with more than one language got more. I made ads for Australia (AU), Austria (AT), Belgium (BE), Canada (CA), France (FR), Germany (DE), Ireland (IE), Italy (IT), the Netherlands (NL), Spain (ES), Switzerland (CH), the United Kingdom (UK), and the United State (US). That's the whole set of countries I can make ebay ads for. Just in case I left out a semicolon or something, let me know if you are having trouble viewing pages from your country.


The birth of 3 new variants - part 2 : Grand Apothecary Chess Modern[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Thu, Jul 15, 2021 05:36 PM UTC in reply to Aurelian Florea from 07:57 AM:

I do not understand why after I move the rook I can castle with the cannon on the field that was supposed to be used only for the rook.

So far, you have not made it clear that the King moves to a different space when castling with each piece. The rules you have underneath the game do not even mention castling. The castle subroutine was not written with such a rule in mind. You might be able to make it work by adjusting the values of bcastle and wcastle after a Rook moves.

I think I haven't explained that properly but only one castle is aloud.

Castling is allowed only once, which I understand, but what you say next doesn't fit with you trying to say that. Are you trying to say that the King has only once space it can go to when castling with a certain piece?

Regarding your preset, I don't understand why you are using four colors for checkering the board. Also, the dark blue squares do not contrast well with the color used for highlighting legal moves, which makes it hard to see legal moves highlighted on those squares. Additionally, your rules could use images of the pieces, so that someone looking at a piece on the board can more easily tell how it moves. Remember to use the shortcodes for displaying pieces, so that the piece images below match those on the board no matter what piece set is used.


Home page of The Chess Variant Pages. Homepage of The Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Thu, Jul 15, 2021 02:32 AM UTC:

I made mass edits to most pages on the site today using sed. I added a line to all .html pages up to five or six levels deep and to all the .php files in /index/ to include the /g/headcode.php script after the HEAD tag. This is for being able to insert common code into the head section of each page. While I expect the .html files are all okay, the scripts were not all uniform in how they handled the head section. Some would include it as HTML, and some would write it with PHP code. For example, msdisplay.php was broken until I fixed it earlier this evening. So, if you come across any other script that is not working right, let me know so that I can fix it.


Sorchess. A somewhat unorthodox Wizard enters the 64sq arena, yet with good charm.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Jul 15, 2021 01:50 AM UTC in reply to Simon Jepps from Tue Jul 13 06:23 PM:

I edited the text to clarify how the Wizard moves and published this page.


GenDiagW: a Word macro to make chess diagrams A desktop publishing resource
. A Word macro to make chess diagrams.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Jul 14, 2021 01:23 AM UTC:

This link is old and broken, but it is on the Internet Archive here:

https://web.archive.org/web/20050322075054/http://perso.wanadoo.fr/drouilly/tournois.htm

Since I don't have Word, I can't test whether this macro still works. Would someone who has Word check this out and get back to me on whether we should keep this link page?


Edward Lasker's Chess StrategyA book, magazine, journal or pamphlet
Adobe Acrobat file. A PDF version of Edward Lasker's Chess Strategy, formatted for an ereader.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Tue, Jul 13, 2021 11:04 PM UTC:

I'm marking this as deleted, because I got a 404 error when I checked the link.


Shogi SoftwareA computer program
. Members-Only Shogi Software.[All Comments] [Add Comment or Rating]

Since this comment is for a page that has not been published yet, you must be signed in to read it.

Shogi ProgramsA computer program
. Members-Only Links to different programs that play Shogi.[All Comments] [Add Comment or Rating]

Since this comment is for a page that has not been published yet, you must be signed in to read it.

Test[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Tue, Jul 13, 2021 04:22 PM UTC in reply to Fergus Duniho from 04:15 PM:

Replying from Chrome on my Likebook Mars without being signed in first.


🕸Fergus Duniho wrote on Tue, Jul 13, 2021 04:15 PM UTC:
Adding response with Chrome on my Likebook Mars without being signed in first.

🕸Fergus Duniho wrote on Tue, Jul 13, 2021 03:56 PM UTC in reply to Fergus Duniho from 03:54 PM:

Replying from Chrome on my Likebook Mars.


🕸Fergus Duniho wrote on Tue, Jul 13, 2021 03:54 PM UTC:
Adding response from Chrome on my Likebook Mars.

🕸Fergus Duniho wrote on Tue, Jul 13, 2021 03:47 PM UTC:

Posting from Chrome in Windows 10.


The birth of 3 new variants - part 2 : Grand Apothecary Chess Modern[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Tue, Jul 13, 2021 03:38 PM UTC in reply to Aurelian Florea from 11:51 AM:

What I still need to do is delete a variable from wcastle or bcastle as the rook gets moved.

That shouldn't be necessary, as other factors will determine that future castling moves are illegal without doing this.

How do I delete a value from an array?

Once the King has castled, it might be a bit of an optimization if you set wcastle or bcastle to an empty array, but it shouldn't be necessary.


🕸Fergus Duniho wrote on Mon, Jul 12, 2021 05:44 PM UTC in reply to Aurelian Florea from 08:28 AM:

Why in the castle subroutine in fairychess.txt include file the line unsetflag #RPOS; is commented?

I suppose it could be uncommented if you wanted to be thorough, but it isn't necessary to prevent illegal castling. Once the King has moved, the space it moves from and the space it moves to both get unflagged, and every space the King moves to gets unflagged. So, no matter what, the King is still unable to castle. As long as the King can't castle, nothing can castle with the King. So, leaving a flag on the Rook's original space doesn't change anything critical to the game.


Conservative Capablanca Chess. Alternative, more traditional Capablanca chess setup.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Sat, Jul 10, 2021 09:26 PM UTC in reply to Jörg Knappen from 08:39 PM:

Okay, I have added David Paulowich as an inventor of this game.


The Consuls. Chess with two Kings and Pawns that can capture as Bishop, Knight, and Rook on the enemy side.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Jul 9, 2021 05:33 PM UTC in reply to Albert Lee from 08:26 AM:

Okay, I have published this to the site.


Sorchess. A somewhat unorthodox Wizard enters the 64sq arena, yet with good charm.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Jul 8, 2021 11:07 PM UTC:

The Wizard enters play by exiting a friendly Rook, as if it were the Wizard standing there instead.

I interpret this as saying that the Wizard makes its first move as though it were sharing a space with a friendly Rook, and when it does this, the Rook remains on the space the Wizard made its first move from. Is that interpretation correct?


The Consuls. Chess with two Kings and Pawns that can capture as Bishop, Knight, and Rook on the enemy side.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Jul 8, 2021 10:55 PM UTC:

Your description of Pawn promotion is a bit unintuitive. You describe it in terms of 1st through 4th ranks. Since I presume that promotion would be on the 1st through 4th ranks of the opponent, it would seem to say that a Pawn can move as a Rook on its player's 5th rank, as a Knight on a player's 6th rank, as a Bishop on a player's 7th rank, and as a King on a player's 8th rank. But the other order seems like it might be what you intend, since it allows slower and less powerful types of promotion before allowing quicker and more powerful types. So, please clarify promotion in terms of the ranks of the player who is promoting.


The birth of 3 new variants - part 2 : Grand Apothecary Chess Modern[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Thu, Jul 8, 2021 08:36 PM UTC in reply to Aurelian Florea from 08:28 AM:

I think I accidentally deleted a comment while deleting some test comments.

1.The castling moves are not shown although they work.

The code for this goes in the stalemated subroutine, and here is what you have in that subroutine:

// Castling code removed, since Apothecary Chess does not include castling.

So you need to add some code for it there. You can probably borrow some from the one in the fairychess include file. I'm not sure if it will require any modification. Try it without modification first and see how it works.


🕸Fergus Duniho wrote on Thu, Jul 8, 2021 04:32 PM UTC in reply to Aurelian Florea from 08:28 AM:
  1. The long cannon castle is not done entirely although the king moves correctly.

You don't seem to be unflagging spaces properly. I confirmed that you left the Rook's space unflagged by moving the Rook back after moving it and then castling with it. When the Rook's space remains flagged, you will not be able to castle with the Cannon. You should do as I do in Chess, which is to unflag every space moved to or from. The code used in Chess is

unsetflag $origin $dest;

🕸Fergus Duniho wrote on Thu, Jul 8, 2021 02:03 PM UTC in reply to Aurelian Florea from 08:28 AM:

Test. I keep getting the error message, "There is no comment to post."


🕸Fergus Duniho wrote on Thu, Jul 8, 2021 12:18 PM UTC in reply to Aurelian Florea from 08:28 AM:

set wcastle d1 c1 j1 k1; set bcastle d12 c12 j12 k12;

From these, I gather that the King lies somewhere between d and j.

setflag a1 b1 k1 l1; setflag a12 b12 k12 l12;

But here, nothing is flagged between d and j. Make sure to flag every single piece that can castle, including the King.


🕸Fergus Duniho wrote on Thu, Jul 8, 2021 11:49 AM UTC in reply to Aurelian Florea from 08:28 AM:

Can you give me a link to the preset you're working on?


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Thu, Jul 8, 2021 12:12 AM UTC in reply to Daniel Zacharias from Wed Jul 7 11:15 PM:

The author of the preset had accidentally reversed the alias with the actual piece label in his alias definition. I corrected that, and now when you click on that piece, it will use the Y alias for it and accept your move.


The birth of 3 new variants - part 2 : Grand Apothecary Chess Modern[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Wed, Jul 7, 2021 11:50 PM UTC in reply to Aurelian Florea from 06:43 AM:
Since the Tiger has an extra challenge, I thought I would try it too. The following code has been tested to work on an empty 16x16 board and with various positions blocked. def Tiger checkride #ts #1 1 1 and checkride #0 #ts 1 0 and empty #ts =ts where #0 * 3 * sign #fd == abs #rd #n * 3 * sign #rd == abs #fd #n and == #n min abs #fd abs #rd =fd - file #1 file #0 =rd - rank #1 rank #0 =n - #d 3 and > #d 3 or and checkride #0 #1 1 0 <= #d 3 =d distance #0 #1 or fn Elephant #0 #1; The challenge was in figuring out how to avoid checking two different Bishop moves. This meant figuring out the precise value for ts instead of testing two possible values for it. Within each quadrant, each possible destination could be defined as a variation on either (n, n+3) or (n+3, n). The variations would include -n or -(n+3). To get the precise value for ts, I had to identify the quadrant and which form the destination had. I could identify the quadrant through the sign of fd and rd, and I could identify the form by checking whether rd or fd had an absolute value equal to n.

🕸Fergus Duniho wrote on Wed, Jul 7, 2021 08:38 PM UTC in reply to Fergus Duniho from 06:12 PM:
This also works: def Lyon checkride #ts #1 0 1 and checkride #0 #ts 1 1 and empty #ts =ts where #0 * 2 sign #fd * 2 sign #rd and == 2 min abs #fd abs #rd =fd - file #1 file #0 =rd - rank #1 rank #0 or and checkride #0 #1 1 1 <= distance #0 #1 2 or fn Dabbabah #0 #1; There are two main changes. Instead of "and match 2 abs #fd abs #rd", it now has "and == 2 min abs #fd abs #rd". Besides checking that one value is equal to 2, it also confirms that the other value is greater than or equal to 2. This rules out spaces that could be reached by a Knight's leap. This change allows the Rook move to be checked with a single checkride instead of two different checkarides with calculated values. In the tests I ran, it gave the same results as the previous Lyon function.

🕸Fergus Duniho wrote on Wed, Jul 7, 2021 06:12 PM UTC in reply to Aurelian Florea from 06:43 AM:

Since Markdown altered your code by removing the multiplication operators, and HTML interprets the less than sign as the beginning of a tag, I am responding in Text. Here is your code for the Lyon: def Lyon fn (checkride #0 #1 1 0 and empty #0) where #0 * 2 sign - file #1 file #0 * 2 sign - rank #1 rank #0 #1 and not fn Knight #0 #1 or and checkride #0 #1 1 1 <= distance #0 #1 2 or fn Dabbabah #0 #1; To rule out regular Rook moves, this should fix it. This produced the correct pattern on an empty 8x8 board with e4 as the origin and also when I blocked the diagonal move at f5. def Lyon checkaride #ts #1 0 sign #rd or checkaride #ts #1 sign #fd 0 and checkride #0 #ts 1 1 and empty #ts =ts where #0 * 2 sign #fd * 2 sign #rd and match 2 abs #fd abs #rd =fd - file #1 file #0 =rd - rank #1 rank #0 or and checkride #0 #1 1 1 <= distance #0 #1 2 or fn Dabbabah #0 #1; Instead of using a lambda function, this assigns values to variables that get reused. These are rd for rank distance, fd for file distance, and ts for turning space. After calculating fd and rd, it makes sure that one of them has an absolute value of 2. It then uses them to calculate ts. After checking that ts is empty, it checks that a diagonal move from #0 to #ts is legal, and it then uses the value of fd or rd with checkaride for checking a Rook move in a specific direction from #ts to #1. It first checks for a Rook move along the file of ts. If that returns false, it then checks for a Rook move along the rank of ts. When I tried checkride #ts 1 1 0, it gave inaccurate results. The following code gave the right results on an empty board, but it gave false positives when I blocked it on f5. def Lyon fn (checkride #0 #1 1 0 and empty #0) where #0 * 2 sign - file #1 file #0 * 2 sign - rank #1 rank #0 #1 and not fn Knight #0 #1 and not checkride #0 #1 1 0 or and checkride #0 #1 1 1 <= distance #0 #1 2 or fn Dabbabah #0 #1; I will let you figure out how to fix the Tiger, since you should have more of a clue now.


What is the ct table?[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Fri, Jul 2, 2021 01:50 PM UTC in reply to Ben Reiniger from 01:21 AM:

Okay, I dropped it.


Chess2000 A game information page
. Website of commercial chess variant with cards.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Jul 1, 2021 02:06 PM UTC:
As this page once reported, "Chess2000 was a planned chess variant, that plays chess with collectable playing cards. However, it seems that the project was cancelled, and the website went out of existence." Since we have no link, this would be a sorry link page, and it will be deleted.

100 comments displayed

LatestLater Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.