Display a logical area on a very large board.
Categories > Board > rex_logicmaskIntroductionLinksDependenceUsageConceptDefine maskMove maskExampleDefine maskMove maskMore samples
Optional:
Defines a mask area then moves it, to get new covered (entered) tiles and uncovered (exited) tiles.
Action:Fill a rectangle
Action:Fill a point
Action:Flood fill
,
Action:Clean a point
, Action:Clean
Call Action:Put mask
to move this mask, to get new covered (entered) tiles and uncovered (exited) tiles.
Entered area = Current_logic_coverage - Previous_logic_coverage
, i.e. area which did not in previous coverage, but in current coverage
Condition:For each entered LXY
, to get each entered tile
Expression:CurLX
, Expression:CurLY
, 0) by Board Action:Create tile
.Expression:CurValue
, optional.Exited area = Previous_logic_coverage - Current_logic_coverage
, i.e. area which in previous coverage, but not in current coverage
Condition:For each exit LXY
, to get each exited tile
Expression:CurLX
, Expression:CurLY
, 0) by Board Action:Destroy chess
.Expression:CurValue
, optional.Current coverage
Condition:For each masked LXY
, to get current masked tile
Expression:CurValue
, optional.(Expression:OX
, Expression:OY
) , logical position of current mask
Condition:In mask area
, returns true if a position is inside current mask.
Fills mask by a rectangle at
The mask will become
(-1, -1) (0, -1) (1, -1) (-1, 0) (0, 0) (1, 0) (-1, 1) (0, 1) (1, 1)
Then put this mask to logic position (50, 50) ,
(49, 49) (50, 49) (51, 49) (49, 50) (50, 50) (51, 50) (49, 51) (50, 51) (51, 51)
Put this mask to logic position (51, 50) ,
(50, 49) (51, 49) (52, 49) (50, 50) (51, 50) (52, 50) (50, 51) (51, 51) (52, 51)
(52, 49) , (52, 50) , (52, 51)
(49, 49) , (49, 50) , (49, 51)