ROOM

ID 803

PRIVATE

NOPAINTING

NOCYBORGS

NAME "BattleShip"

PICT "bship3.gif"

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

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

PICTURE ID 3 NAME "bs2.gif" TRANSCOLOR 0 ENDPICTURE

PICTURE ID 4 NAME "bs3.gif" TRANSCOLOR 0 ENDPICTURE

PICTURE ID 5 NAME "bs4.gif" TRANSCOLOR 0 ENDPICTURE

PROP PROPID 964026918 LOC 241,261 ENDPROP

PROP PROPID 964026918 LOC 331,261 ENDPROP

PROP PROPID 964026918 LOC 391,201 ENDPROP

PROP PROPID 964026918 LOC 271,171 ENDPROP

PROP PROPID 964026982 LOC 451,291 ENDPROP

PROP PROPID 964026918 LOC 421,291 ENDPROP

PROP PROPID 964026982 LOC 451,261 ENDPROP

PROP PROPID 964026982 LOC 451,231 ENDPROP

PROP PROPID 964026918 LOC 451,201 ENDPROP

PROP PROPID 964026918 LOC 451,321 ENDPROP

PROP PROPID 964026918 LOC 361,171 ENDPROP

PROP PROPID 964026918 LOC 301,141 ENDPROP

PROP PROPID 964026918 LOC 421,141 ENDPROP

PROP PROPID 964026918 LOC 241,201 ENDPROP

PROP PROPID 964026918 LOC 331,201 ENDPROP

PROP PROPID 964026918 LOC 271,321 ENDPROP

PROP PROPID 964026918 LOC 361,321 ENDPROP

PROP PROPID 964026918 LOC 391,321 ENDPROP

PROP PROPID 964026982 LOC 271,291 ENDPROP

PROP PROPID 964026918 LOC 301,291 ENDPROP

PROP PROPID 964026918 LOC 241,291 ENDPROP

PROP PROPID 964026982 LOC 271,261 ENDPROP

PROP PROPID 964026918 LOC 271,231 ENDPROP

PROP PROPID 964026918 LOC 361,261 ENDPROP

PROP PROPID 964026918 LOC 331,111 ENDPROP

PROP PROPID 964026918 LOC 361,81 ENDPROP

PROP PROPID 964026918 LOC 421,111 ENDPROP

PROP PROPID 964026918 LOC 451,81 ENDPROP

PROP PROPID 964026918 LOC 271,111 ENDPROP

PROP PROPID 964026918 LOC 241,141 ENDPROP

PROP PROPID 964026982 LOC 211,201 ENDPROP

PROP PROPID 964026982 LOC 211,171 ENDPROP

PROP PROPID 964026982 LOC 211,141 ENDPROP

PROP PROPID 964026982 LOC 211,111 ENDPROP

PROP PROPID 964026982 LOC 211,81 ENDPROP

PROP PROPID 964026918 LOC 211,291 ENDPROP

PROP PROPID 964026918 LOC 211,321 ENDPROP

PROP PROPID 964026918 LOC 211,351 ENDPROP

PROP PROPID 964026918 LOC 301,351 ENDPROP

PROP PROPID 964026918 LOC 361,351 ENDPROP

PROP PROPID 964026918 LOC 421,351 ENDPROP

PROP PROPID 964026918 LOC 481,321 ENDPROP

PROP PROPID 964026918 LOC 481,261 ENDPROP

PROP PROPID 964026918 LOC 481,201 ENDPROP

PROP PROPID 964026918 LOC 481,141 ENDPROP

PROP PROPID 964026918 LOC 391,141 ENDPROP

PROP PROPID 964026982 LOC 271,81 ENDPROP

PROP PROPID 964026982 LOC 241,81 ENDPROP

PROP PROPID 964026982 LOC 301,81 ENDPROP

PROP PROPID 964026918 LOC 331,81 ENDPROP

DOOR

ID 1

DONTMOVEHERE

OUTLINE 202,71 507,71 507,377 202,377

LOC 330,167

SCRIPT

