Tic-tac-toe: Difference between revisions
Content added Content deleted
Line 4,748: | Line 4,748: | ||
textsize 14 |
textsize 14 |
||
# |
# |
||
proc init . . |
|||
linewidth 2 |
linewidth 2 |
||
clear |
clear |
||
Line 4,768: | Line 4,768: | ||
. |
. |
||
. |
. |
||
proc draw ind . . |
|||
c = (ind - 1) mod 3 |
c = (ind - 1) mod 3 |
||
r = (ind - 1) div 3 |
r = (ind - 1) div 3 |
||
Line 4,787: | Line 4,787: | ||
. |
. |
||
. |
. |
||
proc sum3 a d . st . |
|||
for i = 1 to 3 |
for i = 1 to 3 |
||
s += f[a] |
s += f[a] |
||
Line 4,798: | Line 4,798: | ||
. |
. |
||
. |
. |
||
proc rate . res done . |
|||
res = 0 |
res = 0 |
||
for i = 1 step 3 to 7 |
for i = 1 step 3 to 7 |
||
Line 4,820: | Line 4,820: | ||
. |
. |
||
. |
. |
||
proc minmax player alpha beta . rval rmov . |
|||
call rate rval done |
call rate rval done |
||
if done = 1 |
if done = 1 |
||
Line 4,846: | Line 4,846: | ||
. |
. |
||
. |
. |
||
proc show_result val . . |
|||
color 555 |
color 555 |
||
move 16 4 |
move 16 4 |
||
Line 4,859: | Line 4,859: | ||
state += 2 |
state += 2 |
||
. |
. |
||
proc computer . . |
|||
call minmax 4 -11 11 val mov |
call minmax 4 -11 11 val mov |
||
f[mov] = 4 |
f[mov] = 4 |
||
Line 4,869: | Line 4,869: | ||
. |
. |
||
. |
. |
||
proc human . . |
|||
mov = floor ((mouse_x - 6) / 28) + 3 * floor ((mouse_y - 16) / 28) + 1 |
mov = floor ((mouse_x - 6) / 28) + 3 * floor ((mouse_y - 16) / 28) + 1 |
||
if f[mov] = 0 |
if f[mov] = 0 |