Hebdogiciel n°126 à 127

10 !*******************!
20 !                   !
30 !    TERRITOIRE     !
40 !                   !
50 ! par REMY  PEYRIN  !
60 !                   !
70 !                   !
80 !                   !
90 !*******************!
100 CALL POKE(50688,165,8,6,10):CALL POKE(49156,198,0)
110 CLS "RBB"
120 CALL POKE(50432,162,5,45,162,136,45,10,162,5,45,162,200,45,10)
130 CALL EXEC(50432)
140 CALL CHAR(1,"18183C7EE7E77E3C1818")
150 CALL CHAR(2,"7E3C99DBFFFFDB993C7E")
160 TITRE$="TTEERRRRIITTOOIIRREE"
170 A$="0E683FC7031EF040043CE0010F78C00216B040042C60010F5840031AD08006FE"
180 !
190 ! regles succinctes
200 !
210 CALL COLOR("0RBHLI")
220 LOCATE (1,1):PRINT "          "&TITRE$&"          "
230 LOCATE (2,1):PRINT "          "&TITRE$&"          "
240 CALL COLOR("0GB")
250 LOCATE (5,1)
260 PRINT "Ce jeu necessite les deux manettes et   deux joueurs."
270 CALL COLOR("1YB"):PRINT:PRINT "le joueur jaune ";CHR$(1);
280 CALL COLOR("1RB"):PRINT "  le joueur rouge ";CHR$(2)
290 CALL COLOR("0MB")
300 PRINT:PRINT "BUT DU JEU:tenir le plus longtemps sans"
310 PRINT "           percuter la trace de l'adver-"
320 PRINT "           -saire ni  la sienne."
330 CALL COLOR("0GB")
340 PRINT:PRINT "La rencontre d'un bord genere un virage"
350 PRINT "dans un certain sens mais la commande   des manettes est prioritaire"
360 CALL COLOR("0CB"):PRINT "Le gagnant est celui qui obtient le"
370 PRINT "premier 10 pts (nb de fautes de l'adver-saire)"
380 CALL COLOR("0RBIF"):PRINT:PRINT "      APPUYER SUR UNE TOUCHE S.V.P.     "
390 IF KEY$="" THEN 330
400 !
410 ! mise en place du terrain
420 !
430 CALL POKE(259,45):RESTORE 1780:CLS "CBB":DIM T(22,41)
440 SC1=0:SC2=0
450 CALL COLOR("0bb")
460 LOCATE (1,1):PRINT "                                        "
470 FOR I=1 TO 40:T(1,I)=1:NEXT I
480 FOR I=2 TO 20
490 LOCATE (I,1):PRINT CHR$(160):LOCATE (I,40):PRINT CHR$(160)
500 T(I,1)=1:T(I,40)=1
510 NEXT I
520 LOCATE (21,1):PRINT "                                        "
530 FOR I=1 TO 40:T(21,I)=1:NEXT I
540 CALL COLOR("0RbL")
550 LOCATE (1,10):PRINT TITRE$
560 CALL COLOR("0YL")
570 LOCATE (21,2):PRINT "SSCCOORREE::00"
580 CALL COLOR("0RL")
590 LOCATE (21,24):PRINT "SSCCOORREE::00"
600 RANDOMIZE:X1=INTRND(8)+8:Y1=INTRND(38)+1
610 RANDOMIZE:X2=INTRND(8)+8:Y2=INTRND(38)+1
620 CALL COLOR("1YB"):LOCATE (X1,Y1):PRINT CHR$(1):T(X1,Y1)=2
630 CALL COLOR("1RB"):LOCATE (X2,Y2):PRINT CHR$(2):T(X2,Y2)=2
640 CALL COLOR("0MBLHIF"):LOCATE (5,7):PRINT "**  AATTTTEENNTTIIOONN  **"
650 LOCATE (6,7):PRINT "**  AATTTTEENNTTIIOONN  **"
660 CALL COLOR("0MI")
670 LOCATE (17,2):PRINT "  les deux manettes doivent indiquer  "
680 LOCATE (18,2):PRINT "une direction pour que le jeu commence"
690 CALL KEY1(A,B)
700 CALL KEY2(C,D)
710 IF A<128 OR A>131 OR C<128 OR C>131 THEN 690
720 CALL COLOR("0BB")
730 LOCATE (5,7):PRINT "                           "
740 LOCATE (6,7):PRINT "                           "
750 LOCATE (17,2):PRINT "                                      "
760 LOCATE (18,2):PRINT "                                      "
770 !
780 ! le jeu
790 !
800 CALL KEY1(AA,B):IF AA>=128 AND AA<=131 THEN A=AA
810 IF AA=255 THEN DX1=DX1:DY1=DY1:GOTO 830
820 DX1=(A=128)-(A=130):DY1=(A=131)-(A=129)
830 X1=X1+DX1:Y1=Y1+DY1
840 IF T(X1,Y1)=1 THEN GOTO 990 ELSE IF T(X1,Y1)=2 THEN 1230
850 CALL COLOR("1YB"):LOCATE (X1,Y1):PRINT CHR$(1):T(X1,Y1)=2
860 CALL POKE(259,45)
870 CALL KEY2(AA,B):IF AA>=128 AND AA<=131 THEN A=AA
880 IF AA=255 THEN DX2=DX2:DY2=DY2:GOTO 900
890 DX2=(A=128)-(A=130):DY2=(A=131)-(A=129)
900 X2=X2+DX2:Y2=Y2+DY2
910 IF T(X2,Y2)=1 THEN GOTO 1110 ELSE IF T(X2,Y2)=2 THEN 1320
920 CALL COLOR("1RB"):LOCATE (X2,Y2):PRINT CHR$(2):T(X2,Y2)=2
930 READ M:IF M=999 THEN RESTORE 1780:GOTO 950
940 CALL POKE(258,M,132)
950 GOTO 800

