06-21-2022, 04:26 AM
I found the push ludeme difficult to work with and buggy (I was trying to add a piece then push it and another piece as a group...
I would like to suggest an expanded push spec.
Non Decision (i.e. after a move Select) - allows pushing a group of pieces
(push
(region) | (from)
[<Site type>]
[(to) | direction]
[addPiece:(int) | "Text"]
[placement:<None (i.e. default) | Before | After>]
[distance:(int)] (default is 1 or as defined in (to)]
[pushOff:[None|<role>] - can pieces leave the board?
[pushOffSelf:[True|False] default false
)
Decision version (to allow integration with the placement:Before and with direction popup selection in the interface)
(move Push
(from)
[<Site type>]
[ (to) | direction | (directions) ]
[addPiece:(int) | "Text"] (default none, or of Mover if "Text" or if placement:Before|After
[placement:< None (default) | Before | After] (if addPiece is specified, defaults to Before at an Empty site, and to After if at an occupied site)
[distance:(int) (default is 1 or as defined in (to)]
[pushOff:[None|<role>] - whose pieces can leave the board?
[pushOffSelf:[True|False] default false
)
What it should do:
selects (from);
adds piece at (from) if "placement:Before";
gives directional popup to select direction, if needed, - or selects (to);
moves all pieces starting at from ine th chosen direction and distance;
adds piece at (from) if "placement:After"
Is there already a direction popup? What invokes it
I would like to suggest an expanded push spec.
Non Decision (i.e. after a move Select) - allows pushing a group of pieces
(push
(region) | (from)
[<Site type>]
[(to) | direction]
[addPiece:(int) | "Text"]
[placement:<None (i.e. default) | Before | After>]
[distance:(int)] (default is 1 or as defined in (to)]
[pushOff:[None|<role>] - can pieces leave the board?
[pushOffSelf:[True|False] default false
)
Decision version (to allow integration with the placement:Before and with direction popup selection in the interface)
(move Push
(from)
[<Site type>]
[ (to) | direction | (directions) ]
[addPiece:(int) | "Text"] (default none, or of Mover if "Text" or if placement:Before|After
[placement:< None (default) | Before | After] (if addPiece is specified, defaults to Before at an Empty site, and to After if at an occupied site)
[distance:(int) (default is 1 or as defined in (to)]
[pushOff:[None|<role>] - whose pieces can leave the board?
[pushOffSelf:[True|False] default false
)
What it should do:
selects (from);
adds piece at (from) if "placement:Before";
gives directional popup to select direction, if needed, - or selects (to);
moves all pieces starting at from ine th chosen direction and distance;
adds piece at (from) if "placement:After"
Is there already a direction popup? What invokes it