ROOM
	ID 127
	NOPAINTING
	NOCYBORGS
	NAME "*Nouveau* Scrabble"
	PICT "sboard.gif"
	PICTURE ID 3 NAME "n0.gif" ENDPICTURE
	PICTURE ID 4 NAME "n1.gif" ENDPICTURE
	PICTURE ID 5 NAME "n3.gif" ENDPICTURE
	PICTURE ID 6 NAME "n4.gif" ENDPICTURE
	PICTURE ID 7 NAME "n5.gif" ENDPICTURE
	PICTURE ID 8 NAME "n6.gif" ENDPICTURE
	PICTURE ID 9 NAME "n7.gif" ENDPICTURE
	PICTURE ID 10 NAME "n8.gif" ENDPICTURE
	PICTURE ID 11 NAME "n9.gif" ENDPICTURE
	PICTURE ID 12 NAME "n2.gif" ENDPICTURE
	PICTURE ID 21 NAME "blank.gif" TRANSCOLOR 0 ENDPICTURE
	PICTURE ID 22 NAME "sr1.gif" ENDPICTURE
	PICTURE ID 23 NAME "sr2.gif" ENDPICTURE
	PICTURE ID 24 NAME "sr3.gif" ENDPICTURE
	PICTURE ID 25 NAME "sr4.gif" ENDPICTURE
	PICTURE ID 26 NAME "sr5.gif" ENDPICTURE
	PICTURE ID 27 NAME "unl.gif" ENDPICTURE
	PICTURE ID 28 NAME "lck.gif" ENDPICTURE
	PICTURE ID 29 NAME "arrowll.gif" TRANSCOLOR 0 ENDPICTURE
	PICTURE ID 30 NAME "arrowrr.gif" TRANSCOLOR 0 ENDPICTURE
	DOOR
		ID 1
		NAME "Board"
		DONTMOVEHERE
		OUTLINE 4,1  382,1  382,378  4,378
		LOC 256,193
		SCRIPT
