| FS 03 /HOW MAKE IT: very shortly PICTORIAL GUIDE after GOMOKU ENGINE code | |||||
| go on: | < previous page
|
next page > | |||
![]() game board summary sumx and sumo sumx to xmap xmap between x add xmap between x less xmap more samples zeroX and zeroO xmap editing x_plus and middx x_plus and zeroX x_away and o_away xRCboard and liftx xRCboard add & less xmap to lagx lagx 5000 & x_away lagx 100 & x_away lagx 10 and lagx 1 lagx to x_tack xRCboard allways flagx allways delayx dilayx pred_x pred_x to xmap choose from flagx more delay more delay samples three crossmix more delay use flag to RCboard summary |
To each square in array needs write four values therefore directions of searching is also four. Record first layer values of moves to array "xRCboard from all directions of searching: if new (direction) value in actual position square is bigger, rewrite older (previous direction) value.
All "lagx" values from all directions they are write to array "flagx". Resultant value in each square position in array "flagx" is therefore sum four values.
Bigger is sum "flagx" array values for different directions. Higher value stands for better move. Sum values 100(C) and 100(C) is 200(CC). And next bigger: 1000(M) + 100(C) = 1100(MC). And 1000(M) + 100(M) = 2000(MM). For simplicity here used digits of Roman. For flagx value 5000(5K) here uses name "three" or D (Romish).
|
||||
|
examples in C++
add to always matrix (next matrix with) actual direction: //xRCboard[][](matrix - | \) and xtemporal[][](matrix /): if(xRCboard[][] <= xtemporal[][]) xRCboard[][] = xtemporal[][]; xtemporal[][] = 0; //flagx[][](- | \)add actual lagx(/): flagx[][] += lagx; lagx = 0; |
|||||
| go on: | < previous page | next page > | |||
| iM007: alike theme | FREE SECTOR, 2014 (free alliance of developers Pixoria gomoku plug-in engines) | page 18/30 | |||