All pastes #807033 Raw Edit

Untitled

public text v1 · immutable
·published 2007-12-06 04:21 UTC
rendered paste body
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