Check out Janggi (Korean Chess), our featured variant for December, 2024.


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

Comments/Ratings for a Single Item

Earlier Reverse Order Later
Throne Chess. Same game as chess, except playing K to K8 wins by Thronemate, too.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Dec 7, 2016 03:46 PM UTC:

This would be a simple game to program. Just begin with a preset for Chess, and insert a new condition into each of the Post-Game sections that check if the King that just moved happened to move to the other King's starting position and win the game for player who just moved if that the condition is met.


💡📝Kevin Pacey wrote on Wed, Dec 7, 2016 07:53 PM UTC:

Hi Fergus

I don't know how to program in HTML (way rusty at any sort of programming, in fact). Is there an exact line(s) of code you could tell me where to insert? I'd very much hoped to avoid programming & testing a rule enforcing preset, at least for now, but if you think it's easy for a layman like me, I'll look at it.

P.S.: I made an additional preset called "Throne Chess (Rules Enforcing)". For now, pending further editorial review, I'll give it via a link in the Introduction, with it intended to be rules enforcing, pending necessary changes made to it. That's plus a 2nd link, to a non-rules enforcing preset called "Throne Chess" (with a setting of the same name), in case unforseen problems arise with the rules enforcing one, or users prefer having the choice of the 2 types of presets.

If you wish the titles of both the rules enforcing & non-rules enforcing presets to be each "Throne Chess", I naturally can piecewise cut & paste any rules enforcing program instructions already found within "Throne Chess (Rules Enforcing)" into yet a 3rd preset I made earlier called "Throne Chess" (my default setting one, i.e. it's not for either of the presets given via the 1st and 2nd links in the Introduction). That's assuming you like the idea of having both the rules & non-rules enforcing types of presets available for this variant.

P.P.S.: Without thoroughly reading Game Courier programming instructions, by trial & error I successfully entered about a dozen lines of code that seemed to get the Rules Enforcing preset for Throne Chess to work, as far as checking for Thronemate victory conditions. I tested it once, anyway, advancing the White king up the board to e8 as quickly as possible, from the setup position. I used the "Test" feature in the "Edit" mode of the preset to play this short test game vs. myself. I'm not sure if it's normal, but after the program declared that White has won by Thronemate, I was allowed to continue to enter moves in the Test mode. I'm pretty sure there's nothing I did wrong in telling the program code to end the game, normally, with the 'won' command.


💡📝Kevin Pacey wrote on Sat, Dec 10, 2016 09:56 AM UTC:

I've edited my first comment extensively, now. Regardless, I think I did as you requested.


🕸Fergus Duniho wrote on Sun, Dec 11, 2016 08:34 PM UTC:

In general, the name of the game should just be the name of the game, not anything else, such as "(rules enforcing)". You can save this for the settings name or mention it in the written rules. Looking over your code, I see that you did add a conditional for the Thronemate winning condition, but after it executes, the code proceeds to check for checkmate, stalemate, and the 50 moves rule, which could overwrite the game status. And this leads me to note an ambiguity in the rules. Is it legal for a King to move into check if the move will place the King on K8? In other words, does Thronemate override other conditions for winning? When programming the winning conditions, it is important to consider which conditions have priority over others. In general, it would be best to include all win, loss or draw conditions in a single series of if and elseif conditions. I did not do this in the preset you borrowed code from, but I did do it in my latest preset for playing Chess, which is called Chess3. I should convert the official Chess presets to it so that people will copy its code instead of older code.


💡📝Kevin Pacey wrote on Mon, Dec 12, 2016 07:10 AM UTC:

I had thought the rule I put forward was clear: the move K-K8 has to be [otherwise] legal in order to win (and if it does, it wins instantly). Therefore, K-K8 can't be played if the King would be moving into check. I assumed the preset (as I had it) checked for that condition before moving on to checking for Thronemate. I've now stipulated to that effect in the preset's Rules section to make it absolutely clear to players; I've also stipulated that a Thronemate overrides what would otherwise be a stalemate result or the 50 move rule.

P.S.: I've tried using your new preset code (chess3) for chess to base my own latest code on, for my Throne Chess rules enforcing preset. My testing so far on the latest version of this preset suggests it correctly announces checks, and Thronemates. However, in case of the latter, when playing vs. myself in Test mode (after going into Edit mode), I still am able to continue to enter moves after Thronemate is announced - though the test play persists in stating that White has won in the gamescore box (i.e. not on the top of the screen) - I still don't know if this would be normal in Test mode if the preset is properly enforcing rules.


5 comments displayed

Earlier Reverse Order Later

Permalink to the exact comments currently displayed.