960 !
970 ! jaune rencontre un bord
980 !
990 IF DX1<>0 THEN 1040
1000 Y1=Y1+(DY1=1)-(DY1=-1)
1010 IF T(X1-1,Y1)=0 THEN DX1=-1 ELSE IF T(X1+1,Y1)=0 THEN DX1=1
1020 DY1=0
1030 GOTO 830
1040 X1=X1+(DX1=1)-(DX1=-1)
1050 IF T(X1,Y1+1)=0 THEN DY1=1 ELSE IF T(X1,Y1-1)=0 THEN DY1=-1
1060 DX1=0
1070 GOTO 830
1080 !
1090 ! rouge rencontre un bord
1100 !
1110 IF DX2<>0 THEN 1160
1120 Y2=Y2+(DY2=1)-(DY2=-1)
1130 IF T(X2-1,Y2)=0 THEN DX2=-1 ELSE IF T(X2+1,Y2)=0 THEN DX2=1
1140 DY2=0
1150 GOTO 900
1160 X2=X2+(DX2=1)-(DX2=-1)
1170 IF T(X2,Y2-1)=0 THEN DY2=-1 ELSE IF T(X2,Y2+1)=0 THEN DY2=1
1180 DX2=0
1190 GOTO 900
1200 !
1210 ! collision du jaune
1220 !
1230 CALL POKE(259,45):CALL SPEECH("L,"&A$)
1240 CALL COLOR("1YBF"):LOCATE (X1,Y1):PRINT CHR$(1)
1250 SC2=SC2+1:S$=STR$(SC2):S$=S$&S$:IF SC2=10 THEN S$="1100"
1260 CALL COLOR("0RbL"):LOCATE (21,36):PRINT S$
1270 GOSUB 1410
1280 GOTO 600