ON ENTER {

buildBrd GLOBAL

gameBrd GLOBAL

setup GLOBAL

XProp GLOBAL

YProp GLOBAL

bship GLOBAL

deadchk GLOBAL

 

[ 211

241

271

301

331

361

391

421

451

481 ] XProp =

 

[ 81

111

141

171

201

231

261

291

321

351 ] YProp =

 

{

10 ARRAY gameBrd =

0 i =

{ 10 ARRAY gameBrd i PUT i ++ } { i 10 < } WHILE

 

0 y =

{ 0 x =

{ "~" gameBrd y GET x PUT x ++ } { x 10 < } WHILE

y ++ } { y 10 < } WHILE

} buildBrd DEF

 

{ ship =

ship 1 + size =

 

"" dir =

{

10 RANDOM whereY =

10 RANDOM whereX =

0 n =

0 s =

0 e =

0 w =

 

{

0 a = { { 1 n = } gameBrd whereY a - GET whereX GET "~" != IF a ++ } { a size < } WHILE

} { 1 n = } whereY size 1 - >= IFELSE

 

{

0 a = { { 1 s = } gameBrd whereY a + GET whereX GET "~" != IF a ++ } { a size < } WHILE

} { 1 s = } whereY 10 size - <= IFELSE

 

{

0 a = { { 1 w = } gameBrd whereY GET whereX a - GET "~" != IF a ++ } { a size < } WHILE

} { 1 w = } whereX size 1 - >= IFELSE

 

{

0 a = { { 1 e = } gameBrd whereY GET whereX a + GET "~" != IF a ++ } { a size < } WHILE

} { 1 e = } whereX 10 size - <= IFELSE

 

 

{ "N" dir += } 0 n == IF

{ "S" dir += } 0 s == IF

{ "W" dir += } 0 w == IF

{ "E" dir += } 0 e == IF

} { dir "" == } WHILE

 

{ "S" sh = } size 2 == IF

{ "D" sh = } size 3 == IF

{ "B" sh = } size 4 == IF

{ "A" sh = } size 5 == IF

 

dir STRLEN num =

dir num RANDOM 1 SUBSTRING dir =

{ 0 a = { sh gameBrd whereY a - GET whereX PUT a ++ } { a size < } WHILE } dir "N" == IF

{ 0 a = { sh gameBrd whereY a + GET whereX PUT a ++ } { a size < } WHILE } dir "S" == IF

{ 0 a = { sh gameBrd whereY GET whereX a - PUT a ++ } { a size < } WHILE } dir "W" == IF

{ 0 a = { sh gameBrd whereY GET whereX a + PUT a ++ } { a size < } WHILE } dir "E" == IF

} setup DEF

 

{

0 a =

0 b =

0 d =

0 s =

 

0 cY =

 

{ 0 cX =

{

{ 1 a = } gameBrd cY GEt cX GET "A" == IF

{ 1 b = } gameBrd cY GEt cX GET "B" == IF

{ 1 d = } gameBrd cY GEt cX GET "D" == IF

{ 1 s = } gameBrd cY GEt cX GET "S" == IF

cX ++ } { cX 10 < } WHILE

cY ++ } { cY 10 < } WHILE

 

{ "Porte-avions coulé!" LOCALMSG

"SUNK" ships 0 PUT

3 GETSPOTSTATE 1 - 3 SETSPOTSTATE } 0 a == ships 0 GET "Touché" != AND IF

 

{ "Cuirassé coulé!" LOCALMSG

"SUNK" ships 1 PUT

3 GETSPOTSTATE 1 - 3 SETSPOTSTATE } 0 b == ships 1 GET "Touché" != AND IF

 

{ "Destroyer coulé!" LOCALMSG

"SUNK" ships 2 PUT

3 GETSPOTSTATE 1 - 3 SETSPOTSTATE } 0 d == ships 2 GET "Touché" != AND IF

 

{ "Sous-marin coulé!" LOCALMSG

"SUNK" ships 3 PUT

3 GETSPOTSTATE 1 - 3 SETSPOTSTATE } 0 s == ships 3 GET "Touché" != AND IF

 

{ "Vous GAGNEZ!" LOCALMSG

 

{ "Vous avez les meilleurs points!" LOCALMSG

"!J'AI Les MEILLEURS POINTS DE: " shots ITOA + SAY

shots 4 SETSPOTSTATE } 4 GETSPOTSTATE shots > IF

 

0 2 SETSPOTSTATE

0 bship = } 0 a == 0 s == AND 0 b == AND 0 d == AND IF

 

} deadchk DEF

 

}

 

