Hebdogiciel n°132 et n° 133

10 ! MEMICON
20 !
30 ! PAR
40 !
50 ! LACOUTURE Patrice
60 !
130 !  1986
140 !
150 CALL POKE(50688,165,8,6,10):CALL POKE(49156,198,0)
160 !
170 CALL POKE(50420,162,5,45,162,136,45,10):CALL EXEC(50420)
180 !
190 !
200 CALL CHAR(1,"0018183C3C7E7EFFFF18"):CALL CHAR(2,"0018183C5A99182442C3")
210 CALL CHAR(3,"003C7EFFFFFFFF7E3C00"):CALL CHAR(4,"000818387808FF7E3C00")
220 CALL CHAR(5,"000000040CFF7F3E0000"):CALL CHAR(6,"00080C0EFFFF0E0C0800")
230 CALL CHAR(7,"000000003010FF7E0000"):CALL CHAR(8,"1818183C7E7E4E4E4E7E")
240 CALL CHAR(9,"F8F87A7D79FDFDFEFC78"):CALL CHAR(10,"000103070F1F3F7FFF00")
250 CALL CHAR(11,"000040C1427C7C2424"):LOCATE (1,1)
260 !
270 CALL HROFF:GOSUB 1330:GOSUB 2230:CLS "bYY":CALL EXEC(50420)
280 LOCATE (1,1)
290 CALL COLOR("0bYHI"):PRINT "                MEMICON                 "
300 PRINT "                MEMICON                 "
310 CALL COLOR("0BY"):FOR I=8 TO 14 STEP 3
320 LOCATE (I,12):PRINT RPT$(RPT$(CHR$(4),2)&CHR$(5),5);CHR$(4);CHR$(4);CHR$(23)
330 LOCATE (I,11):PRINT CHR$(25)
340 NEXT
350 LOCATE (5,11):PRINT CHR$(9);RPT$(RPT$(CHR$(4),2)&CHR$(22),5);CHR$(4);
360 PRINT CHR$(4);CHR$(6)
370 LOCATE (17,11):PRINT CHR$(8);RPT$(RPT$(CHR$(4),2)&CHR$(24),5);CHR$(4);
380 PRINT CHR$(4);CHR$(7)
390 FOR I=6 TO 15 STEP 3
400 FOR J=11 TO 29 STEP 3
410 LOCATE (I,J):PRINT CHR$(3):NEXT:NEXT
420 FOR I=7 TO 16 STEP 3
430 FOR J=11 TO 29 STEP 3
440 LOCATE (I,J):PRINT CHR$(3):NEXT:NEXT
450 LOCATE (9,2):CALL COLOR("0bYH"):PRINT "JOUEUR 1":PRINT " JOUEUR 1"
460 CALL COLOR("0RYH"):LOCATE (9,31):PRINT "JOUEUR 2":LOCATE (10,31)
470 PRINT "JOUEUR 2"
480 SC(1)=0:SC(2)=0:DIM L$(5,7),S(5,7)
490 N=65:FOR Y=1 TO 4:FOR J=1 TO 6:L$(Y,J)=CHR$(N):N=N+1:NEXT:NEXT
500 !
510 DIM NB(12)
520 FOR X=1 TO 6:FOR Y=1 TO 4
530 N=INT(RND*12+1):IF NB(N)=2 THEN 530
540 IF NB(N)=1 THEN NB(N)=2
550 IF NB(N)=0 THEN NB(N)=1
560 S(Y,X)=N
570 NEXT:NEXT
580 GOSUB 2280
590 CALL COLOR("0BYH"):LOCATE (19,12):PRINT "P.LACOUTURE 1986"
600 PRINT "           P.LACOUTURE 1986"
610 CALL COLOR("0MYHL"):FOR Y=1 TO 4:FOR X=1 TO 6
620 LOCATE (3+3*Y,9+3*X):PRINT L$(Y,X);L$(Y,X)
630 LOCATE (4+3*Y,9+3*X):PRINT L$(Y,X);L$(Y,X):NEXT:NEXT
640 LOCATE (12,4):CALL COLOR("0bY")
650 PRINT SC(1):LOCATE (12,33):CALL COLOR("0RY"):PRINT SC(2)
660 CALL SOUND(10):CALL SOUND(10):PAUSE -.15:CALL SOUND(5)
670 !
680 !
690 !
700 !
710 CY=0
720 FOR J2=1 TO NJ
730 IF J2=2 THEN 770
740 LOCATE (9,2):CALL COLOR("0bYHF")
750 PRINT "JOUEUR 1":LOCATE (10,2):PRINT "JOUEUR 1":C$="b"
760 GOTO 790
770 LOCATE (9,31):CALL COLOR("0RYHF"):PRINT "JOUEUR 2":LOCATE (10,31)
780 PRINT "JOUEUR 2":C$="R"
790 CALL KEY1(A,B):CY=CY+1:IF B<>1 THEN 790 ELSE CALL TIC:A2$=CHR$(A)
800 IF ASC(A2$)<65 OR ASC(A2$)>88 THEN 790
810 FOR Y=1 TO 4:FOR X=1 TO 6
820 IF L$(Y,X)=A2$ THEN 850
830 NEXT:NEXT
840 GOTO 790
850 CALL COLOR("1BY")
860 LOCATE (3+3*Y,9+3*X):PRINT CHR$(S(Y,X));CHR$(32)
870 LOCATE (4+3*Y,9+3*X):PRINT CHR$(32);CHR$(S(Y,X))
880 CALL KEY1(A,B):CY=CY+1:IF B<>1 THEN 880 ELSE CALL TIC:A$=CHR$(A)
890 IF ASC(A$)<65 OR ASC(A$)>88 OR A$=A2$ THEN 880
900 FOR I=1 TO 4:FOR J=1 TO 6
910 IF L$(I,J)=A$ THEN 940
920 NEXT J:NEXT I
930 GOTO 880
940 LOCATE (3+3*I,9+3*J):PRINT CHR$(S(I,J));CHR$(32)
950 LOCATE (4+3*I,9+3*J):PRINT " ";CHR$(S(I,J))
960 IF S(I,J)=S(Y,X)THEN 1090
970 CALL POKE(258,255,149)
980 PAUSE -3:CALL POKE(259,45)
990 CALL COLOR("0bYH"):LOCATE (9,2):PRINT "JOUEUR 1":LOCATE (10,2)
1000 PRINT "JOUEUR 1"
1010 CALL COLOR("0RYH"):LOCATE (9,31):PRINT "JOUEUR 2":LOCATE (10,31)
1020 PRINT "JOUEUR 2"
1030 CALL COLOR("0MYHL")
1040 LOCATE (3+I*3,9+J*3):PRINT A$;A$
1050 LOCATE (4+I*3,9+J*3):PRINT A$;A$
1060 LOCATE (3+Y*3,9+X*3):PRINT A2$;A2$:LOCATE (4+Y*3,9+X*3):PRINT A2$;A2$
1070 NEXT J2:GOTO 720
1080 !
1090 CALL SOUND(5)
1100 L$(Y,X)="[":L$(I,J)="["
1110 CALL COLOR("1"&C$&"Y"):LOCATE (3+3*Y,9+3*X):PRINT CHR$(S(Y,X))
1120 LOCATE (4+3*Y,10+3*X):PRINT CHR$(S(Y,X)):CALL COLOR("1"&C$&"Y")
1130 LOCATE (3+3*I,9+3*J):PRINT CHR$(S(I,J)):LOCATE (4+3*I,10+3*J)
1140 PRINT CHR$(S(I,J))
1150 SC(J2)=SC(J2)+1
1160 CALL COLOR("0bY"):LOCATE (12,4):PRINT SC(1)
1170 CALL COLOR("0RY"):LOCATE (12,33):PRINT SC(2)
1180 IF SC(1)+SC(2)=12 THEN 1210
1190 GOTO 730
1200 !
1210 CALL SOUND(.2):CALL COLOR("0MbF"):LOCATE (4,10)
1220 IF NJ=1 THEN 1270
1230 IF SC(1)>SC(2)THEN J2=1 ELSE IF SC(2)>SC(1)THEN J2=2
1240 IF SC(1)=SC(2)THEN RUN
1250 PRINT "Le joueur";J2;"a gagne !"
1260 !A$=KEY$:RUN
1270 PRINT "Votre nombre de cycles:";CY

