Comments/Ratings for a Single Item
@H.G.Muller,
Thanks for the answer.
In real life, when there are people or objects ahead
of me, then i'm blocked and cannot pass
through.
Currently, D, H, etc row points all pass through.
This is [[ Un-real-life. ]]
Real life- Non-passable D, H, WX, DX, HX, WXX,
DXX, etc. board row points, could contribute to
chess variants design and play tremendously.
You could use passing or unpassing row points as
tactics. Also, could design huge number of new
chess variants of high quality for everyday fun
brain exercise and real chess ability.
++++++++++++++++++++ ++++++++++++++++++++
Blocking Methods 1aaa.
A row point's immediate, First neighbor, if
occupied, then this point is non-passable, or
blocked.
--- (Note: indicate this blocking neighbor to
be on right or left side, or on either side of the
point. I would suggest, for this week, try on
either side, for next week, try left or right side. )
Blocking Methods 1aab.
A row point's immediate 1st , And, 2nd, neighbor,
if occupied, then this point is non-passable, or
blocked.
Blocking Methods 1aac.
A row point's immediate 1st , Or, 2nd, neighbor,
if occupied, then this point is non-passable, or
blocked.
Blocking Methods 1aad.
A row point's immediate 1st , And , 2nd, And,
3rd, neighbor, if occupied, then this point is
non-passable, or blocked.
Blocking Methods 1aae.
A row point's immediate 1st , Or, 2nd, And, 3rd,
neighbor, if occupied, then this point is non-
passable, or blocked.
Blocking Methods 1aaf.
A row point's immediate 1st , And, 2nd, Or, 3rd,
neighbor, if occupied, then this point is non-
passable, or blocked.
Blocking Methods 1aag.
A row point's immediate 1st , And , 2nd, And,
3rd, And, 4th, neighbor, if occupied, then this
point is non-passable, or blocked.
Blocking Methods 1aah.
A row point's immediate 1st , And , 2nd, And,
3rd, Or, 4th, neighbor, if occupied, then this
point is non-passable, or blocked.
Blocking Methods 1aai.
A row point's immediate 1st , And , 2nd, Or, 3rd,
Or, 4th, neighbor, if occupied, then this point is
non-passable, or blocked.
Blocking Methods 1aaj.
A row point's immediate 1st , And , 2nd, Or, 3rd,
And, 4th, neighbor, if occupied, then this point
is non-passable, or blocked.
Blocking Methods 1aak.
A row point's immediate 1st , Or , 2nd, And, 3rd,
And, 4th, neighbor, if occupied, then this point
is non-passable, or blocked.
Blocking Methods 1aal.
A row point's immediate 1st , Or , 2nd, Or, 3rd,
And, 4th, neighbor, if occupied, then this point
is non-passable, or blocked.
Blocking Methods 1aam.
A row point's immediate 1st , Or , 2nd, Or, 3rd,
Or, 4th, neighbor, if occupied, then this point is
non-passable, or blocked.
Blocking Methods 1aam.
A row point's immediate 1st , Or , 2nd, And, 3rd,
Or, 4th, neighbor, if occupied, then this point is
non-passable, or blocked.
----------To be continued. ..........
Attempting to get things clear here...
Are you talking about rows on the board that orthogonal leapers can't go beyond?
As I understand it this is all about how pieces with distant moves could be 'non-jumping', and specifying in detail which squares have to be empty for the move to be allowed. As the number of possibilities for this grows combinatorially with the length of the leap (there are 2 to the power N patterns of occupied vs empty squares if there are N squares between origin and destination, and for each of those it could be independently chosen whether the move is allowed or not, for a total of 2^(2^N) possibilities), this can obviously not be indicated with different modifier prefixes. The original Betza notation supported only a few cases, through the n and j modifiers (i.e. only if all empty, or only if exactly one occupied, while the default is 'irrespective of any occupants').
In XBetza it is already possible to specify each pattern, by defining the move as a multi-leg move consisting of K steps specifying the trajectory, and give each of the non-final steps a p, m or mp mode (for 'must be occupied', 'must be empty' (the default) or 'don't care', respectively). So if we use the H leap as an example (2 intermediate squares), afmpafW would be possible only if the first square was empty, mpafafW only if the second square was empty, afafW would require both to be empty (for which the shorthand nH exists), pafafW would require the first to be occupied, the second to be empty, etc. To get OR-like behavior you can simply specify all allowed possibilities; afmpafWmpafafW would mean either the first or second square (or both) should be empty, while afpafWpafafW would mean one square must be empty, the other occupied (shorthand jH).
@H.G.Muller,
Thanks very much for the reply. It's cool. The following is the report on jD, jH, jsWX, jsDX,
jsHX, jsWXX, jsDXX, jsHXX, jsWXXX performance. [[[[ I would suggest you might try, for
different weeks, different blocking Methods, for the Collections Sets or Effect-Systems of j. ]] [
E.g., addition, subtraction, multiplication, division could be used. For e.g., sWX (5 = 1+4,
5=2+3)---- could use 1st, or 4th, neighbor(s) for blocking or SettingUp jumping effect system.
It's fun and scientifically valuable, and, to chesses and brain manipulating, and probability
control.
-------- Report on this week's j-Effect system setUp: --- jD works fine, if, 1st neightbor, is occupied. --- jH works fine, if: Either one, or, Both, of the starter's neighbors, is or are occupied. --- jsWX (4th row point) works fine, if, the starter's 2nd neighbor, is occupied. (e.g., 2nd
only, or, 2nd + 3rd, +1st , all fine. ) --- jsDX (5th row point) works fine, if, the starter's 2nd, Or, 3rd, neighbor is occupied. (e.g.,
2nd+ 1st , or, 2nd+4th, or, 3rd+1st, , or, 3rd+ 4th, all acceptable ).
--- jsHX (6th row point) works fine, if,, 2nd, Or, 4th, neighbor, is occupied. ( HInt on one of
the blocking methods, by using addition: 6 = 2 + 4. So, it follows. ) --- jsWXX (7th row point) works fine, if, the 3rd, Or, 4th, neighbor, is occupied. (HInt on one
of the blocking methods, by using addition: 7 = 3 + 4. Hence, it follows. )
--- To be continued. Thank you.
There is no reason to figure this out experimentally; it follows from how it was coded. And it is coded in a different way for the AI and highlighting in the move diagrams. The latter only ever test two intermediate squares for occupancy, at 1/3 and 2/3 of the leap. The AI attempts to loop through all intermediate squares, but the step it uses for this is only 1 for leaps of length 2, 3 or 4, and it might even get stuck in an infinite loop when it steps per 2 squares, and skips over the destination square.
Anyway, there is no guarantee any of the incorrect behavior will persist; I can change it at any time it would be needed. But so far I never encountered any lame leapers that move further than 4 squares.
@H.G.Muller.
Respected h.g.muller,
Thanks for your answer. The following are some findings:
1aa. [[[ jH -jumper -testing. : Self pieces (need 1st, Or,
2nd, support to jump) ---( However, Enemy piece can kill, not needing any support).
]]]
1ab. jD follows same situation as above, differentiating self and enemy pieces.
1ac. nD, nH, should also differentiate from enemy and self pieces.
--- regards, thanks.
@H.G.Muller,
Dear respected H.G.Muller,
I get an idea today as follows.
Can horse( camel, zebra, A, and more piece
etc.) be lamed by multiple methods? Secondly,
can a general piece move (e.g., W) be lamed
by horse, or camel or other moves?
---------Laming multiple methods
--- 1aaa. by fA, or bA, or A, or D, or, H, or
sD,
----- 1aab. by combination of mvs:
e.g., I. by fF And bW, or, by fF Or bW.
I.I. by fC and fF, or, by fC Or fF
I.I.I. by sWX and lW, or, by sWX Or lW.
-- laming pieces is fun and involving complicated
chesses playing process (good for brain exercise
and blood recovery). But, huge benefits could
arise. Most important, could create a large
number of new chesses variants. To spend
everyday long time more challengingly, much
more fun, and bring forth real scientific-
research values.
+++++++ Man, Be brave to try something new,
and valuable. -------- --------to be continued.
--- sincerly, adella
@H.G.Muller, +++++ adding afterthought to my previous long
post,
Dear respected H.G.Muller,
Besides, laming, could also try using move
[[ Combinations ]], to jump ( j ), or un-
jump. Thanks a lot. What you have done is cool.
@H.G.muller,
dear respected h.g., for elephant lameable move, goes as: nA.
could you add a jumpable elephant move as jA?
[[ jA: need middle point-occupied to move as elephant A. ]]
thanks a lot. sincerely, adella.
@H.G.Muller,
thanks a lot, H.G., jA works great. it's like a streamlined stitch-thrower. that's cool. with jA, could create some amusing chess variants. Or, could create more board shape-puzzles for each board location, or each groupings of different piece sets. By adding jA ( several jA pieces) pieces-group-module, something new in thinking or tactics could arise. again, thanks so much for what you have done, dear respected h.g.muller. --- adella.
@H.G.Muller,
Dear respected h.g.muller, could you, for initial move, add initial 2-moves, or, initial 3-moves, or initial multiple--moves?
For example, i4D fW -------- initial 4--moves could use D.
h.g.m., your contribution to make this initial multiple--move feasible will greatly enhances chess play tactics, and new thinking of design chess variants for fun.
Thanks a lot. sincerely, adella.
In the Interactive Diagram you can already do this by automatically 'promote' the piece to another type with one fewer D move, until it finally promotes to one without any D moves at all. So there is no need to address this through the move notation.
@h.g.muller,
Thanks so much. sincerely, adella.
@H.G.Muller, Dear respected h.g.muller, could you take a minute read my
following ideas? thanks.
=== Design accurate counting chess new variants
1aaa. E.g., elephant -- A sW. H.G.Muller, could you set
the limit on the number of [ A ] moves, such as 10 moves, or
12 mvs, etc. . Then all the other moves for this elephant piece
will be sW.
1aab. E.g., for self pieces, could you set the overal limit on
the number of A moves, such as 30 moves ( or 31 mvs , etc. )
for self side?
If you could set up this algorithm by limiting the number of
certain piece moves, then Accurate Counting will be carried on
into the chess playing and brain will be forced to be accurately
attentive in counting and searching useful info. accurately.
What you do will contribute a lot to chess brain play, and
greatly enhance logical/mathematical chess tactics pinpointed.
Thanks so much.
Sincerely, Adella.
=== Design accurate counting chess new variants
Apart from cases where you can do a certain move only once per game, I don't know any variant that imposes larger budgets for certain move types. There are probably good reasons for that; I don't think that rules like that would make very good variants. They lack clarity. The number of obscure and complex rules that can be conceived for strategic games is unlimited; it does not make any sense to support rules that are not, and probably never will be used in practice.
That being said, it already is possible to implement the AsW with a budget of 10 A moves in the Interactive Diagram; you just have to define 11 different piece types for such an 'Elephant', differing in the number of remaining A moves, and make those automatically promote to each other with the aid of the captureMatrix, exempting the W move from such promotion by writing the move as AsW'. It is then up to the game designer whether he wants those types to be represented by the same image, or distinguishable (e.g. by writing the number of remaining moves on them).
@h.g.muller,
Dear respected h.g.muller,
For "play test applets " page, why it does not work, if I make a modification to the number of ranks or number of files?"
In the past, it works. If users cannot modify number of ranks or files, then the chess variant is not fun to play for anyone at all.
could you change parameters or to revert to the past version so that users could do more modifications to the number of ranks and files?
Thanks so much. sincerely, adella.
I have begun to maintain a fork of betzaNew.js at /fergus/betzaFlex.js. Since it differs from betzaNew.js in various respects, I am just providing it as an alternative. Although I have mentioned some of its differences on other pages while working on it, I will summarize them together here:
- It uses flexbox to make the content that normally shows up below the board to show up alongside it to its right when the viewport is wide enough. This involves grouping its output with some extra divs to which some flex CSS is applied.
- To keep the display from jumping back and forth between a one column display and a two column display at certain widths, it changes how it hides and unhides sections of output. Instead of changing the value of
display
betweennone
andinherit
, it changes the value ofvisibility
betweenhidden
andvisible
, and it changes the value ofheight
between0px
andauto
. The effect of doing this is that the second column is always as wide as its widest element even when that element is invisible. - Instead of assigning fixed sizes to the table cells in the diagram, it uses the CSS
min
function to calculate a size that will best fit the screen on small mobile devices. Themin
function is given three values. Besides the assigned value, these are the maximum height (invh
units) and the maximum width (invw
units) any cell can have for the whole board to fit the display. Since these values will be greater on large screens, it will use the assigned value when there is enough space. But when the screen isn't large enough to fit the whole board at the assigned size, it will calculate and use a smaller size that will fit the screen. - So that each space on the board will maintain a 1 / 1 aspect ratio and display at the proper size, it assigns both a height and a width to every single table cell in the diagram. As described above, this is a flexible height and width that will adjust to fit the whole board on small screens.
- Instead of displaying the border when rimColor is not #FFFFFF, it displays it when it is not #FFFFF0, as that is the actual background color for pages on this site.
How much of this could be incorporated in the regular version of betzaNew.js for improving the behavior under 'size pressure'? I suppose the new cell-size directives would always be an improvement?
The rim-suppression color is a bit tricky, as I already made so many Diagrams that use FFFFFF for this. But I suppose it would not be harmfull to suppress it on both FFFFFF and FFFFF0. But perhaps it would be better to keep using FFFFFF as 'signalling code' for rim suppression, and let the Diagram use FFFFF0 in that case for the color of the part of the rim it still displays (as background for the coordinates). This method would be more robust in the hypothetical case we would ever want to change the page background color. The replacement color could be defined as a variable at the start of the script. Or perhaps the script could even be made smart enough to extract it from the surrounding HTML element?
Because the Kindle browser doesn't support the CSS min
function, I doubled up on the height and width assignments for the table cells in the diagram produced by betzaFlex.js. The first one uses the fixed pixel value, and the second one uses the min
function. So, if a browser doesn't support min
, it goes with the first assignment, and if it does support min
, it overwrites the first assignment with the second. With these changes, the diagram can now show up in the Kindle browser. I've also checked that it still works properly with Android and Apple phones.
How much of this could be incorporated in the regular version of betzaNew.js for improving the behavior under 'size pressure'?
The divs added for the flex code will interfere with the grid CSS I used on a few pages. But if you wanted to incorporate it, I could edit these pages to not use the grid CSS.
I suppose the new cell-size directives would always be an improvement?
They will be for browsers that support the CSS min
function. For browsers that do not, they should appear at the assigned size. For a phone to have no browser that supports min
, it would have to be so out-of-date that it can support only ancient versions of browsers. The Kindle is a special case, because you cannot install other browsers, and its browser is not as capable as most browsers. But its screen is large enough to display a board at full size without needing to reduce its size.
The rim-suppression color is a bit tricky, as I already made so many Diagrams that use FFFFFF for this. But I suppose it would not be harmfull to suppress it on both FFFFFF and FFFFF0.
One problem with your current diagrams is that when rimColor is set to #FFFFFF, it puts the coordinates on a background of that color, which puts a border on two sides of the board without putting any border on the other two sides.
But perhaps it would be better to keep using FFFFFF as 'signalling code' for rim suppression, and let the Diagram use FFFFF0 in that case for the color of the part of the rim it still displays (as background for the coordinates).
Instead of doing that, I have set it up so that the signal for rim suppression is to not assign a value to rimColor. When no color is assigned, it does not add a value for background
to the rimStyle
variable, and it does not display borders on the top and right. Likewise, when no color is assigned to coordColor, it does not assign a color value to rimStyle
. So, when either of these is not assigned, it just uses the color already in use on the page.
If I added code that replaces '#FFFFFF' with an empty string for the rimColor value, then that color would still signal rim suppression, and the rank and file markers would appear against the same background color as the page instead of one that slightly differs from it.
This method would be more robust in the hypothetical case we would ever want to change the page background color. The replacement color could be defined as a variable at the start of the script. Or perhaps the script could even be made smart enough to extract it from the surrounding HTML element?
By not assigning a background color when none is specified, it uses the background color on the page without needing to look it up.
To make it easier to keep track of which pages have Interactive Diagrams, I have been going through this list tagging each page with the tag Interactive Diagram. Where a diagram has been in a comment, I have made sure the page had the diagram. In one case, the diagram was already on the page, and in another, I put the diagram on the page. I am not done yet. I have currently done A through Chess. If you know of any pages with Interactive Diagrams that are not yet listed here, please go ahead and tag them.
So that my /fergus/betzaFlex.js fork, or even betzaNew.js, could use the Abstract, Magnetic, and Motif sets, which come in sizes fitting the image instead of a uniform 50x50, I modified /play/pbm/showpiece.php to take a size parameter and use it to make sure that a smaller image renders at a specified size. Instead of stretching the image, it just copies it to the center of a square with sides of the specified size. With size=50, these sets can display at their normal sizes without stretching to meet the edges.
I've gone through all my games, and added #InteractiveDiagram to all the ones that have one (though I was a little hesitant on Zwangkrieg, since the Lariats in that one are still acting wonky).
@h.g.muller,
Dear respected h.g.muller, how to write code
for move-codings for pao-F-based, with ramp 1, to
hit target 2?
paf afF : pao-ramp-1, to hit target 2, F-
based.
But, how to depict the move-only codings for
above pao-ramp-1, to hit target 2 ?
I already built a lot of fun pao-cannon
systems for many pieces. But I come across
problems in depicting Move-only-codings. They
are very practically useful move codings, yet
challenging to write codes.
I appreciate your help in giving me some hints.
Thanks a lot.
Sincerely,
Adella
@ H.G.Muller,
Dear respected H.G.Muller, could you restore the
previous version of Playtest Applet?
The new version is not working and busted many
times. Another reason is that: the previous version is fast,
efficient, and working great. Thanks so much for your contributions and my deep
gratitude to your aid.
Could you give me the link or webpage for your
playtest applet , in writings here? Thanks so much. --- sincerely, Adella.
25 comments displayed
Permalink to the exact comments currently displayed.
Sorry, but I don't understand what you mean by "non-crossable board position". Do you mean non-jumping? That would be nD or nH. But in the Interactive Diagram it is imperfectly implemented, and for leaps that are too large it would not work correctly.