ON SELECT {

gameBrd GLOBAL

bship GLOBAL

XProp GLOBAL

YProp GLOBAL

ships GLOBAL

deadchk GLOBAL

shots GLOBAL

{

MOUSEPOS mousY = mousX =

{ 0 fX = } mousX 205 >= mousX 235 <= AND IF

{ 1 fX = } mousX 235 >= mousX 265 <= AND IF

{ 2 fX = } mousX 265 >= mousX 295 <= AND IF

{ 3 fX = } mousX 295 >= mousX 325 <= AND IF

{ 4 fX = } mousX 325 >= mousX 355 <= AND IF

{ 5 fX = } mousX 355 >= mousX 385 <= AND IF

{ 6 fX = } mousX 385 >= mousX 415 <= AND IF

{ 7 fX = } mousX 415 >= mousX 445 <= AND IF

{ 8 fX = } mousX 445 >= mousX 475 <= AND IF

{ 9 fX = } mousX 475 >= mousX 505 <= AND IF

 

{ 0 fY = } mousY 75 >= mousY 105 <= AND IF

{ 1 fY = } mousY 105 >= mousY 135 <= AND IF

{ 2 fY = } mousY 135 >= mousY 165 <= AND IF

{ 3 fY = } mousY 165 >= mousY 195 <= AND IF

{ 4 fY = } mousY 195 >= mousY 225 <= AND IF

{ 5 fY = } mousY 225 >= mousY 255 <= AND IF

{ 6 fY = } mousY 255 >= mousY 285 <= AND IF

{ 7 fY = } mousY 285 >= mousY 315 <= AND IF

{ 8 fY = } mousY 315 >= mousY 345 <= AND IF

{ 9 fY = } mousY 345 >= mousY 375 <= AND IF

 

{ { "H" gameBrd fY GET fX PUT

"!touché" LOCALMSG

964026982 XProp fX GET YProp fY GET ADDLOOSEPROP "hellfire.wav" SOUND }

{ "M" gameBrd fY GET fX PUT

"!raté" LOCALMSG

964026918 XProp fX GET YProp fY GET ADDLOOSEPROP "boomboat" SOUND } gameBrd fY GET fX GET "~" != IFELSE

deadchk EXEC

shots ++

 

{ 50 shots - ITOA " projectiles " + STATUSMSG } shots 10 % 0 == IF

 

{ "Vous avez pris trop de projectiles, vous perdez " LOCALMSG

0 bship =

0 2 SETSPOTSTATE } shots 50 >= 0 bship != AND IF

 

} { "Pas la!" STATUSMSG } gamebrd fY GET fX GET "[HM]" GREPSTR ! IFELSE

} 1 bship == IF

ENDSCRIPT

ENDDOOR

DOOR

ID 2

DONTMOVEHERE

OUTLINE 19,70 166,70 166,97 19,97

LOC 147,166

SCRIPT

ON SELECT {

buildBrd GLOBAL

gameBrd GLOBAL

setup GLOBAL

bship GLOBAL

ships GLOBAL

shots GLOBAL

 

{ "Le jeu est commencé" LOCALMSG }

{ { "Panneau Des Bâtiments " STATUSMSG

4 3 SETSPOTSTATE

1 ME SETSPOTSTATE

1 bship =

[ "Alive"

"Alive"

"Alive"

"Alive " ] ships =

0 shots =

buildBrd EXEC

"L'ordinateur installe maintenant ses bateaux. Ce processus peut prendre une seconde , svp soyez patient. " LOCALMSG

4 i =

{ i setup EXEC i -- } { i 0 > } WHILE

CLEARLOOSEPROPS }

{ 0 bship = 0 ME SETSPOTSTATE "Jeux terminé!" STATUSMSG } 0 bship == IFELSE

} 1 ME GETSPOTSTATE == 0 bship == AND IFELSE

}

 

ON ENTER {

bship GLOBAL

0 bship =

{ 0 ME SETSPOTSTATE } NBRROOMUSERS 1 <= IF

}

 

ON LEAVE {

bship GLOBAL

{ 0 ME SETSPOTSTATE } NBRROOMUSERS 1 <= 1 bship == OR IF

}

ENDSCRIPT

ENDDOOR

DOOR

ID 3

DONTMOVEHERE

OUTLINE 98,347 119,347 119,368 98,368

LOC 108,359

PICTS 1,0,0 2,0,0 3,0,0 4,0,0 5,0,0 ENDPICTS

ENDDOOR

DOOR

ID 4

DONTMOVEHERE

OUTLINE 19,107 166,107 166,134 19,134

LOC 147,203

SCRIPT

ON ENTER {

{ 50 ME SETSPOTSTATE } ME GETSPOTSTATE 0 == IF

100 RANDOM yaxis = 180 yaxis += 90 yaxis SETPOS

"Type \"Aide\" pour les instructions" LOCALMSG

"Battleship par Canonboy" STATUSMSG

[ 964026918 964026982 ] SETPROPS

}

ON SELECT {

"Meilleur Score: " ME GETSPOTSTATE ITOA + LOCALMSG

}

ON OUTCHAT {

{

"Regardez dans votre log pour les instructions. " LOCALMSG

{ LOGMSG }

[

""

"BATTLESHIP INSTRUCTIONS:"

""

"1. Cliquez dessus début, et l'ordinateur installera ses bateaux."

"2. Cliquez ou vous voudriez dans la grille pour lancer vos missile"

"3. Le jeu finit à 50 projectiles, ou quand chacun des 4 bateaux est détruits."

"4. Essayez de tirer le moins de projectiles possible et améliorer votre score!"

] FOREACH

"" CHATSTR =

} CHATSTR "Aide" == IF

}

ENDSCRIPT

ENDDOOR

ENDROOM