;Scrabble original by TJ.
;Scrabble room and rules graphics by Logan.	
ON SELECT {letter GLOBAL

{" Vous devez choisir une lettre" LOCALMSG EXIT} letter 0 == IF

{GLOBAL} [SBX CutUTile m] FOREACH
MOUSEPOS x = y =
"tile" letter & y 6 - x 12 - ADDLOOSEPROP
0 i = {a = {BREAK} a 0 GET y >= IF i++} SBX FOREACH
0 n = {b = {a n 1 + GET m = BREAK} b 0 GET x >= IF n++} SBX FOREACH
"letter" key = {m 10 / m = "word" key =} m 10 > IF
"@" y ITOA & "," & x ITOA & "  Tile " & letter & " positioned " &

{"( Ceci multipliera" & key & " by " & m ITOA & ")" &} m 1 > IF SAY

CutUTile EXEC ; Prenez- maintenant le dehors du "UsrTile" array

[[m] [key]] m = ; Pour des points purpose

0 letter =
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 2
		NAME "A-D"
		DONTMOVEHERE
		OUTLINE 385,17  399,17  399,75  385,75
		LOC 411,112
		SCRIPT
ON SELECT {{GLOBAL} [letter UsrTiles TT] FOREACH
[["A" 1 31] ["B" 3 48] ["C" 3 64] ["D" 2 79]] pack =
TT EXEC
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 3
		NAME "E-H"
		DONTMOVEHERE
		OUTLINE 401,17  419,17  419,75  401,75
		LOC 436,111
		SCRIPT
ON SELECT {{GLOBAL} [letter UsrTiles TT] FOREACH
[["E" 1 31] ["F" 4 48] ["G" 2 64] ["H" 4 79]] pack =
TT EXEC
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 4
		NAME "I-L"
		DONTMOVEHERE
		OUTLINE 422,17  439,17  439,75  422,75
		LOC 312,109
		SCRIPT
ON SELECT {{GLOBAL} [letter UsrTiles TT] FOREACH
[["I" 1 31] ["J" 3 48] ["K" 3 64] ["L" 2 79]] pack =
TT EXEC
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 5
		NAME "M-P"
		DONTMOVEHERE
		OUTLINE 441,17  457,17  457,75  441,75
		LOC 330,112
		SCRIPT
ON SELECT {{GLOBAL} [letter UsrTiles TT] FOREACH
[["M" 1 31] ["N" 1 48] ["O" 1 64] ["P" 3 79]] pack =
TT EXEC
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 6
		NAME "Q-T"
		DONTMOVEHERE
		OUTLINE 459,17  475,17  475,75  459,75
		LOC 346,112
		SCRIPT
ON SELECT {{GLOBAL} [letter UsrTiles TT] FOREACH
[["Q" 10 31] ["R" 1 48] ["S" 1 64] ["T" 1 79]] pack =
TT EXEC
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 7
		NAME "U-X"
		DONTMOVEHERE
		OUTLINE 477,17  494,17  494,75  477,75
		LOC 367,110
		SCRIPT
ON SELECT {{GLOBAL} [letter UsrTiles TT] FOREACH
[["U" 1 31] ["V" 4 48] ["W" 4 64] ["X" 8 79]] pack =
TT EXEC
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 8
		NAME "Y-BLANK"
		DONTMOVEHERE
		OUTLINE 496,17  510,17  510,62  496,62
		LOC 380,112
		SCRIPT
ON SELECT {{GLOBAL} [letter UsrTiles TT] FOREACH
[["Y" 4 31] ["Z" 10 48] ["BLANK" 0 64]] pack =
TT EXEC
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 9
		NAME "DRAW"
		DONTMOVEHERE
		OUTLINE 385,0  422,0  422,13  385,13
		LOC 300,98
		SCRIPT
ON SELECT {{GLOBAL} [UsrTiles GETTile Tile] FOREACH
{["$" "$" "$" "$" "$" "$" "$"] UsrTiles =} UsrTiles 0 == IF
0 i = {UsrTiles i GET Tile = {GETTile EXEC} Tile "$" == IF Tile UsrTiles i PUT i++} {i 7 <} WHILE
"" str = 205 x =
{lt = {str lt & str =} lt "$" <> IF "tile" lt & 483 x ADDLOOSEPROP 25 x +=} UsrTiles FOREACH

USERNAME " Vos lettres sont '" & str & "'. Veuillez prendre les tuiles!" & ROOMMSG

}
		ENDSCRIPT
		ENDDOOR
	SPOT
		ID 10
		NAME "Scripts"
		OUTLINE 390,120  435,120  435,151  390,151
		LOC 411,129
		SCRIPT
ON ENTER {{GLOBAL} [SBX ptiles NewPack GETTile CutUTile TT] FOREACH
;Scrabble Board Map
[[25 30 1 1 2 1 1 1 30 1 1 1 2 1 1 30] [50 1 20 1 1 1 3 1 1 1 3 1 1 1 20 1]
[75 1 1 20 1 1 1 2 1 2 1 1 1 20 1 1] [100 2 1 1 20 1 1 1 2 1 1 1 20 1 1 2]
[125 1 1 1 1 20 1 1 1 1 1 20 1 1 1 1] [150 1 3 1 1 1 3 1 1 1 3 1 1 1 3 1]
[175 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1] [200 30 1 1 2 1 1 1 20 1 1 1 2 1 1 30]
[225 1 1 2 1 1 1 2 1 2 1 1 1 2 1 1] [250 1 3 1 1 1 3 1 1 1 3 1 1 1 3 1]
[275 1 1 1 1 20 1 1 1 1 1 20 1 1 1 1] [300 2 1 1 20 1 1 1 2 1 1 1 20 1 1 2]
[325 1 1 20 1 1 1 2 1 2 1 1 1 20 1 1] [350 1 20 1 1 1 3 1 1 1 3 1 1 1 20 1]
[375 30 1 1 2 1 1 1 30 1 1 1 2 1 1 30]
] SBX =
; Create/Refresh the whole Tiles array
{ptiles GLOBAL
["A" "A" "A" "A" "A" "A" "A" "A" "A" "B" "B" "C" "C" "D" "D" "D" "D"
"E" "E" "E" "E" "E" "E" "E" "E" "E" "E" "E" "E" "F" "F" "G" "G"
"H" "H" "H" "H" "I" "I" "I" "I" "I" "I" "I" "I" "I" "J" "K" "L" "L" "L" "L"
"M" "M" "N" "N" "N" "N" "N" "N" "O" "O" "O" "O" "O" "O" "O" "O"
"P" "P" "Q" "R" "R" "R" "R" "R" "R" "S" "S" "S" "S" "T" "T" "T" "T"
"T" "T" "U" "U" "U" "U" "V" "V" "W" "W" "X" "Y" "Y" "Z" "BLANK" "BLANK"
] ptiles =
} NewPack DEF
{NewPack EXEC} ptiles 0 == IF
;
; Routine for letters table
{MOUSEPOS x = y =
{"@" y ITOA & "," & x ITOA & " Pour recevoir vos 7 lettres cliquer sur le bouton 'Draw' " & SAY EXIT} UsrTiles 0 == IF
[76 93 109 127] cx =
0 i ={xx ={pack i GET 0 GET letter = pack i GET 1 GET worth = BREAK} x pack i GET 2 GET <= IF i++} cx FOREACH
"" str = 0 t ={l = {str l & str =} l "$" <> IF {1 t =} letter l == IF} UsrTiles FOREACH
"@" y ITOA & "," & x ITOA & " " & {letter & " = " & worth ITOA}

{"" letter = " Désolé, vous n'avez pas cette lettre ! Vos lettres sont '" & str & "'"} t IFELSE & SAY

} TT DEF
;
; Supply one tile and take it out of the "ptiles" array
{{GLOBAL} [ptiles Tile] FOREACH
ptiles LENGTH pl =
ptiles tp =
pl RANDOM cp = ptiles cp GET Tile =
pl -- pl ARRAY tp =
0 ic = 0 xc = {{ptiles xc GET tp ic PUT ic ++} xc cp <> IF xc ++} {xc pl <=} WHILE
tp ptiles =
} GETTile DEF
;
; Routine to cut off the laid letter from the "UsrTiles" array
{{GLOBAL} [UsrTiles letter] FOREACH
{["$" "$" "$" "$" "$" "$" "$"] UsrTiles =} UsrTiles 0 == IF
0 cp = {m = {"$" UsrTiles cp PUT BREAK} m letter == IF cp ++} UsrTiles FOREACH
} CutUTile DEF
}
;
ON OUTCHAT {{GLOBAL} [UsrTiles GETTile Tile] FOREACH
{ 9 SELECT
"" CHATSTR =
} CHATSTR LOWERCASE "draw" == IF
;
{{GLOBAL} [NewPack UsrTiles] FOREACH
NewPack EXEC
0 UsrTiles =
"" letter =
; Add here, the user score counter var, to reset it
"" CHATSTR =

USERNAME " dite 'reset' pour remettre le compteur à zéro!" & ROOMMSG

} CHATSTR LOWERCASE "reset" == IF
}
		ENDSCRIPT
		ENDSPOT
	DOOR
		ID 12
		NAME "1 digit 1st counter"
		DONTMOVEHERE
		OUTLINE 437,79  448,79  448,92  437,92
		LOC 443,86
		PICTS 3,0,0 4,0,0 12,0,0 5,0,0 6,0,0 7,0,0 8,0,0 9,0,0 10,0,0 11,0,0 ENDPICTS
		SCRIPT
ON ENTER
{
	s1_1 GLOBAL
	ME s1_1 =	
}
ON SELECT
{
	s1_10 GLOBAL
		{ 0 ME SETSPOTSTATE
		s1_10 SELECT
		} { ME GETSPOTSTATE 1 + ME SETSPOTSTATE } ME GETSPOTSTATE 9 == IFELSE
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 13
		NAME "10 digit  1st counter"
		DONTMOVEHERE
		OUTLINE 424,79  435,79  435,92  424,92
		LOC 430,86
		PICTS 3,0,0 4,0,0 12,0,0 5,0,0 6,0,0 7,0,0 8,0,0 9,0,0 10,0,0 11,0,0 ENDPICTS
		SCRIPT
ON ENTER
{
	s1_10 GLOBAL
	ME s1_10 =
}
ON SELECT
{
	s1_100 GLOBAL
		{ 0 ME SETSPOTSTATE
		s1_100 SELECT
		} { ME GETSPOTSTATE 1 + ME SETSPOTSTATE } ME GETSPOTSTATE 9 == IFELSE
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 14
		NAME "100 dig 1st count"
		DONTMOVEHERE
		OUTLINE 411,79  422,79  422,92  411,92
		LOC 417,86
		PICTS 3,0,0 4,0,0 12,0,0 5,0,0 6,0,0 7,0,0 8,0,0 9,0,0 10,0,0 11,0,0 ENDPICTS
		SCRIPT
ON ENTER
{
	s1_100 GLOBAL
	ME s1_100 =
}
ON SELECT
{
	10 N =
	ME GETSPOTSTATE 1 + N % ME SETSPOTSTATELOCAL
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 15
		NAME "1 digit 2nd count"
		DONTMOVEHERE
		OUTLINE 499,79  510,79  510,92  499,92
		LOC 505,86
		PICTS 3,0,0 4,0,0 12,0,0 5,0,0 6,0,0 7,0,0 8,0,0 9,0,0 10,0,0 11,0,0 ENDPICTS
		SCRIPT
ON ENTER
{
	s2_1 GLOBAL
	ME s2_1 =
}
ON SELECT
{
	s2_10 GLOBAL
		{ 0 ME SETSPOTSTATE
		s2_10 SELECT
		} { ME GETSPOTSTATE 1 + ME SETSPOTSTATE } ME GETSPOTSTATE 9 == IFELSE
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 16
		NAME "10 digit 2nd count"
		DONTMOVEHERE
		OUTLINE 486,79  497,79  497,92  486,92
		LOC 492,86
		PICTS 3,0,0 4,0,0 12,0,0 5,0,0 6,0,0 7,0,0 8,0,0 9,0,0 10,0,0 11,0,0 ENDPICTS
		SCRIPT
ON ENTER
{
	s2_10 GLOBAL
	ME s2_10 =
}
ON SELECT
{
	s2_100 GLOBAL
		{ 0 ME SETSPOTSTATE
		s2_100 SELECT
		} { ME GETSPOTSTATE 1 + ME SETSPOTSTATE } ME GETSPOTSTATE 9 == IFELSE
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 17
		NAME "100digit 2nd count"
		DONTMOVEHERE
		OUTLINE 473,79  484,79  484,92  473,92
		LOC 479,86
		PICTS 3,0,0 4,0,0 12,0,0 5,0,0 6,0,0 7,0,0 8,0,0 9,0,0 10,0,0 11,0,0 ENDPICTS
		SCRIPT
ON ENTER
{
	s2_100 GLOBAL
	ME s2_100 =
}
ON SELECT
{
	10 N =
	ME GETSPOTSTATE 1 + N % ME SETSPOTSTATELOCAL
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 18
		NAME "1 digit 3rd count"
		DONTMOVEHERE
		OUTLINE 437,100  448,100  448,113  437,113
		LOC 443,107
		PICTS 3,0,0 4,0,0 12,0,0 5,0,0 6,0,0 7,0,0 8,0,0 9,0,0 10,0,0 11,0,0 ENDPICTS
		SCRIPT
ON ENTER
{
	s3_1 GLOBAL
	ME s3_1 =
}
ON SELECT
{
	s3_10 GLOBAL
		{ 0 ME SETSPOTSTATE
		s3_10 SELECT
		} { ME GETSPOTSTATE 1 + ME SETSPOTSTATE } ME GETSPOTSTATE 9 == IFELSE
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 19
		NAME "10digit 3rd counter"
		DONTMOVEHERE
		OUTLINE 424,100  435,100  435,113  424,113
		LOC 430,107
		PICTS 3,0,0 4,0,0 12,0,0 5,0,0 6,0,0 7,0,0 8,0,0 9,0,0 10,0,0 11,0,0 ENDPICTS
		SCRIPT
ON ENTER
{
	s3_10 GLOBAL
	ME s3_10 =
}
ON SELECT
{
	s3_100 GLOBAL
		{ 0 ME SETSPOTSTATE
		s3_100 SELECT
		} { ME GETSPOTSTATE 1 + ME SETSPOTSTATE } ME GETSPOTSTATE 9 == IFELSE
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 20
		NAME "100digit 3rd count"
		DONTMOVEHERE
		OUTLINE 411,100  422,100  422,113  411,113
		LOC 417,107
		PICTS 3,0,0 4,0,0 12,0,0 5,0,0 6,0,0 7,0,0 8,0,0 9,0,0 10,0,0 11,0,0 ENDPICTS
		SCRIPT
ON ENTER
{
	s3_100 GLOBAL
	ME s3_100 =
}
ON SELECT
{
	10 N =
	ME GETSPOTSTATE 1 + N % ME SETSPOTSTATELOCAL
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 21
		NAME "1digit 4th counter"
		DONTMOVEHERE
		OUTLINE 499,100  510,100  510,113  499,113
		LOC 505,107
		PICTS 3,0,0 4,0,0 12,0,0 5,0,0 6,0,0 7,0,0 8,0,0 9,0,0 10,0,0 11,0,0 ENDPICTS
		SCRIPT
ON ENTER
{
	s4_1 GLOBAL
	ME s4_1 =
}
ON SELECT
{
	s4_10 GLOBAL
		{ 0 ME SETSPOTSTATE
		s4_10 SELECT
		} { ME GETSPOTSTATE 1 + ME SETSPOTSTATE } ME GETSPOTSTATE 9 == IFELSE
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 22
		NAME "10digit 4th count"
		DONTMOVEHERE
		OUTLINE 486,100  497,100  497,113  486,113
		LOC 492,107
		PICTS 3,0,0 4,0,0 12,0,0 5,0,0 6,0,0 7,0,0 8,0,0 9,0,0 10,0,0 11,0,0 ENDPICTS
		SCRIPT
ON ENTER
{
	s4_10 GLOBAL
	ME s4_10 =
}
ON SELECT
{
	s4_100 GLOBAL
		{ 0 ME SETSPOTSTATE
		s4_100 SELECT
		} { ME GETSPOTSTATE 1 + ME SETSPOTSTATE } ME GETSPOTSTATE 9 == IFELSE
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 23
		NAME "100digit 4th count"
		DONTMOVEHERE
		OUTLINE 473,100  484,100  484,113  473,113
		LOC 479,107
		PICTS 3,0,0 4,0,0 12,0,0 5,0,0 6,0,0 7,0,0 8,0,0 9,0,0 10,0,0 11,0,0 ENDPICTS
		SCRIPT
ON ENTER
{
	s4_100 GLOBAL
	ME s4_100 =
}
ON SELECT
{
	10 N =
	ME GETSPOTSTATE 1 + N % ME SETSPOTSTATELOCAL
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 24
		NAME "rules"
		DONTMOVEHERE
		OUTLINE 471,1  511,1  511,13  471,13
		LOC 256,192
		PICTS 21,0,0 22,0,0 23,0,0 24,0,0 25,0,0 26,0,0 ENDPICTS
		SCRIPT
ON ENTER { doorpics GLOBAL ME doorpics = }
ON SELECT {doorpics GLOBAL
doorpics GETSPOTSTATE dst =
{-1 dst =} dst 5 > IF dst 1 + doorpics SETSPOTSTATE
}
		ENDSCRIPT
		ENDDOOR
	DOOR
		LOCKABLE
		ID 25
		NAME "room lock & enter msg"
		DONTMOVEHERE
		OUTLINE 443,1  457,1  457,13  443,13
		LOC 450,8
		PICTS 27,0,0 28,0,0 ENDPICTS
		SCRIPT
ON SELECT {
{ ME UNLOCK }
{ ME LOCK } ME ISLOCKED IFELSE
}
ON ENTER { NAKED 425 260 SETPOS

" Bienvenue au SCRABBLE ! Un provoquant jeu de mots d'amusement dans lequel vous donné 7 tuiles de lettres à la construction, exprimer et échanger des points. Examinez la règlement et lire les instructions ."LOCALMSG

" Le joueur 1 clique ou dit 'Draw' pour recevoir 7 tuiles mélangés pour le menu récepteur." LOGMSG

" S'il a les tuiles 'SCRIPTS' et mettons c'est le mot qu'il veut orthographier, il clique 'S' au dessus dans la liste d'alphabet, clique le carrer où il veut le placer, clique la lettre 'C' au dessus, du carrer encore, etc.. jusqu'à ce qu'il ait orthographié son mot." LOGMSG

" Après que vous ayez établi votre mot, supprimez ces tuiles de votre tableau de tuiles réceptrice à côté de vous" LOGMSG

"Draw encore, notez vos lettres, supprimez vos tuiles à gauche sur le tableau et changez les points pour montrer ce que vous avez juste gagné dans les points a n'importe quel joueur." LOGMSG

" Le prochain joueur fait la même chose. Quand c'est votre tour encore, cliquer ou dit 'Draw' et recevez encore vos lettres placées en arrière sur le tableau et faite la répétition." LOGMSG

}
ON INCHAT { nDoIt GLOBAL nDoIt EXEC }
		ENDSCRIPT
		ENDSPOT
	DOOR
		ID 26
		NAME "Draw"
		DONTMOVEHERE
		OUTLINE 385,0  422,0  422,13  385,13
		LOC 300,98
		SCRIPT
ON SELECT {{GLOBAL} [UsrTiles GETTile Tile] FOREACH
{["$" "$" "$" "$" "$" "$" "$"] UsrTiles =} UsrTiles 0 == IF
7 ARRAY temp =
UsrTiles LENGTH sl =
0 i = {UsrTiles i GET Tile = {GETTile EXEC} Tile "$" == IF Tile temp i PUT i++} {i sl <} WHILE
temp UsrTiles = "" str = 205 x =
{lt = {str lt & str =} lt "$" <> IF "tile" lt & 483 x ADDLOOSEPROP 25 x +=} UsrTiles FOREACH

USERNAME " Vos lettres sont maintenant '" & str & "'. Veuillez prendre les tuiles!" & ROOMMSG

}
		ENDSCRIPT
		ENDDOOR
	DOOR
		ID 27
		DONTMOVEHERE
		DEST 307
		OUTLINE 388,356  445,356  445,380  388,380
		LOC 417,367
		PICTS 29,0,0 ENDPICTS
		ENDDOOR
	DOOR
		ID 28
		DONTMOVEHERE
		DEST 305
		OUTLINE 449,357  509,357  509,380  449,380
		LOC 479,368
		PICTS 30,0,0 ENDPICTS
		SCRIPT
ON INCHAT { nDoIt GLOBAL nDoIt EXEC }
ON ENTER { { CLEARLOOSEPROPS PAINTCLEAR } NBRROOMUSERS 2 < IF }
		ENDSCRIPT
		ENDDOOR
	ENDROOM