mirror of
https://github.com/antoinevignau/source.git
synced 2024-06-14 09:29:32 +00:00
151 lines
9.5 KiB
Plaintext
151 lines
9.5 KiB
Plaintext
10 OPENOUT"q":MEMORY&27BF:CLOSEOUT:LOAD"kikekan.bin",&2800:CALL&2800:MEMORY&37BF:CALL&BD37:CLEAR
|
||
15 PAPER0:BORDER0:INK1,6:INK0,0:MODE1:CLS:PRINT:PRINT:PRINT:PRINT:PRINT:GOSUB10400:PRINT:PRINT:PRINT:PRINT" APPUYEZ SUR ENTER":PRINT:PRINT:PRINT:PRINT" Copyright LORICIELS Mars 1985";
|
||
19 IFINKEY$<>CHR$(13)THEN19
|
||
20 CLS:INK0,13:INK1,0:WINDOW#0,1,40,2,6:PAPER1:PEN0:CLS:WINDOW#1,26,40,7,24:PEN#1,0:PAPER#1,1:CLS#1:WINDOW#2,26,40,25,25:PAPER#2,1:PEN#2,0:CLS#2:C=999:WINDOW#3,1,25,7,25:WINDOW#4,1,40,1,1:PLOT0,0:DRAW398,0,1:DRAW398,298:DRAW0,298:DRAW0,0
|
||
25 PLOT0,300:DRAW398,300:DRAW398,302:DRAW0,302:PRINT#4," *** Bienvenue a KIKEKANKOI ***";:PRINT#1:PRINT#1,"***************":PRINT#1,"Et rappellez - ":PRINT#1,"vous qu'une ":PRINT#1,"jeune fille a ":PRINT#1,"besoin de votre":PRINT#1,"aide..."
|
||
28 PRINT#1:PRINT#1,"***************":FORI=&7EC0TO&7EFF:POKEI,0:NEXT:FORI=&7F31TO&7F60:POKEI,0:NEXT:POKE&7FDF,1:RANDOMIZETIME:P=0:PRINT:PRINT" VOULEZ-VOUS CHARGER UNE ANCIENNE PARTIE (O/N)"
|
||
45 X$=INKEY$:X$=UPPER$(X$):IFX$<>"N"ANDX$<>"O"THEN45
|
||
60 IFX$="N"THEN90
|
||
70 CLS:PRINT:PRINT"PREPARER VOTRE PROGRAMME.":CLEAR:LOAD"kikekan.mem",&7EB0:CLEAR:P=1:C=PEEK(&7EB0)+256*PEEK(&7EB1):S=PEEK(&7EB2)
|
||
90 GOSUB8000:PRINT#2,"ENERGIE: ";USING"##.#";C/10;:CLS:EVERY150,1GOSUB15000:GOTO102
|
||
100 CALL&82B9
|
||
102 SA=PEEK(&7FDF):IFSA=10ORSA=15ORSA=22ORSA=54THENPOKE&7F42,1ELSEPOKE&7F42,0
|
||
106 IFPEEK(&7F0A)=255ORPEEK(&7F0A)=SATHEN200
|
||
108 IFPEEK(&7F42)=0THEN200
|
||
110 A=PEEK(&7F39):IFA>1THENA=A-1:POKE(&7F39),A
|
||
120 LOCATE#3,3,9:PRINT#3,"Il fait trop sombre":LOCATE#3,4,12:PRINT#3,"pour voir ce lieu":CLS#1:CLS#4:GOTO500
|
||
200 POKE&7000,SA:CALL&8304:AD=PEEK(&7000)+256*PEEK(&7001):CLS#4:CLS#1
|
||
210 PRINT#4,CHR$(PEEK(AD));:AD=AD+1:IFPEEK(AD)<>0ANDPEEK(AD)<>255THEN210
|
||
220 CALL&8100:P=1:G=0:BR=2:CLS#1
|
||
310 G=G+1:IFPEEK(&7F00+G)<>SATHEN330
|
||
317 IFP=1THENPRINT#1," Ici il y a : ":P=0
|
||
324 PRINT#1,O$(G);:IFLEN(O$(G))<>15THENPRINT#1
|
||
330 IFG<OTHEN310
|
||
340 IFR=1THENR=0:GOTO530
|
||
500 GOSUB3400:IFPEEK(&7F31)=1THENN=42:GOSUB2100:GOTO18000
|
||
503 IFPEEK(&7F32)=1THENN=43:GOSUB2100:GOTO18000
|
||
506 IFPEEK(&7F33)=1ANDPEEK(&7F0A)=255THENN=44:GOSUB2100:GOTO18000
|
||
509 IFPEEK(&7F33)=1ANDPEEK(&7F0A)=PEEK(&7FDF)THENN=44:GOSUB2100:GOTO18000
|
||
512 IFPEEK(&7F39)=1THENN=45:GOSUB2100:GOTO18000
|
||
515 IFPEEK(&7F52)=1ANDPEEK(&7F53)=1ANDPEEK(&7F55)=0THENPOKE&7F55,1:POKE&7F51,1
|
||
517 IFPEEK(&7F34)=1THENN=57:GOSUB2100:GOTO18000
|
||
519 IFPEEK(&7F36)=1THENN=58:GOSUB2100:GOTO18000
|
||
521 IFRND(1)*99<20ANDPEEK(&7F4E)=1ANDPEEK(&7F54)=0THENN=60:GOSUB2100:GOTO18000
|
||
523 IFPEEK(&7F1A)=255ANDPEEK(&7F1B)=255ANDPEEK(&7F22)=255THENN=34:GOSUB2000:POKE&7F22,0
|
||
530 PRINT">";CHR$(95);:X$="":X=0
|
||
531 K$=INKEY$:IFK$=""THEN531
|
||
532 IFK$=CHR$(13)THEN541
|
||
533 IFK$=CHR$(127)THEN537
|
||
534 IFASC(K$)<32ORASC(K$)>126THEN531
|
||
535 IFX=37THEN531
|
||
536 X$=X$+K$:X=X+1:PRINTCHR$(8);K$;CHR$(95);:GOTO531
|
||
537 IFX=0THEN531
|
||
538 X=X-1:PRINTCHR$(8);CHR$(8);"_ ";CHR$(8);:X$=LEFT$(X$,X):GOTO531
|
||
541 PRINTCHR$(8);" ":X$=" "+X$+" ":X$=UPPER$(X$)
|
||
544 DATA" JE "," TU "," DANS "," LE "," LA "," LES "," L'"," AU "," A "," DES "," UN "," UNE "," DE "," PAR "," J'"," DU "," CHEZ "," MA "," MON "," MES "
|
||
545 RESTORE544:FORI=1TO20:READA$:K=INSTR(X$,A$):A=LEN(A$):IFK=0THEN560
|
||
555 X=LEN(X$):X$=LEFT$(X$,K)+RIGHT$(X$,X-K-A+1):IFINSTR(X$,A$)<>0THENCLS:PRINT"Erreur de syntaxe.":GOTO530
|
||
560 NEXTI:I=1:K=1:M$(1)="":M$(2)="":M$(3)=""
|
||
565 I=I+1:IFI<=LEN(X$)THEN580
|
||
570 IFLEN(M$(K))<4THENM$(K)=M$(K)+" ":GOTO570
|
||
575 GOTO600
|
||
580 A$=MID$(X$,I,1):IFA$=" "THEN590
|
||
585 M$(K)=M$(K)+A$:GOTO565
|
||
590 IFLEN(M$(K))<4THENM$(K)=M$(K)+" ":GOTO590
|
||
595 K=K+1:IFK<4THEN565
|
||
600 FORI=1TO3:N$(I)=LEFT$(M$(I),4):NEXT:IFN$(1)="AVAN"THENN$(1)=N$(2):N$(2)="":M$(1)=M$(2):M$(2)=""
|
||
615 IFN$(2)="SOUP"ANDN$(3)<>" "THENN$(2)=N$(3):M$(2)=M$(3)
|
||
620 IFN$(1)="REGA"THENR=1:GOTO100
|
||
625 IFN$(1)="SAVE"THEN12000
|
||
630 IFN$(1)="FIN "ORN$(1)="QUIT"THEN19000
|
||
635 FORI=1TO4:POKE&6FFF+I,ASC(MID$(N$(1),I,1)):NEXT:CALL&81C0:IFPEEK(&7004)=255THENPRINT"Je ne comprends pas ";M$(1):GOTO530
|
||
640 POKE&80FA,PEEK(&7004):IFN$(2)=""ORN$(2)=" "THENPOKE&80FB,0:GOTO655
|
||
645 FORI=1TO4:POKE&6FFF+I,ASC(MID$(N$(2),I,1)):NEXT:CALL&81C0:IFPEEK(&7004)=255THENPRINT"Je ne comprends pas ";M$(2):GOTO530
|
||
650 POKE&80FB,PEEK(&7004)
|
||
655 IFPEEK(&80FA)>9THEN1000
|
||
910 Z=1:SA=PEEK(&7FDF):T=PEEK(&80FA):T$=MID$(STR$(T),2,1)
|
||
920 K$=MID$(MO$(SA),Z,1):IFK$="0"THEN1000
|
||
930 IFK$<>T$THEN970ELSESA=VAL(MID$(MO$(SA),Z+1,2)):POKE&7FDF,SA:GOTO100
|
||
970 Z=Z+3:GOTO920
|
||
1000 CALL&81E7:IFPEEK(&7000)<>0THEN1700
|
||
1010 PRINT"IMPOSSIBLE";:IFPEEK(&80FA)<9THENPRINT" DE PRENDRE CETTE DIRECTION."ELSEPRINT"."
|
||
1020 GOTO500:PY=23:CO=12
|
||
1700 E$="":N=&7000:E=1
|
||
1705 E$=E$+CHR$(PEEK(N)):N=N+1:IFPEEK(N)<>255THEN1705
|
||
1707 E$=E$+"00"
|
||
1710 L=ASC(MID$(E$,E,1))-64:BR=0:N=VAL(MID$(E$,E+1,2)):ONLGOSUB1800,1900,2000,2100,2200,2300,2400,2500,2600,2700,2800,2900,3000,3100,3200,3300:ONBRGOTO100,500,530,18000:E=E+3:GOTO1710
|
||
1800 G=0:H=0:BR=2:CLS#1:PRINT#1,"Vous possedez :"
|
||
1810 G=G+1:IFPEEK(&7F00+G)=255THENH=1:PRINT#1,O$(G);ELSE1830
|
||
1820 IFLEN(O$(G))<>15THENPRINT#1
|
||
1830 IFG<OTHEN1810
|
||
1840 IFH=0THENPRINT#1:PRINT#1,"LA VIE SAUVE..!"
|
||
1850 RETURN
|
||
1900 IFPEEK(&7F00+N)=255THEN1940
|
||
1910 IFS>5THENPRINT"Vous n'etes pas HULK, vous ne pouvez porter tant.":BR=2:RETURN
|
||
1930 POKE&7F00+N,255:S=S+1:RETURN
|
||
1940 PRINT"Vous avez deja cela !":BR=2:RETURN
|
||
2000 IFPEEK(&7F00+N)=255THEN2030
|
||
2010 PRINT"Vous ne pouvez poser ce que vous ne posseder pas.":BR=2:RETURN
|
||
2030 POKE&7F00+N,PEEK(&7FDF):S=S-1:RETURN
|
||
2100 POKE&7000,N:CALL&8318:Z=PEEK(&7000)+256*PEEK(&7001)
|
||
2110 PRINTCHR$(PEEK(Z));:Z=Z+1:IFPEEK(Z)<>0ANDPEEK(Z)<>255THEN2110ELSEPRINT
|
||
2115 IFN=51THEN20000ELSERETURN
|
||
2200 POKE&7F40+N,1:RETURN
|
||
2300 POKE&7F40+N,0:RETURN
|
||
2400 E=E+2:POKE&7F30+N,VAL(MID$(E$,E+1,2)):RETURN
|
||
2500 POKE&7F00+N,0:RETURN
|
||
2600 POKE&7FDF,N:RETURN
|
||
2700 PRINT"D'accord.":BR=2:RETURN
|
||
2800 BR=2:RETURN
|
||
2900 BR=3:RETURN
|
||
3000 BR=1:RETURN
|
||
3100 BR=4:RETURN
|
||
3200 POKE&7F00+N,PEEK(&7FDF):RETURN
|
||
3300 BR=1:POKE&7FCA,203:POKE&7FCB,152:R=1:POKE&7EC0+53,0:RETURN
|
||
3400 A=PEEK(&7F31):IFA>1THENA=A-1:POKE(&7F31),A
|
||
3405 A=PEEK(&7F32):IFA>1THENA=A-1:POKE(&7F32),A
|
||
3410 A=PEEK(&7F34):IFA>1THENA=A-1:POKE(&7F34),A
|
||
3415 A=PEEK(&7F36):IFA>1THENA=A-1:POKE(&7F36),A
|
||
3420 IFPEEK(&7F0A)<>PEEK(&7FDF)ANDPEEK(&7F0A)<>255THENRETURN
|
||
3425 A=PEEK(&7F33):IFA>1THENA=A-1:POKE(&7F33),A
|
||
3430 RETURN
|
||
8000 IFP=0THEN8003
|
||
8001 RESTORE8010:O=37:DIMO$(O):FORN=1TOO:READK,O$(N):NEXT:GOTO8110
|
||
8003 RESTORE8010:O=37:DIMO$(O):FORN=1TOO:READK,O$(N):POKE&7F00+N,K:NEXT
|
||
8010 DATA2,Une batterie,0,Une batterie branchee,0,x,0,x,14,Un seau,0,Un seau plein de sable,0,Un seau plein d'eau,19,Une lampe,0,Une lampe avec une ampoule,0,Une lampe al- lumee
|
||
8020 DATA20,Une fiole,0,Une clef,18,Une bouteille,15,Un livre,17,Un passe par- tout,26,Un tournevis,27,Un delta-plane,28,Une echelle de corde,33,Un tube de colle,34,Une ampoule
|
||
8030 DATA35,Une boite,0,Des debris de verre,47,Un masque a gaz,47,De la quinine,47,Une aspirine,46,Des espadrilles,44,Une robe,50,Un portefeuille,50,Une broche,49,Un harnais
|
||
8040 DATA54,Une bombe insecticide,42,Une hache,45,Un pot de creme,0,Une liasse de billets,0,Vos chaussures,0,x,40,Un maillet
|
||
8110 M=58:DIMMO$(M):FORN=1TOM:READMO$(N):NEXT:DATA4023046050,3010,X,4013130,5014083070,X,4053150,3050
|
||
8130 DATA6124103110,3090,4093220,5091250,4043140,4133160
|
||
8140 DATA4071213200,4141193170,4160,0,2160,4150,2150
|
||
8150 DATA4111243230,4220,1272220,2123260,4253270,4262240
|
||
8160 DATA4291302323310,3280,2280,4282350,1282330,1320,3290
|
||
8170 DATA1310,1373100,2361383484390,1412374407520,1403370
|
||
8180 DATA3382390,2380,9370,0,9360,9360,9390,9390,4373507490
|
||
8190 DATA9480,1514480,2500,9380,2560,3560,4563570
|
||
8200 DATA1533552514549510,4550,1570
|
||
8250 IFP=1THENRETURN
|
||
8300 FORI=1TO58:POKE&7F60+I*2,PEEK(&4C02+I*2):POKE&7F61+I*2,PEEK(&4C03+I*2):NEXT:RETURN
|
||
10400 INK2,15,2:INK3,2,15:SPEEDINK1,1:PEN2:PRINT" <20> <20> <20> <20> <20> <20><><EFBFBD> <20> <20> ֏<> <20> <20> <20> <20> ֏<> <20> ":PEN3:PRINT" <20><><EFBFBD> <20> <20><><EFBFBD> <20> <20><><EFBFBD> <20> <20> <20> <20><><EFBFBD> <20> <20> <20> ":PEN2:PRINT" <20><> <20> <20><> <20><> <20><> <20><><EFBFBD> <20><><EFBFBD> <20><> <20> <20> <20> ":PEN3:PRINT" <20><><EFBFBD> <20> <20><><EFBFBD> <20> <20><><EFBFBD> <20> <20> <20>Տ <20><><EFBFBD> <20> <20> <20> ":PEN2
|
||
10540 PRINT" <20> <20> <20> <20> <20> <20><><EFBFBD> <20> <20> <20> <20> <20> <20> <20> <20> Տ<> <20> ":PEN1:RETURN
|
||
12000 PRINT"ETES-VOUS SUR (O/N) ?"
|
||
12010 A$=INKEY$:A$=UPPER$(A$):IFA$<>"N"ANDA$<>"O"THEN12010
|
||
12020 IFA$="N"THEN500
|
||
12030 CLS:A=REMAIN(1):PRINT:PRINT"PREPARER VOTRE CASSETTE:":POKE&7EB0,C-INT(C/256)*256:POKE&7EB1,INT(C/256):POKE&7EB2,S:CLEAR:SAVE"kikekan.mem",B,&7EB0,304:GOTO19000
|
||
15000 C=C-3.3:PRINT#2,"ENERGIE: ";USING"##.#";C/10;:IFC>250THENRETURN
|
||
15020 CLS:PRINT"Voyant que vous etiez deja au 3/4 epuisevous avez prefere vous suicider pour ne pas souffrir...":GOTO18000
|
||
18000 A=REMAIN(1):CALL&82B9:CLS#1:CLS#4:CLS#2:PRINT#4," Ah! Une vieille connaissance..!":LOCATE#1,2,8:PRINT#1,"Ah! Ah! Ah!":POKE&7FDF,3:CALL&8100:FORI=&831DTO&85B5STEP7:D=40/45*PEEK(I+6):SOUND1,PEEK(I)+PEEK(I+1)*256,D,5
|
||
18100 SOUND4,PEEK(I+4)+256*PEEK(I+5),D,6:IFPEEK(I+2)<>0THENSOUND2,PEEK(I+2)+256*PEEK(I+3),D,5ELSESOUND2,1,D,5
|
||
18120 IFINKEY$=CHR$(13)THENI=&85B5
|
||
18130 NEXT
|
||
19000 CLS:PRINT:PRINT"VOULEZ VOUS REJOUER (O/N) ?":A=1
|
||
19010 A$=INKEY$:IFA$=""THENA=A+1:IFA=2500THEN19100
|
||
19020 A$=UPPER$(A$):IFA$<>"N"ANDA$<>"O"THEN19010
|
||
19030 IFA$="N"THENSTOP
|
||
19040 CLEAR:MEMORY&37BF:GOTO15
|
||
19100 CLS:PRINT:PRINT"Il faudrait vous reveiller!":FORI=200TO60STEP-2:SOUND7,I,1,5:NEXT:FORI=60TO200STEP2:SOUND7,I,1,5:NEXT:GOTO19000
|
||
20000 SPEEDINK5,5:BORDER20,17:FORI=1TO2000:NEXT:CLS:A=REMAIN(1):PEN#1,2:CALL&82B9:CLS#1:CLS#4:CLS#2:PRINT#4,"Ils vecurent heureux, et ils eurent....";:LOCATE#1,1,5:PRINT#1,"C'est la que":PRINT#1:PRINT#1:PRINT#1,"l'on reconnait ":PRINT#1
|
||
20020 PRINT#1,"un PRO (!) des ":PRINT#1:PRINT#1,"Jeux d'Aventure":POKE&7FDF,6:CALL&8100:FORI=&85B6TO&8775STEP7:D=PEEK(I+6):SOUND4,PEEK(I)+PEEK(I+1)*256,D,5:IFPEEK(I+2)<>0THENSOUND2,PEEK(I+2)+256*PEEK(I+3),D,5ELSESOUND2,1,D,5
|
||
20120 IFPEEK(I+4)<>0THENSOUND1,PEEK(I+4)+256*PEEK(I+5),D,5ELSESOUND1,1,D,5
|
||
20130 NEXT:GOTO19000 |