ROOM
ID 4889
NAME "Puissance 4"
PICT "cfour1.gif"
PICTURE ID 1 NAME "onep.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 2 NAME "c4b.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 3 NAME "c4r.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 4 NAME "c4bb.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 5 NAME "c4rb.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 6 NAME "c4br.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 8 NAME "c4rr.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 9 NAME "c4bbb.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 10 NAME "c4rbb.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 11 NAME "c4brb.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 12 NAME "c4rrb.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 13 NAME "c4bbr.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 14 NAME "c4rbr.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 15 NAME "c4brr.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 16 NAME "c4rrr.gif" TRANSCOLOR 0 ENDPICTURE
PICTURE ID 17 NAME "twrarr.gif" TRANSCOLOR 0 ENDPICTURE
SPOT
ID 1
OUTLINE 161,205 163,205 163,207 161,207
LOC 162,206
PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 8,0,0 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS
ENDSPOT
SPOT
ID 2
OUTLINE 191,205 193,205 193,207 191,207
LOC 192,206
PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 8,0,0 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS
ENDSPOT
SPOT
ID 3
OUTLINE 221,205 223,205 223,207 221,207
LOC 222,206
PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 8,0,0 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS
ENDSPOT
SPOT
ID 4
OUTLINE 251,205 253,205 253,207 251,207
LOC 252,206
PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 8,0,0 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS
ENDSPOT
SPOT
ID 5
OUTLINE 281,205 283,205 283,207 281,207
LOC 282,206
PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 8,0,0 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS
ENDSPOT
SPOT
ID 6
OUTLINE 311,205 313,205 313,207 311,207
LOC 312,206
PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 8,0,0 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS
ENDSPOT
SPOT
ID 7
OUTLINE 341,205 343,205 343,207 341,207
LOC 342,206
PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 8,0,0 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS
ENDSPOT
SPOT
ID 8
OUTLINE 161,115 163,115 163,117 161,117
LOC 162,116
PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 8,0,0 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS
ENDSPOT
SPOT
ID 9
OUTLINE 191,115 193,115 193,117 191,117
LOC 192,116
PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 8,0,0 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS
ENDSPOT
SPOT
ID 10
OUTLINE 221,115 223,115 223,117 221,117
LOC 222,116
PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 8,0,0 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS
ENDSPOT
SPOT
ID 11
OUTLINE 251,115 253,115 253,117 251,117
LOC 252,116
PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 8,0,0 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS
ENDSPOT
SPOT
ID 12
OUTLINE 281,115 283,115 283,117 281,117
LOC 282,116
PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 8,0,0 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS
ENDSPOT
SPOT
ID 13
OUTLINE 311,115 313,115 313,117 311,117
LOC 312,116
PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 8,0,0 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS
ENDSPOT
SPOT
ID 14
OUTLINE 341,115 343,115 343,117 341,117
LOC 342,116
PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 6,0,0 8,0,0 9,0,0 10,0,0 11,0,0 12,0,0 13,0,0 14,0,0 15,0,0 16,0,0 ENDPICTS
ENDSPOT
SPOT
ID 15
NAME "board"
DONTMOVEHERE
OUTLINE 133,32 371,32 371,250 133,250
LOC 252,141
PICTS 1,0,0 17,-90,-95 17,-60,-95 17,-30,-95 17,0,-95 17,30,-95 17,60,-95 17,90,-95 ENDPICTS
SCRIPT
;~MediaList~;fhclick
ON INCHAT { mytrn GLOBAL
{ { 1 mytrn = 1 ME SETALARM }
{ 0 mytrn = 0 ME SETSPOTSTATELOCAL
} 18 GETSPOTSTATE 15 + GETSPOTSTATE WHOME == IFELSE
} CHATSTR ")fhclick" == IF
}
ON ALARM { mytrn GLOBAL
{ MOUSEPOS POP 146 - 30 / x =
{ 0 x = } x 0 < IF
{ 6 x = } x 6 > IF
x 1 + ME SETSPOTSTATELOCAL
20 ME SETALARM
} mytrn IF
}
ON ENTER { getspot GLOBAL 0 255 0 PENCOLOR 8 PENSIZE
{ gy = gx = gy 3 < 7 * gx + 1 + gsp =
gsp GETSPOTSTATE gsv =
gy 3 % gy =
{ 0 }
{ [ " 7 9 11 13 " " 3 5 7 8 11 12 " " 1 3 4 7 8 9 10 "
] gy GET " " gsv ITOA & " " & SUBSTR 1 +
} gsv [ 7 3 1 ] gy GET < IFELSE
} getspot DEF
}
ON SELECT { getspot GLOBAL mytrn GLOBAL
{ MOUSEPOS 71 - 30 / y = 146 - 30 / x =
-1 y = 0 z =
{ y ++ x y getspot EXEC z =
{ 1 z = } y 6 == IF
} { z NOT } WHILE
y --
{ y 3 < 7 * x + 1 + gsp =
gsp GETSPOTSTATE gsv =
gsv 2 * 3 18 GETSPOTSTATE - + gsp SETSPOTSTATE
;x & y are dropped checker spot
0 win = 0 stale = 18 GETSPOTSTATE colr =
;win detection
{ EXEC sx = sy = 0 ndl = 0 rdl = colr fcv =
{ ndl ++ x sx ndl * + lx = y sy ndl * + ly =
{ lx ly getspot EXEC fcv = }
{ 0 fcv = } lx 0 >= lx 7 < AND ly 0 >= ly 6 < AND AND IFELSE
} { fcv colr == } WHILE
ndl -- colr fcv =
{ rdl ++ x sx rdl * - lx = y sy rdl * - ly =
{ lx ly getspot EXEC fcv = }
{ 0 fcv = } lx 0 >= lx 7 < AND ly 0 >= ly 6 < AND AND IFELSE
} { fcv colr == } WHILE
rdl --
{ 1 win = x 30 * 157 + y 30 * 82 + PENPOS
sx -30 * rdl * sy -30 * rdl * PENTO
sx 30 * rdl ndl + * sy 30 * rdl ndl + * LINETO
} ndl rdl + 2 > IF
} [ { -1 -1 } { -1 0 } { 1 -1 } { 0 -1 } ] FOREACH
{ ")applause @240,280 !" USERNAME " a gagné!" & & ROOMMSG
mytrn GLOBAL 0 mytrn =
{ { cr ++ 0 cr SETSPOTSTATE } { cr 18 < } WHILE
")fhclick" SAY PAINTCLEAR
} 200 ALARMEXEC
} win IF
;stalemate detection
{ { GETSPOTSTATE 6 > stale +=
} [ 8 9 10 11 12 13 14 ] FOREACH
stale 6 == x 8 + GETSPOTSTATE 7 < y 0 == AND AND
stale 7 == OR stale =
{ "@240,100 !Impasse" ROOMMSG
{ { cr ++ 0 cr SETSPOTSTATE } { cr 18 < } WHILE
")fhclick" SAY "@240,200 Jeu terminé" SAY
} 200 ALARMEXEC
} stale IF
} win NOT IF
;turn over to other player, if game is not ended--
{ 3 18 GETSPOTSTATE - 18 SETSPOTSTATE
0 ME SETSPOTSTATELOCAL
")fhclick" SAY 0 mytrn =
} win NOT stale NOT AND IF
} y -1 > IF
} mytrn IF
}
; "fhclick.wav-*"
ENDSCRIPT
ENDSPOT
SPOT
ID 16
NAME "red"
DONTMOVEHERE
OUTLINE 132,251 188,251 188,291 132,291
LOC 256,258
SCRIPT
ON SELECT {
{ WHOME ME SETSPOTSTATE
"@155,265 " USERNAME " au rouge à jouer" & & ROOMMSG
{ 1 ME SETALARM
} 17 GETSPOTSTATE WHONAME "" != IF
} ME GETSPOTSTATE WHONAME "" == IF
}
ON ALARM {
2 RANDOM pl = "@216,180 !"
[ "Rouge" "noir" ] pl GET " Débute la partie !" & & ROOMMSG
pl 1 + 18 SETSPOTSTATE
")fhclick" SAY "fhclick" SOUND
}
ENDSCRIPT
ENDSPOT
SPOT
ID 17
NAME "black"
DONTMOVEHERE
OUTLINE 312,251 371,251 371,290 312,290
LOC 310,234
SCRIPT
ON SELECT {
{ WHOME ME SETSPOTSTATE
"@340,265 " USERNAME " au noir à jouer" & & ROOMMSG
{ 1 16 SETALARM
} 16 GETSPOTSTATE WHONAME "" != IF
} ME GETSPOTSTATE WHONAME "" == IF
}
ENDSCRIPT
ENDSPOT
SPOT
ID 18
DONTMOVEHERE
OUTLINE 189,251 311,251 311,291 189,291
LOC 256,195
SCRIPT
ON ENTER { "Script modifié par Canonboy" STATUSMSG
"Pour distribution gratuite seulement!" LOGMSG
}
ON SELECT {
{ 16 GETSPOTSTATE WHONAME rn =
17 GETSPOTSTATE WHONAME bn =
{ { cr ++ 0 cr SETSPOTSTATE } { cr 18 < } WHILE
")fhclick" SAY "Jeu redémarré" ROOMMSG
} rn "" == bn "" == OR
rn USERNAME == bn USERNAME == OR OR
ISWIZARD OR IF
}
{ ;aide
"Instructions dans le log!" STATUSMSG
"Pour commencer un jeu, cliquez dessus la couleur du contrôleur que vous voulez jouer. " LOGMSG
"Après que les deux couleurs est été sélectionnées, vous entendrez un ou deux déclics, et l'annonce à qui est premier a jouer." LOGMSG
"Quand c'est votre tour, une flèche apparaît au-dessus,suivant votre souris." LOGMSG
"Mouvement juste sur la colonne que vous voulez laisser tomber votre contrôleur vers le bas et cliquez dessus. " LOGMSG
"Les victoires et les impasse sont automatiquement détectées et prenne fin. " LOGMSG
"Pour redémarrer le jeu, cliquez sur le bouton reset." LOGMSG
"2. vous êtes un joueur " LOGMSG
"3. vous êtes dans la pièce et un ou les deux joueurs du dernier jeu sont partie ." LOGMSG
} MOUSEPOS POP 256 < IFELSE
}
ENDSCRIPT
ENDSPOT
SPOT
ID 19
OUTLINE 493,2 511,2 511,20 493,20
LOC 382,98
ENDSPOT
ENDROOM