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=}