1290 !
1300 ! collision du rouge
1310 !
1320 CALL POKE(259,45):CALL SPEECH("L,"&A$)
1330 CALL COLOR("1RBF"):LOCATE (X2,Y2):PRINT CHR$(2)
1340 SC1=SC1+1:S$=STR$(SC1):S$=S$&S$:IF SC1=10 THEN S$="1100"
1350 CALL COLOR("0YbL"):LOCATE (21,14):PRINT S$
1360 GOSUB 1410
1370 GOTO 600
1380 !
1390 ! R.A.Z du tableau
1400 !
1410 FOR I=2 TO 20:FOR J=2 TO 39
1420 T(I,J)=0
1430 NEXT J:NEXT I
1440 CALL COLOR("0BB"):FOR I=2 TO 20
1450 LOCATE (I,2):PRINT "                                      ":NEXT I
1460 IF SC1=10 OR SC2=10 THEN 1510
1470 RETURN
1480 !
1490 ! fin du jeu
1500 !
1510 IF SC1=10 THEN G$="      JJAAUUNNEE      ":CALL COLOR("0YHLI")
1520 IF SC2=10 THEN G$="      RROOUUGGEE      ":CALL COLOR("0RHLI")
1530 LOCATE (6,9):PRINT "  LLEE  JJOOUUEEUURR  "
1540 LOCATE (7,9):PRINT "  LLEE  JJOOUUEEUURR  "
1550 LOCATE (8,9):PRINT G$
1560 LOCATE (9,9):PRINT G$
1570 LOCATE (10,9):PRINT "      GGAAGGNNEE      "
1580 LOCATE (11,9):PRINT "      GGAAGGNNEE      "
1590 CALL COLOR("0MLI")
1600 LOCATE (16,2)
1610 PRINT "  UUNNEE  AAUUTTRREE  PPAARRTTIIEE  ??"
1620 LOCATE (17,2)
1630 PRINT "OOUUII  ---->>  11  NNOONN  ---->>  22"
1640 RESTORE 1980
1650 CALL KEY1(A,B)
1660 READ M,N:IF M=999 THEN RESTORE 1980:GOTO 1650
1670 IF M=0 THEN PAUSE .1:GOTO 1650
1680 CALL POKE(258,M,132):PAUSE N/28:CALL POKE(259,45)
1690 IF A=49 THEN 430 ELSE IF A=50 THEN 1700 ELSE 1650
1700 CALL POKE(259,45)
1710 CLS "GBB"
1720 CALL COLOR("0RBHLIF")
1730 LOCATE (10,10)
1740 PRINT "  AA  BBIIEENNTTOOTT  "
1750 LOCATE (11,10)
1760 PRINT "  AA  BBIIEENNTTOOTT  "
1770 END
1780 !
1790 ! DATAS MUSIQUE JEU
1800 !
1810 DATA 109,82,69,61,58,52,58,61,69
1820 DATA 109,92,82
1830 DATA 73,69,73,92,82
1840 DATA 92,82,92,122,109
1850 DATA 109,82,69,61,58,52,58,61,69
1860 DATA 109,92,82
1870 DATA 92,82,92,122,109
1880 DATA 73,69,73,92,82,41,34,41,52
1890 DATA 61,54,52,49,46,41,46,54,69
1900 DATA 61,58,54,52,61,73,69,61,58
1910 DATA 54,58,54,52,46,46,49,46,43
1920 DATA 41,34,41,52,61,61,54,52,49
1930 DATA 46,54,69,61,58,54,52,41,52
1940 DATA 61,73,46,52,54,999
1950 !
1960 ! MUSIQUE FIN
1970 !
1980 DATA 103,4,103,4,97,4,86,4,86,4,97,4,103,4,116,4,130,4
1990 DATA 130,4,116,4,103,4,103,6,116,4,116,8,0,0
2000 DATA 103,4,103,4,97,4,86,4,86,4,97,4,103,4,116,4,130,4
2010 DATA 130,4,116,4,103,4,103,6,116,4,116,8
2020 DATA 116,4,116,4,103,4,130,4,116,4,103,2,97,2,103,4,130,4,116,4
2030 DATA 103,2,97,2,103,4,116,4,130,4,116,4,173,4,103,8
2040 DATA 103,4,97,4,86,4,86,4,97,4,103,4,116,4,130,4,130,4,116,4,103,4
2050 DATA 116,6,130,2,130,8,999,999

Ce listing est uniquement proposé pour un usage privé.
Sans accord écrit préalable, vous n'êtes pas autorisé à le distribuer, le transmettre ou le rediffuser.