ROOM

ID 133

NOCYBORGS

NAME "TicTacToe"

PICT "foxttt.gif"

PICTURE ID 1 NAME "x.gif" TRANSCOLOR 0 ENDPICTURE

PICTURE ID 2 NAME "o.gif" TRANSCOLOR 0 ENDPICTURE

PICTURE ID 3 NAME "arrowl.gif" TRANSCOLOR 56 ENDPICTURE

PICTURE ID 4 NAME "arrowr.gif" TRANSCOLOR 56 ENDPICTURE

SPOT

ID 11

DONTMOVEHERE

OUTLINE 27,63 99,63 99,131 27,131

LOC 62,100

PICTS 1,0,0 ENDPICTS

SCRIPT

ON SELECT {

ME GETSPOTSTATE occ =

{1 ME SETSPOTSTATE

"ó°Je prend les X." SAY

} 0 occ == IF

}

ON LEAVE {

{ CLEARLOOSEPROPS PAINTCLEAR } NBRROOMUSERS 2 < IF

}

ENDSCRIPT

ENDSPOT

SPOT

ID 1

DONTMOVEHERE

OUTLINE 150,126 220,126 220,191 150,191

LOC 184,158

PICTS 1,0,0 2,0,0 ENDPICTS

SCRIPT

ON SELECT {{ME ITOA SAY} ME GETSPOTSTATE 2 == IF}

ENDSCRIPT

ENDSPOT

SPOT

ID 2

DONTMOVEHERE

OUTLINE 223,127 289,127 289,192 223,192

LOC 256,160

PICTS 1,0,0 2,0,0 ENDPICTS

SCRIPT

ON SELECT {{ME ITOA SAY} ME GETSPOTSTATE 2 == IF}

ENDSCRIPT

ENDSPOT

SPOT

ID 3

DONTMOVEHERE

OUTLINE 293,127 357,127 357,191 293,191

LOC 325,158

PICTS 1,0,0 2,0,0 ENDPICTS

SCRIPT

ON SELECT {{ME ITOA SAY} ME GETSPOTSTATE 2 == IF}

ENDSCRIPT

ENDSPOT

SPOT

ID 4

DONTMOVEHERE

OUTLINE 150,195 219,195 219,261 150,261

LOC 185,227

PICTS 1,0,0 2,0,0 ENDPICTS

SCRIPT

ON SELECT {{ME ITOA SAY} ME GETSPOTSTATE 2 == IF}

ENDSCRIPT

ENDSPOT

SPOT

ID 5

DONTMOVEHERE

OUTLINE 223,195 289,195 289,262 223,262

LOC 257,229

PICTS 1,0,0 2,0,0 ENDPICTS

SCRIPT

ON SELECT {{ME ITOA SAY} ME GETSPOTSTATE 2 == IF}

ENDSCRIPT

ENDSPOT

SPOT

ID 6

DONTMOVEHERE

OUTLINE 293,195 357,195 357,261 293,261

LOC 327,229

PICTS 1,0,0 2,0,0 ENDPICTS

SCRIPT

ON SELECT {{ME ITOA SAY} ME GETSPOTSTATE 2 == IF}

ENDSCRIPT

ENDSPOT

SPOT

ID 7

DONTMOVEHERE

OUTLINE 152,265 219,265 219,332 152,332

LOC 186,298

PICTS 1,0,0 2,0,0 ENDPICTS

SCRIPT

ON SELECT {{ME ITOA SAY} ME GETSPOTSTATE 2 == IF}

ENDSCRIPT

ENDSPOT

SPOT

ID 8

DONTMOVEHERE

OUTLINE 223,265 289,265 289,331 223,331

LOC 257,299

PICTS 1,0,0 2,0,0 ENDPICTS

SCRIPT

ON SELECT {{ME ITOA SAY} ME GETSPOTSTATE 2 == IF}

ENDSCRIPT

ENDSPOT

SPOT

ID 9

DONTMOVEHERE

OUTLINE 293,265 358,265 358,331 293,331

LOC 326,301

PICTS 1,0,0 2,0,0 ENDPICTS

SCRIPT

ON SELECT {{ME ITOA SAY} ME GETSPOTSTATE 2 == IF}

ENDSCRIPT

ENDSPOT

SPOT

ID 10

DONTMOVEHERE

OUTLINE 411,63 480,63 480,131 411,131

LOC 446,99

PICTS 2,0,0 ENDPICTS

SCRIPT

ON SELECT {

ME GETSPOTSTATE occ =

{1 ME SETSPOTSTATE

"ó° Je prend les O." SAY

} 0 occ == IF

}

ENDSCRIPT

ENDSPOT

SPOT

ID 12

OUTLINE 6,7 22,7 21,23 7,23

LOC 134,103

SCRIPT

ON ENTER {

"!Bienvenue au Tic-Tac-Toe!" LOCALMSG

"@350,0 Dites help pour voir les instructions" LOCALMSG

}

