HOW IT WORKS - BRIEF GUIDE TO THIS ENGINE
obsah: flag combinations and third layer of move values: page 7/12

inputs and outputs
first moves
basic analysis
RCboard rules
first 2 layers
flag rules (1D)
flag combination (2D)
LM moves
three structure
delay rules
last analysis

summary

go to page:
pixoria main


When the engine searches through the game board in all 8 directions, it remembers several squares with different values at free square positions. In arrays xRCboard and oRCboard , it stores move values from 0 (minimum value) to 50 (maximum value), which the engine updates further during game board situation analysys.
The information used to update arrays
xRCboard and oRCboard is stored in arrays flagx and flago.
First of all, the engine will re-evaluate any very-high-valued moves (free sauqres) in arrays
xRCboard and oRCboard:
if((xRCboard[row][column] > 43) && (xRCboard[row][column] < 47)) xRCboard[row][column] = xRCboard[row][column] + 3;
Values 44, 45 and 46 will be increased to 47, 48 and 49.

Free squares that are common for some character sequences (Flag Rules) from different lines, have a strategic significance in the game. They allow the engine to recognize and use two-dimensional structures. Data on these squares are written in arrays flagx and flago.
For example:
image 006:

The RCBoard rule set does not allow a move into the line intersection.

image 007:

But according to Flag Rules the intersection move has the highest value.

image 008:

Furthermore, Flag Rules allow two different strategies depending on whether the engine is player one or player two.

When merging squares with different RCBoard Rule values from (four) different searched lines, the highest value is selected. When merging directional data in 'flag' and 'flat' arrays however, the values add up for each square. This way the intersections of character sequences from different Flag Rule lines are automatically marked.

So the engine now searces the arrays flagx and flago. According to values found here, it will update values at same positions in arrays xRCboard and oRCboard. The highest positions in the best move hierarchy are assigned to Flag Rule intersections with values: M + M, M + CII, M + CI, CII + CI, CI + CI.
image 009:

The hierarchy of moves selected according to Flag Rules from first and second player's point of view. If the engine finds moves of the same value in both arrays (xRCboard a oRCboard), it considers the move from its own array to be better. So if the engine is player one, it will first pick the move from xRCboard array.




go top independent Machines develop lab (2013) page 7/12