| FS 05 /HOW MAKE IT: very shortly PICTORIAL GUIDE after GOMOKU ENGINE code | |||||
| go on: | < previous page
|
next page > | |||
![]() game board summary flagx add ten flagx values M+ in line /001 M+ in line /002 M+ in line /003 M+ in line /004 LastMove /001 LastMove /002 predict low now predict high now 2d delay, dilay more delay now dilay +, delay + three: better end strategy FS05 summary |
For final editing arrays "xRCboard" and "oRCboard" engine search values in arrays "flagx", "flago", "xmap" and "omap" and according actual strategy choose usable values. In this example engine are second (O) player and choose values from arrays "flagx" and "xmap":
For usable values from arrays "flagx" amd "xmap" engine according strategy rules assign other values for array "xRCboard". If this new value is higher than actual, engine rewrite old value in array "xRCboard".
If engine are second (O) player choose this values from arrays "flago" and "omap":
Engine rewrite this values in array "oRCboard" according values in arrays "flago" and "omap".
|
||||
|
examples in C++
Actualize values in arrays "xRCboard" and "oRCboard" in according with contains other arrays and strategy: //lagx = lago = 0;
//for (row = 0; row < rcmax; row++) {
//for (column = 0; column < rcmax; column++) {
//...
//those numbers here create game straregy of engine FS05/10
//--------------------------------------------------------------------------------------
// F R E E S E C T O R | FS05 | who(engine) = 1 (X) | who(engine) = 0 (O)
//------------------------------------------|---------------------|---------------------
// if(flagx), if(flago): value is | lagx / lago | lago / lagx
//-------------------------------v----------|----------/----------|----------/----------
//00 | >= 0 | 0 / 0 | 0 / 0
//02 I + I | > 1 | 54 / 0 | 52 / 0
//03 I + I + | > 2 | 56 / 0 | 53 / 0
//04 X | == 10 | 0 / 0 | 0 / 0
//05 X + | > 10 | 0 / 0 | 49 / 45
//12 (2222) | == 19 | 0 / 0 | 0 / 0
//06 X + X | == 20 | 0 / 0 | 54 / 46
//06 X + X + | > 20 | 0 / 0 | 55 / 47
//07 C | == 100 | 0 / 0 | 0 / 0
//08 C + | > 100 | 57 / 55 | 0 / 55
//09 C + X | >= 110 | 0 / 0 | 56 / 56
//------------------------------------------|----------/----------|----------/----------
// if(xmap), if(omap): | / | /
//-------------------------------v----------|----------/----------|----------/----------
//00 predict low (C) - | == 101 | 0 / 0 | 0 / 0
//01 predict low (C) x | == 102 | 51 / 51 | 48 / 0
//02 predict low (C) xx | == 103 | 58 / 56 | 55 / 51
//03 predict low (C) -/-/ top | == 104 | 59 / 0 | 61 / 0
//04 predict low (C) x/-/ top | == 105 | 61 / 0 | 64 / 0
//05 predict low (C) xx/-/ top | == 106 | 64 / 58 | 65 / 63
//06 predict low (C) x/x/ top | == 107 | 74 / 72 | 74 / 73
//07 predict low (C) xx/x/ top | == 108 | 75 / 73 | 75 / 74
//08 predict low (C) xx/xx/ top | == 109 | 76 / 74 | 76 / 76
//
//00 predict high dil + dil (+) | == 121 | 60 / 0 | 60 / 0
//01 predict high CC + dil (+) | == 122 | 60 / 0 | 75 / 0
//02 predict high CC + CC (+) | == 123 | 72 / 0 | 76 / 0
//03 predict high del + dil (+) | == 124 | 74 / 0 | 77 / 0
//04 predict high MC + dil (+) | == 125 | 77 / 0 | 78 / 0
//05 predict high MM + dil (+) | == 126 | 80 / 75 | 80 / 77
//06 predict high del + CC (+) | == 127 | 81 / 0 | 81 / 0
//07 predict high MC + CC (+) | == 128 | 82 / 0 | 82 / 0
//08 predict high MM + CC (+) | == 129 | 90 / 0 | 90 / 79
//09 predict high del + del (+) | == 130 | 100 / 78 | 100 / 90
//10 predict high MC + del (+) | == 131 | 110 / 80 | 110 / 100
//11 predict high MM + del (+) | == 132 | 120 / 90 | 120 / 110
//12 predict high MC + MC (+) | == 133 | 130 / 100 | 130 / 120
//13 predict high MM + MC (+) | == 134 | 140 / 110 | 140 / 130
//14 predict high MM + MM (+) | == 135 | 150 / 120 | 150 / 140
//------------------------------------------|----------/----------|----------/----------
// if(flagx), if(flago): | / | /
//-------------------------------v----------|----------/----------|----------/----------
//10 dilay (C) | == 197 | 176 / 174 | 176 / 174
//11 dilay (C) and dilay (C) | == 198 | 177 / 175 | 177 / 175
//13 C + C | >= 200 | 178 / 176 | 179 / 176
//14 M | >= 1000 | 0 / 0 | 0 / 0
//15 (oxxx.-/xooo.-) | >= 1005 | 0 / 0 | 0 / 57
//16 > 1000 (except 105) | > 1000 | 0 / 0 | 0 / 0
//17 M + X | >= 1010 | 0 / 0 | 0 / 0
//------------------------------------------|----------/----------|----------/----------
// if(xmap), if(omap): | / | /
//-------------------------------v----------|----------/----------|----------/----------
//09 predict low (M) - | == 111 | 0 / 0 | 0 / 0
//10 predict low (M) x | == 112 | 0 / 0 | 0 / 0
//11 predict low (M) xx | == 113 | 63 / 62 | 63 / 62
//12 predict low (M) -/-/ top | == 114 | 0 / 0 | 0 / 0
//13 predict low (M) x/-/ top | == 115 | 68 / 0 | 68 / 0
//14 predict low (M) xx/-/ top | == 116 | 69 / 68 | 69 / 68
//15 predict low (M) x/x/ top | == 117 | 77 / 75 | 77 / 76
//16 predict low (M) xx/x/ top | == 118 | 78 / 76 | 78 / 77
//17 predict low (M) xx/xx/ top | == 119 | 79 / 77 | 79 / 78
//------------------------------------------|----------/----------|----------/----------
// if(flagx), if(flago): | / | /
//-------------------------------v----------|----------/----------|----------/----------
//18 dilay (M) | == 1097 | 179 / 178 | 178 / 178
//19 delay (M) | == 1098 | 190 / 180 | 190 / 180
//20 delay (M) and delay (M) | == 1099 | 191 / 181 | 191 / 181
//21 M + C | >= 1100 | 192 / 182 | 192 / 182
//22 M + M (three) | == 2000 | 193 / 183 | 193 / 183
//23 M + M + (three +) | > 2000 | 194 / 184 | 194 / 184
//24 thhre and C (+ dilay) | >= 2100 | 195 / 185 | 195 / 185
//25 three and M (+ delay) | >= 3000 | 196 / 186 | 196 / 186
//26 three and | >= 3100 | 197 / 187 | 197 / 187
//27 three and three | >= 4000 | 198 / 188 | 198 / 188
//28 - unuse | == 9998 | 199 / 192 | 199 / 192
//29 - unuse | == 9999 | 200 / 193 | 200 / 193
//--------------------------------------------------------------------------------------
|
|||||
| go on: | < previous page | next page > | |||
| FREE SECTOR, 2016 (free alliance of developers Pixoria gomoku plug-in engines) | page 15/16 | ||||