ON INCHAT {

playerx GLOBAL

playero GLOBAL

plt GLOBAL

pln GLOBAL

{" Je prend les X." CHATSTR =

WHOCHAT WHONAME playerx =

playerx plt = 0 pln =

} CHATSTR "ó° Je prend les X." == IF

{" Je prend les O." CHATSTR =

WHOCHAT WHONAME playero =

} CHATSTR "ó° Je prend les O." == IF

{

{

{"$1" GREPSUB ATOI sp =

pln sp SETSPOTSTATE

} CHATSTR "^([123456789])$" GREPSTR IF

} plt WHOME WHONAME == IF

} WHOCHAT WHOME == IF

{ 1 pln - pln =

{"ñ" SAY} WHOME WHONAME plt == IF

{playerx plt = }

{playero plt = } 0 pln == IFELSE

"" CHATSTR =

} CHATSTR "^[123456789]$" GREPSTR IF

{ { pw =

pw 0 GET GETSPOTSTATE ITOA

pw 1 GET GETSPOTSTATE ITOA +

pw 2 GET GETSPOTSTATE ITOA +

pwi =

{3 pln = } "000" pwi == IF

{4 pln = } "111" pwi == IF

} [ [1 2 3] [4 5 6] [7 8 9] [1 4 7] [2 5 8] [3 6 9] [1 5 9] [7 5 3] ]

FOREACH

{1 cat =

{ GETSPOTSTATE sp =

{0 cat = BREAK } 2 sp == IF

} [1 2 3 4 5 6 7 8 9] FOREACH

}3 pln > IF

{{ "!CAT WINS! MEOW!" ROOMMSG

[ "-:sob:-" "Rats!" "Boohoo!" "Not Fair!" ] 4 RANDOM GET SAY

} playerx WHOME WHONAME == IF

{ 1 reset =

[ "-:sob:-" "Rats!" "Boohoo!" "Not Fair!" ] 4 RANDOM GET SAY

} playero WHOME WHONAME == IF

} 1 cat == IF

{ { "!" USERNAME + " WINS!" + ROOMMSG

[ "All right!" "Yes!" "I'm number one!" "Yippee!" ] 4 RANDOM GET SAY

} playerx WHOME WHONAME == IF

{ 1 reset =

[ "-:sob:-" "Rats!" "Boohoo!" "Not Fair!" ] 4 RANDOM GET SAY

} playero WHOME WHONAME == IF

} 3 pln == IF

{ { "!" USERNAME + " WINS!" + ROOMMSG

[ "All right!" "Yes!" "I'm number one!" "Yippee!" ] 4 RANDOM GET SAY

} playero WHOME WHONAME == IF

{ 1 reset =

[ "-:sob:-" "Rats!" "Boohoo!" "Not Fair!" ] 4 RANDOM GET SAY

} playerx WHOME WHONAME == IF

} 4 pln == IF

{ {sp = 2 sp SETSPOTSTATE

} [1 2 3 4 5 6 7 8 9] FOREACH

0 10 SETSPOTSTATE

0 11 SETSPOTSTATE

"" playerx = "" playero = "" plt = 2 pln =

} reset IF

"" CHATSTR =

} CHATSTR "ñ" == IF

}

ON OUTCHAT {

playerx GLOBAL

playero GLOBAL

plt GLOBAL

pln GLOBAL

{ {sp = 2 sp SETSPOTSTATE

} [1 2 3 4 5 6 7 8 9] FOREACH

0 10 SETSPOTSTATE

0 11 SETSPOTSTATE

"" playerx = "" playero = "" plt = 2 pln =

} CHATSTR "reset" == IF

{ "" CHATSTR = } CHATSTR "^([123456789])$" GREPSTR IF

}

ENDSCRIPT

ENDSPOT

SPOT

ID 13

OUTLINE 6,33 23,37 25,55 6,48

LOC 134,129

SCRIPT

ON OUTCHAT {

{"@170,0 Pour commencer un jeu, prendre le X ou O ."

LOCALMSG

{ "@300,0 If they're not, say the word reset" LOCALMSG } 60 ALARMEXEC

{ "@60,91 Alors vous pouvez cliquer sur X!" LOCALMSG

"@448,90 ou vous pouvez cliquer sur O!" LOCALMSG } 240 ALARMEXEC

{ "X always moves first. To move, just click on the spot you want to move at." LOCALMSG

"Finished games are automatically detected, and appropriate messages printed." LOCALMSG } 350 ALARMEXEC

} CHATSTR "help" == IF

}

ENDSCRIPT

ENDSPOT

SPOT

ID 15

OUTLINE 236,60 258,60 258,75 236,75

LOC 247,67

ENDSPOT

DOOR

ID 16

DONTMOVEHERE

DEST 117

OUTLINE 2,351 53,351 53,382 2,382

LOC 27,366

PICTS 3,0,0 ENDPICTS

ENDDOOR

DOOR

ID 17

DONTMOVEHERE

DEST 136

OUTLINE 457,358 509,358 510,382 458,384

LOC 483,370

PICTS 4,0,0 ENDPICTS

ENDDOOR

ENDROOM