1280 !
1290 !
1300 !
1310 !
1320 !
1330 CALL HROFF:CLS "GBB":CALL COLOR("0WB"):CALL EXEC(50420)
1340 LOCATE (2,2):PRINT CHR$(9);CHR$(4);CHR$(4);CHR$(6)
1350 LOCATE (3,2):PRINT CHR$(3);"  ";CHR$(3):LOCATE (5,2):PRINT CHR$(8);
1360 PRINT CHR$(4);CHR$(4);CHR$(7)
1370 LOCATE (4,2):PRINT CHR$(3);"  ";CHR$(3)
1380 CALL COLOR("1GB"):LOCATE (3,3):PRINT CHR$(4):LOCATE (4,4):PRINT CHR$(4)
1390 CHAIN$="":FOR I=1 TO 12:CHAIN$=CHAIN$&CHR$(I):NEXT
1400 CALL COLOR("1Yb"):LOCATE (3,8):PRINT RPT$(CHAIN$,2)
1410 CALL COLOR("0RB"):LOCATE (5,33)
1420 PRINT CHR$(9);RPT$(CHR$(4),5);CHR$(6):LOCATE (6,33)
1430 PRINT CHR$(3);CHR$(9);CHR$(4);CHR$(6);CHR$(9);CHR$(4);CHR$(3)
1440 LOCATE (7,33):PRINT CHR$(3);CHR$(25);CHR$(4);CHR$(7);CHR$(8);CHR$(6);
1450 PRINT CHR$(3)
1460 LOCATE (8,33):PRINT CHR$(3);CHR$(8);RPT$(CHR$(4),3);CHR$(7);CHR$(3)
1470 LOCATE (9,33):PRINT CHR$(8);RPT$(CHR$(4),5);CHR$(7)
1480 CALL COLOR("0YB"):LOCATE (8,6):PRINT CHR$(9);
1490 PRINT RPT$(RPT$(CHR$(4),2)&CHR$(22),6);CHR$(4);CHR$(4);CHR$(6)
1500 LOCATE (9,6):PRINT RPT$(CHR$(3)&"  ",8):LOCATE (10,6)
1510 PRINT RPT$(CHR$(3)&"  ",8)
1520 LOCATE (11,6):PRINT CHR$(8);RPT$(CHR$(4)&CHR$(4)&CHR$(24),6);CHR$(4);
1530 PRINT CHR$(4);CHR$(7)
1540 DATA M,E,M,I,C,O,N
1550 CALL COLOR("0MBHL"):RESTORE:FOR I=1 TO 7
1560 READ A$:LOCATE (9,4+I*3):PRINT A$;A$:LOCATE (10,4+I*3):PRINT A$;A$
1570 NEXT
1580 CALL COLOR("0bB"):LOCATE (14,2):PRINT CHR$(9);RPT$(CHR$(4),3);CHR$(6)
1590 LOCATE (15,2):PRINT CHR$(8);RPT$(CHR$(4),3);CHR$(7)
1600 LOCATE (14,8):CALL COLOR("0WBH"):PRINT "Par LACOUTURE Patrice le 26/1/86"
1610 LOCATE (15,8):PRINT "Par LACOUTURE Patrice le 26/1/86"
1620 CALL SOUND(5):CALL SOUND(10):CALL SOUND(10):PAUSE -.15:CALL SOUND(5)
1630 CALL COLOR("0bB"):LOCATE (19,3):PRINT "Taper [ESC] pour les explications"
1640 CALL COLOR("0RB"):LOCATE (21,5):PRINT "Une autre touche pour jouer."
1650 CALL KEY1(A,B):C=RND:IF B=0 OR B=-1 THEN 1650
1660 IF A=27 THEN 1730
1670 RETURN
1680 !
1690 !
1700 !
1710 !
1720 !
1730 CLS:CALL COLOR("0CB")
1740 PRINT "MEMICON :"
1750 CALL COLOR("0GB"):PRINT "(Se joue a deux ou seul)"
1760 PRINT "A l'ecran s'affiche une grille dans "
1770 PRINT "laquelle sont inscrites les lettres de"
1780 PRINT "A a X. De chaque cote de cette grille"
1790 PRINT """Joueur 1"" et ""Joueur 2"" s'affichent,"
1800 PRINT "accompagnes de leur score."
1810 PRINT "Supposons que vous soyez le joueur 1:"
1820 PRINT """Joueur 1"" clignote: c'est a vous de    jouer."
1830 PRINT "Tapez une lettre, et celle_ci disparait "
1840 PRINT "dans la grille, laissant a la place un "
1850 PRINT "petit dessin. Appuyez sur une autre let-"
1860 PRINT "tre, elle laisse apparaitre un autre"
1870 PRINT "dessin. Deux cas se presentent alors :"
1880 PRINT:PRINT "  1) Les deux dessins sont differents."
1890 PRINT "     Vous entendez alors pendant trois "
1900 PRINT "     secondes un son grave, les dessins"
1910 PRINT "     sont effaces, puis le tour vient a      votre adversaire."
1920 CALL SOUND(5)
1930 CALL COLOR("0RBFI"):PRINT "Pressez une touche":CALL COLOR("0GB"):A$=KEY$
1940 PRINT "  2) Les deux dessins sont identiques :"
1950 PRINT "     Vous entendez un son different et"
1960 PRINT "     votre score augmente de 1 point."
1970 PRINT "     Les deux dessins restent sur l'"
1980 PRINT "     ecran avec votre couleur et vous        rejouez.":PRINT
1990 PRINT "Le but du jeu est de trouver le maximum de couples. Il est termin";
2000 PRINT "e lorsque "
2010 PRINT "les douze couples ont ete trouves."
2020 PRINT "L'ordinateur annonce le gagnant apres unavertissement sonore et le"
2030 PRINT "jeu reprend au depart ."
2040 PRINT "Si les deux joueurs sont a egalite, il  n'affichera rien."
2050 PRINT "Dans les deux cas vous devez appuyer    sur une touche pour ";
2060 PRINT "recommencer."
2070 PRINT:PRINT:PRINT:PRINT
2080 CALL SOUND(5):CALL COLOR("0RBIF"):PRINT "Pressez une touche."
2090 A$=KEY$:CALL COLOR("0GB"):PRINT "Si vous choisissez de jouer seul, vous "
2100 PRINT "devrez aller le plus vite possible !"
2110 PRINT "Votre temps sera compte ! Non pas en "
2120 PRINT "secondes mais en ""cycles programme"""
2130 PRINT "(10 secondes correspondent environ a 115cycles-programme)."
2140 PRINT:PRINT "Bon amusement !"
2150 FOR I=1 TO 13:PRINT:NEXT
2160 CALL SOUND(5):CALL COLOR("0RBFI"):PRINT "Presser une touche.":A$=KEY$
2170 GOTO 1330
2180 !
2190 !
2200 !
2210 !
2220 !
2230 CALL COLOR("0CB"):PRINT "Combien de joueurs ?";
2240 !
2250 CALL COLOR("0RB"):INPUT " ";NJ
2260 IF NJ>2 OR NJ<1 THEN 2230
2270 RETURN
2280 IF NJ=2 THEN RETURN
2290 LOCATE (8,1):CALL COLOR("0BY")
2300 PRINT CHR$(9);RPT$(CHR$(4),8);CHR$(6)
2310 PRINT CHR$(3):LOCATE (9,10):PRINT CHR$(3):PRINT CHR$(3):LOCATE (10,10)
2320 PRINT CHR$(3)
2330 PRINT CHR$(8);RPT$(CHR$(4),8);CHR$(7):RETURN
2340 !
2350 !
2360 !
2370 !
2380 !
2390 !
2400 !
2410 SUB SOUND(A)
2420 FOR Y=260 TO 510 STEP A
2430 CALL POKE(258,Y,132):NEXT
2440 CALL POKE(259,45):SUBEND
2450 SUB TIC:CALL SPEECH("L,0D7C8BAABAB602FC")
2460 SUBEND

 

 

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.