mIRC Sudoku — File Browser

mIRCSudokuv1.01 / mIRCSudokuv1.01 / mIRC Sudoku v1.01 / Sudoku / Sudoku.ini

Sudoku.ini — 18 KB — Download this file

[script]
n0=;-------------------------------------
n1=;  mIRC Sudoku - Version 1.01
n2=;-------------------------------------
n3=
n4=alias sudoku {
n5=  unset %game_time | if ($timer(game)) { .timergame off } | var %w @sudoku | window -ak0hdCBpfo +d @sudoku -1 -1 320 266
n6=  var %w @sudoku, %width1 = $width(--:--,verdana,-8,1,0), %width2 = $width(New Game,tahoma,-7,1,0), %width3 = $width(Start,tahoma,-7,1,0), %width4 = $width(Check,tahoma,-7,1,0)
n7=  .dr -rfn %w $c(1) 1 0 0 345 266 | .dr -rnf %w $c(9) 1 0 0 320 15 | .dr -rn %w $c(5) 1 0 0 320 266 0 0 320 15 | .dt -rno %w $c(8) tahoma -7 5 2 mIRC Sudoku - Version 1.01
n8=  .dr -rfn %w $c(2) 1 10 25 200 200 10 235 300 19 238 35 63 20 238 63 63 20 238 91 63 20 238 187 63 20
n9=  .dr -rn %w $c(3) 1 10 25 1 200 10 25 200 1 219 30 1 192 238 35 63 20 238 63 63 20 238 91 63 20 238 119 63 60 255 143 9 9 255 162 9 9 238 187 63 20 246 135 1 32 246 147 9 1 246 166 9 1 229 25 80 1 229 25 1 200 10 235 300 1 10 235 1 19
n10=  .dr -rn %w $c(4) 1 10 224 200 1 209 25 1 200 220 31 1 192 309 25 1 200 230 224 80 1 10 254 300 1 309 235 1 19
n11=  .dt -rno %w $c(7) verdana -8 $calc(((63 - %width1) / 2) + 238) 38 --:-- | .dt -rno %w $c(7) tahoma -7 $calc(((63 - %width2) / 2) + 238) 67 New Game | .dt -rno %w $c(7) tahoma -7 $calc(((63 - %width3) / 2) + 238) 95 Start | .dt -rno %w $c(7) tahoma -7 $calc(((63 - %width4) / 2) + 238) 192 Check
n12=  .dt -rno %w $c(7) tahoma -7 243 123 Input: | .dt -rno %w $c(7) tahoma -7 266 142 Pen | .dt -rno %w $c(7) tahoma -7 266 161 Pencil
n13=  draw.grid | .dc -n @sudoku::cache 20 35 181 182 @sudoku 20 35 | hadd -m sudoku:game input pen | .dr -rfn %w $c(2) 1 256 144 7 7 
n14=  .dr -rnf %w $c(1) 1 297 3 9 9 308 3 9 9 | .dr -rn %w $c(5) 1 297 3 9 9 308 3 9 9 | .dt -rn %w $c(6) tahoma -7 299 -1 _ | .dt -rno %w $c(6) tahoma -7 309 1 x
n15=  .dd
n16=}
n17=alias sudoku_timer { var %w = @sudoku | inc %game_time | .dr -rfn %w $c(2) 1 238 35 63 20 | .dr  -rn %w $c(3) 1 238 35 63 20 |  var %time $asctime($game_time,nn:ss) |  var %width = $width(%time,verdana,-8,1,0) | .dt -rno %w $c(7) verdana -8 $calc(((63 - %width) / 2) + 238) 38 %time | drawdot %w }
n18=alias move.sudoku { if ($window(@sudoku)) { window @sudoku $calc($mouse.dx - $1) $calc($mouse.dy - $2) | if ($mouse.key & 1) { .timersudoku -o 1 0 move.sudoku $1- } } }    
n19=alias game_time { return %game_time }
n20=alias start_game { var %w = @sudoku, %width = $width(Pause,tahoma,-7,1,0) | .timergame 0 1 sudoku_timer | .dr -rnf %w $c(2) 1 239 92 61 18 | .dt -rno %w $c(7) tahoma -7 $calc(((63 - %width) / 2) + 238) 95 Pause | hadd -m sudoku:game started $true | $sbar_txt(Game has been started!) | drawdot %w }
n21=alias pause_game { var %w = @sudoku, %width = $width(Resume,tahoma,-7,1,0) | .timergame -p | .dr -rnf %w $c(2) 1 239 92 61 18 | .dt -rno %w $c(7) tahoma -7 $calc(((63 - %width) / 2) + 238) 95 Resume | set %sudoku::game paused | $sbar_txt(Game paused; press resume to continue!) | drawdot %w }
n22=alias resume_game { var %w = @sudoku, %width = $width(Pause,tahoma,-7,1,0) | .timergame -r | .dr -rnf %w $c(2) 1 239 92 61 18 | .dt -rno %w $c(7) tahoma -7 $calc(((63 - %width) / 2) + 238) 95 Pause | unset %sudoku::game | $sbar_txt(Game resumed; please continue...) | drawdot %w }
n23=alias sbar_txt { var %w = @sudoku, %text = $1- | .dr -rfn %w $c(2) 1 11 236 298 17 | .dt -rno %w $c(7) tahoma -7 17 240 %text | drawdot %w }
n24=alias dd { drawdot @sudoku }
n25=alias dr { drawrect $$1- }
n26=alias dt { drawtext $$1- }
n27=alias dc { drawcopy $$1- }
n28=alias c { var %c = $1 | if (%c == 1) return $rgb(231,224,211) | if (%c == 2) return $rgb(243,240,234) | if (%c == 3) return $rgb(180,180,180) | if (%c == 4) return $rgb(255,255,255) | if (%c == 5) return $rgb(160,160,160) | if (%c == 6) return $rgb(120,120,120) | if (%c == 7) return $rgb(140,140,140) | if (%c == 8) return $rgb(80,80,80) | if (%c == 9) return $rgb(197,207,217) | if (%c == 10) return $rgb(255,0,0) }
n29=alias exit.game { window -c @sudoku | .timergame off | unset %sudoku* | unset %game_time | hfree -w sudoku* | hfree grid.coords }
n30=alias wf { if ($isid) return $dll($+(",$scriptdir,whilefix/WhileFix.dll,"),$1,$2-) | else dll $+(",$scriptdir,whilefix/WhileFix.dll,") $1 $2- }
n31=alias simple.game { refresh.game | var %game $+(simple,$rand(1,$findfile($scriptdirgame files\simple\,*.sdko,0)),.sdko) | load.game $+(",$scriptdirgame files\simple\,%game,") | window -c @new.game | $sbar_txt(New game loaded! Difficulty - Simple) }
n32=alias easy.game { refresh.game | var %game $+(easy,$rand(1,$findfile($scriptdirgame files\easy\,*.sdko,0)),.sdko) | load.game $+(",$scriptdirgame files\easy\,%game,") | window -c @new.game | $sbar_txt(New game loaded! Difficulty - Easy) }
n33=alias medium.game {  refresh.game | var %game $+(medium,$rand(1,$findfile($scriptdirgame files\medium\,*.sdko,0)),.sdko) | load.game $+(",$scriptdirgame files\medium\,%game,") | window -c @new.game | $sbar_txt(New game loaded! Difficulty - Medium) }
n34=alias hard.game { refresh.game | var %game $+(hard,$rand(1,$findfile($scriptdirgame files\hard\,*.sdko,0)),.sdko) | load.game $+(",$scriptdirgame files\hard\,%game,") | window -c @new.game | $sbar_txt(New game loaded! Difficulty - Hard) }
n35=alias draw.grid {
n36=  var %w = @sudoku::cache 
n37=  if (!$window(%w)) window -aph %w -1 -1 345 270 | .dr -fr %w $c(2) 1 10 25 200 200
n38=  var %x = 1 
n39=  while (%x <= 9) {
n40=    var %y = 1 
n41=    while (%y <= 9) {
n42=      if (%sudoku:game:loaded == $true) {
n43=        if (x !isin $hget(sudoku,$+(x,%x,.,y,%y))) { 
n44=          .dr -nfr %w $c(1) 1 $calc(%x * 20) $calc((%y * 20) + 15) 21 21 
n45=          .dt -nro %w $c(7) tahoma -7 $calc((%x * 20) + 7) $calc((%y * 20) + 20) $hget(sudoku,$+(x,%x,.,y,%y))
n46=        }
n47=        hadd -m grid.coords $+(x,%x,.,y,%y) $calc(%x * 20) $calc((%y * 20) + 15) 21 21 
n48=      }
n49=      .dr -nrc %w $c(3) 1 $calc(%x * 20) $calc((%y * 20) + 15) 21 21 
n50=      inc %y
n51=    }
n52=    inc %x
n53=  }
n54=  .dr -rn %w $c(5) 1 80 35 1 180 140 35 1 180 20 95 180 1 20 155 180 1 20 35 181 181 | drawdot %w
n55=}
n56=
n57=alias load.game {
n58=  if (!$1) { echo -a *** error: insufficient parameters... } 
n59=  else {
n60=    if (!$hget(sudoku)) hmake sudoku 100 
n61=    var %file = $1-, %y = 1 
n62=    while ($read(%file,%y)) { 
n63=      tokenize $asc(.) $ifmatch | var %x = 1 | while (%x <= 9) { hadd sudoku $+(x,%x,.,y,%y) [ $ $+ [ %x ] ] | inc %x } 
n64=      inc %y 
n65=    }
n66=  } 
n67=  set %sudoku:game:loaded $true | draw.grid | .dc -n @sudoku::cache 20 35 181 182 @sudoku 20 35 | .dd 
n68=} 
n69=
n70=alias new.game {
n71=  var %w @new.game
n72=  window -ak0hdBpfo +dL %w $calc(($window(@sudoku).x + $window(@sudoku).w) + 4) $calc($window(@sudoku).y + 66) 100 200
n73=  .dr -rnf %w $c(1) 1 0 0 100 200 | .dr -rn %w $c(3) 1 0 0 100 200 | .dr -rnf %w $c(9) 1 0 0 100 15 | .dr -rn %w $c(3) 1 0 0 100 15 | .dt -rno %w $c(8) tahoma -7 5 2 Select Game...
n74=  .dr -rn %w $c(3) 1 10 25 1 163 10 25 80 1 17 147 66 1 | .dr -rn %w $c(4) 1 89 25 1 163 10 188 80 1 18 148 66 1 | .dr -rnf %w $c(2) 1 20 35 60 20 20 63 60 20 20 91 60 20 20 119 60 20 20 158 60 20 | .dr -rn %w $c(3) 1 20 35 60 20 20 63 60 20 20 91 60 20 20 119 60 20 20 158 60 20
n75=  .dt -rno %w $c(6) tahoma -7 34 39 Simple | .dt -rno %w $c(6) tahoma -7 38 67 Easy | .dt -rno %w $c(6) tahoma -7 31 95 Medium | .dt -rno %w $c(6) tahoma -7 37 123 Hard | .dt -rno %w $c(6) tahoma -7 26 163 Download
n76=  drawdot @new.game
n77=}
n78=alias refresh.game {
n79=  .timergame off | unset %sudoku* | unset %game_time | if ($hget(sudoku)) { hfree sudoku } | if ($hget(grid.coords)) { hfree grid.coords } | if ($hget(sudoku:game,started)) { hdel sudoku:game started }
n80=  var %width1 = $width(--:--,verdana,-8,1,0), %width2 = $width(Start,tahoma,-7,1,0), %w = @sudoku | .dr -rnf %w $c(2) 1 239 92 61 18 239 36 61 18 | .dt -rno %w $c(7) verdana -8 $calc(((63 - %width1) / 2) + 238) 38 --:-- | .dt -rno %w $c(7) tahoma -7 $calc(((63 - %width2) / 2) + 238) 95 Start
n81=}
n82=
n83=alias check.complete {
n84=  .dc -n @sudoku::cache 20 35 181 182 @sudoku 20 35
n85=  .dr -nr @sudoku $c(10) 1 $gettok($hget(grid.coords,$+(x,1,.,y,1)),1-2,32) 181 181
n86=  var %x = 1 
n87=  while (%x <= 9) {
n88=    var %y = 1 
n89=    while (%y <= 9) {
n90=      wf WhileFix .
n91=      $sbar_txt(Checking: Grid location ... $+($left(%x,1),x) $+($left(%y,1),y))
n92=      if (%x == 9) && (%y == 9) { $sbar_txt(Checking: Grid filled completely...) | .timergame off }
n93=      if (x == $hget(sudoku,$+(x,%x,.,y,%y))) {
n94=        if (Pencil isin $hget(grid.coords,$+(x,%x,.,y,%y))) { $sbar_txt(Checking: Please fill all answers in pen, see $+(%x,x,.,%y,y)) | halt }
n95=        else { set %sudoku:status incomplete | $sbar_txt(Checking: Game incomplete; see $+($left(%x,1),x) $+($left(%y,1),y)) | halt }
n96=      }
n97=      inc %y 0.2
n98=    }
n99=    inc %x 0.2
n100=    if (%x == 9) && (%y == 9) { $sbar_txt(Checking: Complete) }
n101=  }
n102=  .timer -m 1 1500 check.horizontal
n103=}
n104=
n105=
n106=alias check.vertical {
n107=  var %x = 1 | :x | var %y = 1, %z = 1 | :loop
n108=  while ($hget(sudoku,$+(x,%x,.,y,%y))) { .wf WhileFix . | if ($left(%z,1) isin $hget(sudoku,$+(x,%x,.,y,%y))) { .dc -n @sudoku::cache 20 35 181 182 @sudoku 20 35 | .dr -nr @sudoku $c(10) 1 $gettok($hget(grid.coords,$+(x,%x,.,y,1)),1-2,32) 21 181 | .dr -nr @sudoku $rgb(0) 1 $hget(grid.coords,$+(x,%x,.,y,%y)) | $sbar_txt(Checking column %x $+ : Located $left(%z,1) ) | inc %z 0.05 } | inc %y }
n109=  var %y = 1 | if (%z <= 9) { goto loop } | inc %x | if (%x <= 9) { goto x } | .timer -m 1 1500 win.message 
n110=}
n111=
n112=alias check.horizontal {
n113=  var %y = 1 | :y | var %x = 1, %z = 1 | :loop
n114=  while ($hget(sudoku,$+(x,%x,.,y,%y))) { .wf WhileFix . | if ($left(%z,1) isin $hget(sudoku,$+(x,%x,.,y,%y))) { .dc -n @sudoku::cache 20 35 181 182 @sudoku 20 35 | .dr -nr @sudoku $c(10) 1 $gettok($hget(grid.coords,$+(x,1,.,y,%y)),1-2,32) 181 21 | .dr -nr @sudoku $rgb(0) 1 $hget(grid.coords,$+(x,%x,.,y,%y)) | $sbar_txt(Checking row %y $+ : Located $left(%z,1) ) | inc %z 0.05 } | inc %x }
n115=  var %z = %z, %x = 1 | if (%z <= 9) { goto loop } | inc %y | if (%y <= 9) { goto y } | .timer -m 1 1500 check.vertical
n116=}
n117=
n118=alias win.message { .dc -n @sudoku::cache 20 35 181 182 @sudoku 20 35 | .dr -nrf @sudoku $c(9) 1 51 95 120 61 | .dr -nr @sudoku $c(8) 1 51 95 120 61 | var %time = TIME: $asctime($game_time,nn:ss), %width = $width(%time,tahoma,-7,1,0) | .dt -nro @sudoku $c(8) tahoma -16 58 100 YOU WIN! | .dt -nro @sudoku $c(8) tahoma -7 $calc(((120 - %width) / 2) + 51) 130 %time | $sbar_txt(Check Completed: No errors found!) }
n119=alias sudoku.connect { window -hl @sudoku_dl | clear @sudoku_dl |  sockopen sudoku play.websudoku.com 80 }
n120=alias assign_dl { var %file = $+(",$scriptdirgame files\sudoku_download.txt,") | write -c %file | var %z = 1, %w = @sudoku_dl:cache | while (%z <= $line(@sudoku_dl:cache,0)) { write %file $+($line(%w,%z),.,$line(%w,$calc(%z + 1)),.,$line(%w,$calc(%z + 2)),.,$line(%w,$calc(%z + 3)),.,$line(%w,$calc(%z + 4)),.,$line(%w,$calc(%z + 5)),.,$line(%w,$calc(%z + 6)),.,$line(%w,$calc(%z + 7)),.,$line(%w,$calc(%z + 8))) | inc %z 9 } }
n121=alias download.game { $sbar_txt(Downloading game...) | sudoku.connect | .timer -m 1 3750 .dl }
n122=alias dl { var %file = $+(",$scriptdirgame files\sudoku_download.txt,") | sudoku_dl_tidy | if ($line(@sudoku_dl:cache,0) != 81) { download.game } | else { assign_dl | refresh.game | load.game %file | $sbar_txt(Game download... Complete) | window -c @sudoku_dl | window -c @sudoku_dl:cache | if ($window(@new.game)) { window -c @new.game } } }
n123=
n124=alias sudoku_dl_tidy {
n125=  if ($window(@sudoku_dl)) {
n126=    window -lh @sudoku_dl:cache | clear @sudoku_dl:cache | var %x = 1
n127=    while (%x <= $line(@sudoku_dl,0)) {
n128=      tokenize 60 $line(@sudoku_dl,%x) | var %z = 1
n129=      while (%z <= $0) {
n130=        if (*INPUT* iswm [ $ $+ [ %z ] ]) { aline @sudoku_dl:cache $iif( *VALUE* iswm [ $ $+ [ %z ] ], $remove($gettok([ $ $+ [ %z ] ],5,32),",=,value) , x) }
n131=        inc %z
n132=      }
n133=      inc %x 
n134=    }
n135=  }
n136=}
n137=
n138=
n139=;-------------------------------------
n140=;  EVENTS                                      
n141=;-------------------------------------
n142=
n143=on *:LOAD: { echo -a Thank you for loading mIRC Sudoku, I hope you enjoy playing this game as much as I do... (Jynx) }
n144=on *:UNLOAD: { if ($window(@sudoku)) window -c @sudoku | if ($window(@sudoku::cache)) window -c @sudoku::cache | if ($hget(grid.coords)) hfree grid.coords | hfree -w sudoku* | .timergame off | unset %sudoku* | unset %game_time | echo -a You have successfully unloaded mIRC Sudoku }
n145=on *:SOCKOPEN:sudoku:{ sockwrite -n $sockname GET /? HTTP/1.1 | sockwrite -n $sockname Host: play.websudoku.com $+ $crlf $+ $crlf }
n146=on *:SOCKREAD:sudoku:{ if ($sockerr) { echo -s 4Error. | halt } | else { var %dl | sockread %dl | if (%dl) { if ((*input* iswm %dl) && (*submit* !iswm %dl) && (*hidden* !iswm %dl)) { aline @sudoku_dl $remove(%dl,name=,id=,class=,maxlength=,$chr(9)) } } } }
n147=on *:KEYDOWN:@sudoku:49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,103,104,105 {
n148=  if (!$keyrpt) {
n149=    if (!%sudoku::game) {
n150=      var %coords %sudoku::active::coords | tokenize 32 %coords | .dr -rnf @sudoku::cache $c(2) 1 $calc($1 + 1) $calc($2 + 1) $calc($3 - 2) $calc($4 - 2)
n151=      if ($hget(sudoku:game,input) == pen) { .dt -rno @sudoku::cache $c(5) tahoma -7 $calc($1 + 7) $calc($2 + 5) $keychar | if ($hget(sudoku,%sudoku::active::square)) { hadd sudoku %sudoku::active::square $+($keychar,.,x) } | if ($hget(grid.coords,%sudoku::active::square)) { hadd grid.coords %sudoku::active::square $remove($ifmatch,Pencil) } }
n152=      if ($hget(sudoku:game,input) == pencil) { .dt -rno @sudoku::cache $c(7) tahoma -5 $calc($1 + 3) $calc($2 + 2) $keychar | if ($hget(grid.coords,%sudoku::active::square)) { hadd grid.coords %sudoku::active::square $ifmatch Pencil } }
n153=      .dc -n @sudoku::cache 20 35 181 182 @sudoku 20 35 | .dr -nr @sudoku $c(10) 1 %sudoku::active::coords | $sbar_txt(You have input the number $keychar $+ ...) 
n154=      .dd | drawdot @sudoku::cache
n155=    }
n156=    else { $sbar_txt(Game paused, press resume to continue...) }
n157=  }
n158=}
n159=
n160=
n161=;-------------------------------------
n162=;  POPUPS / CLICK EVENTS
n163=;-------------------------------------
n164=
n165=menu @sudoku { 
n166=  sclick: {
n167=    if ($inrect($mouse.x,$mouse.y,0,0,400,15)) { move.sudoku $calc($mouse.dx - $window(@sudoku).x) $calc($mouse.dy - $window(@sudoku).y) } 
n168=    if ($inrect($mouse.x,$mouse.y,255,143,50,9)) { if ($hget(sudoku:game,input) != pen) { hadd -m sudoku:game input pen | .dr -rfn @sudoku $c(1) 1 256 163 7 7 | .dr -rfn @sudoku $c(2) 1 256 144 7 7 | .dr -rfn @sudoku $c(2) 1 11 236 298 17 | .dt -rno @sudoku $c(7) tahoma -7 17 240 Pen function selected... | .dd } }
n169=    if ($inrect($mouse.x,$mouse.y,255,162,50,9)) { if ($hget(sudoku:game,input) != pencil) { hadd -m sudoku:game input pencil | .dr -rnf @sudoku $c(1) 1 256 144 7 7 | .dr -rnf @sudoku $c(2) 1 256 163 7 7 | .dr -rfn @sudoku $c(2) 1 11 236 298 17 | .dt -rno @sudoku $c(7) tahoma -7 17 240 Pencil function selected... | .dd } }
n170=    if ($inrect($mouse.x,$mouse.y,238,91,63,20)) { if ($hget(sudoku:game,started) != $true) { start_game } | elseif ($hget(sudoku:game,started) == $true) { if (%sudoku::game == paused) { resume_game } | else { pause_game } } }
n171=    if ($inrect($mouse.x,$mouse.y,297,3,9,9)) { var %width = $width(Resume,tahoma,-7,1,0) | window -n @sudoku | .timergame -p | .dr -rnf @sudoku $c(2) 1 239 92 61 18 | .dt -rno @sudoku $c(7) tahoma -7 $calc(((63 - %width) / 2) + 238) 95 Resume | $sbar_txt(Game paused; when window was minimised!) | set %sudoku::game paused }
n172=    if ($inrect($mouse.x,$mouse.y,308,3,9,9)) { .exit.game }
n173=    if ($inrect($mouse.x,$mouse.y,238,63,63,20)) { .new.game }
n174=    if ($inrect($mouse.x,$mouse.y,238,187,63,20)) { .check.complete }
n175=    if ($inrect($mouse.x,$mouse.y,20,35,180,180)) {
n176=      if ($hget(sudoku:game,started) == $true) {
n177=        var %x = 1
n178=        while (%x <= 9) {
n179=          var %y = 1
n180=          while (%y <= 9) {
n181=            while ($hget(grid.coords,$+(x,%x,.,y,%y))) {
n182=              tokenize 32 $ifmatch
n183=              if ($inrect($mouse.x,$mouse.y,$1,$2,$3,$4)) {
n184=                if ($timer(game)) {
n185=                  if (!%sudoku::game) {
n186=                    if (x isin $hget(sudoku,$+(x,%x,.,y,%y))) { .dc -n @sudoku::cache 20 35 181 182 @sudoku 20 35 | .dr -nr @sudoku $c(10) 1 $hget(grid.coords,$+(x,%x,.,y,%y)) | $sbar_txt(Enter chosen value between 1 - 9...) | set %sudoku::active::coords $hget(grid.coords,$+(x,%x,.,y,%y)) | set %sudoku::active::square $+(x,%x,.,y,%y) | .dd } 
n187=                    else { $sbar_txt(You can NOT input a value here...) }
n188=                  }
n189=                  else { $sbar_txt(Press resume to continue...) } 
n190=                }
n191=                else { $sbar_txt(Press start to continue...) } 
n192=              }
n193=              inc %y
n194=            }
n195=            inc %x
n196=          }
n197=        }
n198=      }
n199=      else { $sbar_txt(Press start to continue...) } 
n200=    }
n201=  }
n202=}
n203=
n204=menu @new.game {
n205=  sclick: {
n206=    if ($inrect($mouse.x,$mouse.y,20,35,60,20)) { simple.game }
n207=    if ($inrect($mouse.x,$mouse.y,20,63,60,20)) { easy.game }
n208=    if ($inrect($mouse.x,$mouse.y,20,91,60,20)) { medium.game }
n209=    if ($inrect($mouse.x,$mouse.y,20,119,60,20)) { hard.game }
n210=    if ($inrect($mouse.x,$mouse.y,20,158,60,20)) { download.game }
n211=  }
n212=}
n213=
n214=menu menubar,status,channel {
n215=  -
n216=  mIRC Sudoku
n217=  .Open: .sudoku
n218=  .Exit: .exit.game
n219=  .-
n220=  .$iif(!$window(@sudoku),$style(2)) Play
n221=  ..Simple: simple.game
n222=  ..Easy: easy.game
n223=  ..Medium: medium.game
n224=  ..Hard: hard.game
n225=  ..-
n226=  ..Download: download.game
n227=  .-
n228=  .Unload { .unload -rs $+(",$script,") }
n229=}