alias -l tictactoe { window -c @tic-tac-toe window -pk0 @tic-tac-toe set %ticturn $replace($r(1,2),1,x,2,o) titlebar @tic-tac-toe its the turn of $iif(%ticturn == x,CYAN (11),ORANGE (O7)) drawreplace @tic-tac-toe 00 01 drawline @tic-tac-toe 0 10 250 0 250 600 drawline @tic-tac-toe 0 10 500 0 500 600 drawline @tic-tac-toe 0 10 0 135 800 135 drawline @tic-tac-toe 0 10 0 280 800 280 } menu * { .tictactoe: tictactoe } menu @tic-tac-toe { mouse:{ if (!%winner) { if ($mouse.x isnum 0-250) && ($mouse.y isnum 0-135) && (!%tic1) { drawreplace @tic-tac-toe 04 01 drawdot @tic-tac-toe 4 50 120 62 } if ($mouse.x isnum 0-250) && ($mouse.y isnum 136-280) && (!%tic2) { drawreplace @tic-tac-toe 04 01 drawdot @tic-tac-toe 4 50 120 220 } if ($mouse.x isnum 0-250) && ($mouse.y isnum 280-400) && (!%tic3) { drawreplace @tic-tac-toe 04 01 drawdot @tic-tac-toe 4 50 120 360 } if ($mouse.x isnum 250-500) && ($mouse.y isnum 0-135) && (!%tic4) { drawreplace @tic-tac-toe 04 01 drawdot @tic-tac-toe 4 50 370 62 } if ($mouse.x isnum 250-500) && ($mouse.y isnum 136-280) && (!%tic5) { drawreplace @tic-tac-toe 04 01 drawdot @tic-tac-toe 4 50 370 220 } if ($mouse.x isnum 250-500) && ($mouse.y isnum 280-400) && (!%tic6) { drawreplace @tic-tac-toe 04 01 drawdot @tic-tac-toe 4 50 370 360 } if ($mouse.x isnum 500-750) && ($mouse.y isnum 0-135) && (!%tic7) { drawreplace @tic-tac-toe 04 01 drawdot @tic-tac-toe 4 50 600 62 } if ($mouse.x isnum 500-750) && ($mouse.y isnum 136-280) && (!%tic8) { drawreplace @tic-tac-toe 04 01 drawdot @tic-tac-toe 4 50 600 220 } if ($mouse.x isnum 500-750) && ($mouse.y isnum 280-400) && (!%tic9) { drawreplace @tic-tac-toe 04 01 drawdot @tic-tac-toe 4 50 600 360 } } } sclick:{ if (!%winner) { titlebar @tic-tac-toe its the turn of $iif(%ticturn == x,ORANGE (O7),CYAN (11)) if ($mouse.x isnum 0-250) && ($mouse.y isnum 0-135) && (!%tic1) { drawreplace @tic-tac-toe 04 01 if (%ticturn == x) { drawdot @tic-tac-toe 11 50 120 62 set %tic1 x set %ticturn o checkwin halt } if (%ticturn == o) { drawdot @tic-tac-toe 07 50 120 62 set %tic1 o set %ticturn x checkwin halt } } if ($mouse.x isnum 0-250) && ($mouse.y isnum 136-280) && (!%tic2) { drawreplace @tic-tac-toe 04 01 if (%ticturn == x) { drawdot @tic-tac-toe 11 50 120 220 set %tic2 x set %ticturn o checkwin halt } if (%ticturn == o) { drawdot @tic-tac-toe 07 50 120 220 set %tic2 o set %ticturn x checkwin halt } } if ($mouse.x isnum 0-250) && ($mouse.y isnum 280-400) && (!%tic3) { drawreplace @tic-tac-toe 04 01 if (%ticturn == x) { drawdot @tic-tac-toe 11 50 120 360 set %tic3 x set %ticturn o checkwin halt } if (%ticturn == o) { drawdot @tic-tac-toe 07 50 120 360 set %tic3 o set %ticturn x checkwin halt } } if ($mouse.x isnum 250-500) && ($mouse.y isnum 0-135) && (!%tic4) { drawreplace @tic-tac-toe 04 01 if (%ticturn == x) { drawdot @tic-tac-toe 11 50 370 62 set %tic4 x set %ticturn o checkwin halt } if (%ticturn == o) { drawdot @tic-tac-toe 07 50 370 62 set %tic4 o set %ticturn x checkwin halt } } if ($mouse.x isnum 250-500) && ($mouse.y isnum 136-280) && (!%tic5) { drawreplace @tic-tac-toe 04 01 if (%ticturn == x) { drawdot @tic-tac-toe 11 50 370 220 set %tic5 x set %ticturn o checkwin halt } if (%ticturn == o) { drawdot @tic-tac-toe 07 50 370 220 set %tic5 o set %ticturn x checkwin halt } } if ($mouse.x isnum 250-500) && ($mouse.y isnum 280-400) && (!%tic6) { drawreplace @tic-tac-toe 04 01 if (%ticturn == x) { drawdot @tic-tac-toe 11 50 370 360 set %tic6 x set %ticturn o checkwin halt } if (%ticturn == o) { drawdot @tic-tac-toe 07 50 370 360 set %tic6 o set %ticturn x checkwin halt } } if ($mouse.x isnum 500-750) && ($mouse.y isnum 0-135) && (!%tic7) { drawreplace @tic-tac-toe 04 01 if (%ticturn == x) { drawdot @tic-tac-toe 11 50 120 62 set %tic7 x set %ticturn o checkwin halt } if (%ticturn == o) { drawdot @tic-tac-toe 07 50 600 62 set %tic7 o set %ticturn x checkwin halt } } if ($mouse.x isnum 500-750) && ($mouse.y isnum 136-280) && (!%tic8) { drawreplace @tic-tac-toe 04 01 if (%ticturn == x) { drawdot @tic-tac-toe 11 50 600 220 set %tic8 x set %ticturn o checkwin halt } if (%ticturn == o) { drawdot @tic-tac-toe 07 50 600 220 set %tic8 o set %ticturn x checkwin halt } } if ($mouse.x isnum 500-750) && ($mouse.y isnum 280-400) && (!%tic9) { drawreplace @tic-tac-toe 04 01 if (%ticturn == x) { drawdot @tic-tac-toe 11 50 600 360 set %tic9 x set %ticturn o checkwin halt } if (%ticturn == o) { drawdot @tic-tac-toe 07 50 600 360 set %tic9 o set %ticturn x checkwin halt } } } else { tictactoe unset %winner } } } alias -l checkwin { if (%tic1 %tic2 %tic3 == x x x) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic1 %tic2 %tic3 == o o o) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic4 %tic5 %tic6 == x x x) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic4 %tic5 %tic6 == o o o) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic7 %tic8 %tic9 == x x x) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic7 %tic8 %tic9 == o o o) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic1 %tic4 %tic7 == x x x) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic1 %tic4 %tic7 == o o o) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic2 %tic5 %tic8 == x x x) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic2 %tic5 %tic8 == o o o) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic3 %tic6 %tic9 == x x x) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic3 %tic6 %tic9 == o o o) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic1 %tic5 %tic9 == x x x) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic1 %tic5 %tic9 == o o o) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic3 %tic5 %tic7 == x x x) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic3 %tic5 %tic7 == o o o) { set %winner $replace($v2,x x x,cyan has won,o o o,orange has won) | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } if (%tic1) && (%tic2) && (%tic3) && (%tic4) && (%tic5) && (%tic6) && (%tic7) && (%tic8) && (%tic9) { set %winner Tie | drawtext @tic-tac-toe 4 300 200 %winner | unset %tic* } } on *:close:@tic-tac-toe: unset %tic* | unset %winner