10 DIM A(16,16),S(10),M$(11) 15 TEXT:HOME 20 GOSUB 1230 30 PV= 10:PE=10:CP=1:Q=8 40 FOR Y = 1 TO 15 50 FOR X = 1 TO 15 60 IF X = 1 OR X = 15 THEN Z = 9 : GOTO 90 70 IF Y = 1 OR Y = 15 THEN Z = 9 : GOTO 90 80 Z = INT (RND (1) * 9) + 1 + ABS (COS (X + Y)) 90 A(X,Y) = Z 100 NEXT X : NEXT Y 110 X = INT (RND (1) * 10) + 2 : Y = INT (RND (1) * 10) + 2 120 A(X,Y) = 12 130 REM --PRGM.PRINCIPAL-- 140 IF A(X,Y) = 12 THEN PRINT "LA SORTIE EST AU-DESSUS DE VOUS !" 145 PRINT"(M)OUVT.-(F)UITE-(C)OMBAT-(N)OURRITURE -(AJ)USTEMENT-(O)UVRIR-(S)ORTIR-(T)OTAL & POSITION"; 150 INPUT" *-CHOIX ->" ; C$ 160 IF PV = < 0 THEN PRINT"VOUS ETES MORT...": END 170 IF C$ = "M" THEN GOSUB 260 180 IF C$ = "F" THEN GOSUB 370 190 IF C$ = "C" THEN GOSUB 420 200 IF C$ = "N" THEN GOSUB 510 210 IF C$ = "AJ" THEN GOSUB 530 220 IF C$ = "O" THEN GOSUB 580 230 IF C$ = "S" THEN GOSUB 630 240 IF C$ = "T" THEN GOSUB 680 250 GOTO 140 260 REM ------MOUVEMENT------ 270 HGR : REM MODE GRAPHIQUE 280 PRINT"(A)VANT-(D)ROITE-(G)AUCHE-(R)ETOUR" 290 INPUT "CHOIX A,D,G,R >";C$ 300 IF C$ = "A" THEN GOTO 740 310 IF C$ = "G" THEN CP = CP - 1 320 IF C$ = "D" THEN CP = CP + 1 330 IF C$ = "R" THEN CP = CP + 2 340 IF CP > 4 THEN CP = CP - 4 350 IF CP <= 0 THEN CP = CP + 4 360 INVERSE : PRINT "DIRECTION "CP : NORMAL : GOTO 930 370 REM ------FUITE------ 380 PS = 50 + PE : GOSUB 710 390 IF R = 1 THEN PE = PE + 3 400 IF R = 0 THEN PV = PV - 2 410 RETURN 420 REM ------COMBAT------ 430 PS = 30 + PE : GOSUB 710 440 IF R = 1 THEN PE = PE + 2 450 IF R = 0 THEN PV = PV - 2 455 INVERSE : PRINT"PV="PV : NORMAL 460 IF T < 30 THEN PRINT "IL EST MORT":PE = PE + 8:A(X,Y) = INT (A(X,Y)) : GOTO 500 470 PRINT"CONTINUER LE COMBAT ?" 480 INPUT"REPONSE ->" ; R$ 490 IF R$ = "O"THEN 430 500 RETURN 510 REM ------NOURRITURE------ 520 PV = PV + 6:PE = PE + 2 : RETURN 530 REM ------AJUSTEMENT------ 540 PRINT"COMBIEN DE PE ---> EN PV ?" 550 INPUT"PE=" ; P 560 IF P > PE THEN PRINT"NON !" : GOTO 540 570 PE = PE - P:PV = PV + INT (P/2) : RETURN 580 REM ------OUVRIR------ 590 PS = PE + 20 : GOSUB 710 600 IF R = 1 THEN PE = PE + 2:Q = 13 : GOTO 785 610 IF R = 0 THEN PV = PV - 1 620 RETURN 630 REM ------SORTIR------ 640 IF PE < 40 THEN R = 0 : GOTO 670 650 PS = (PE * 2):GOSUB 710 660 IF R = 1 THEN PRINT"VOUS AVEZ TROUVE LA SORTIE" : END 670 IF R = 0 THEN PRINT"VOUS N'AVEZ PAS ASSEZ D'EXPERIENCE" : RETURN 680 REM ------TOTAL------ 690 INVERSE : PRINT"SCORE PV="PV;" PE="PE;" POS. X="X;" Y="Y;" DIR."CP : NORMAL : RETURN 700 REM ------TIRAGE------ 710 T= INT (RND (1) * 170) + 1 720 IF T <= PS THEN PRINT "REUSSI":R = 1:RETURN 730 PRINT"RATE !":R = 0:RETURN 740 REM -------------------- 750 Z = A(X,Y) 760 L = ABS (Z - INT (Z)) * 10 : L = INT (L) 770 M = ABS (Z * 10 - INT (Z * 10)) * 10:M = INT (M) 780 N1 = ABS (Z * 170 - INT (Z * 170)) * 170:N1 = INT (N1) 785 ON CP GOTO 790,810,830,850 790 IF A(X,Y - 1) < Q THEN Y = Y - 1 : GOTO 870 800 GOTO 860 810 IF A(X + 1,Y) < Q THEN X = X + 1 : GOTO 870 820 GOTO 860 830 IF A(X,Y + 1) < Q THEN Y = Y + 1 : GOTO 870 840 GOTO 860 850 IF A(X - 1,Y) < Q THEN X = X - 1 : GOTO 870 860 PRINT"LA GRILLE EST FERMEE" : GOTO 930 870 REM ------RENCONTRES------- 875 IF Q <> 8 THEN PRINT"LA GRILLE S'OUVRE, VOUS ETES PASSE !":Q = 8 880 IF L < 5 THEN PRINT"VOUS RENCONTREZ ";:GOTO 900 890 IF L > 4 THEN GOTO 920 900 PRINT M$(M)" FORCE "N + 1 : GOTO 920 910 IF M > 5 THEN PRINT M$(M) : GOTO 920 920 REM ------RECH.GRAPHIQUE------ 930 RESTORE 940 FOR T = 1 TO CP 950 READ A,B,C,D 960 NEXT T 970 G=0 980 FOR V = Y - D TO Y + D STEP 1 990 FOR W = X - C TO X + C STEP 1 1000 FOR N = 1 TO 2 1010 G = G + 1 1020 IF A(W + (A * N),V + (B * N)) > 7 THEN SF = 1 1030 IF SF = 0 THEN GOTO 1060 1040 IF SF = 1 THEN GOSUB 1090 1050 SF = 0 1060 NEXT N : NEXT W : NEXT V : RETURN 1070 G = 0:C$ ="" 1080 RETURN 1090 REM ------AIGUILLAGES------ 1100 ON G GOSUB 1110,1120,1130,1160,1190,1200 1110 HPLOT 80,20 TO 100,40 TO 100,120 TO 80,140 TO 80,20 : RETURN 1120 HPLOT 100,40 TO 120,60 TO 120,100 TO 100,120 TO 100,40 : RETURN 1130 FOR I = 80 TO 200 STEP 10 1140 HPLOT I,20 TO I,140 1150 NEXT I : RETURN 1160 FOR I = 120 TO 160 STEP 5 1170 HPLOT I,60 TO I,100 1180 NEXT I : RETURN 1190 HPLOT 200,20 TO 180,40 TO 180,120 TO 200,140 TO 200,20 : RETURN 1200 HPLOT 180,40 TO 160,60 TO 160,100 TO 180,120 TO 180,40 : RETURN 1210 REM ------------------ 1220 DATA 0,-1,1,0,1,0,0,1,0,1,1,0,-1,0,0,1 1230 REM ------------------ 1240 M$(0) = "UN GARDE":M$(1) = "UN CYBERG":M$(2) = "UN CYBER LUPUS":M$(3) = "UN PROFMUT":M$(4) = "UN ROBOT-LASER" 1250 M$(5) = "UN ENTREPOT":M$(6) = "UN POINT D'EAU":M$(7) = "UN COFFRE":M$(8) = "UNE TRAPPE":M$(9) = "UNE MALLE" 1260 RETURN