-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCONBAT.BAS
30 lines (30 loc) · 1.71 KB
/
CONBAT.BAS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
0 DIM N$(10),NT(10),TT(10),M(10):KEY OFF:COLOR 13:CLS:XX=3840:DEF SEG=&HB800:EE=ASC(" "):VV=127:IN=233:N1=196
1 INPUT "nobre de tirs S.V.P ";TI
2 IF TI<50 THEN PRINT "insufisant ":GOTO 1
3 IF TI>150 THEN PRINT "trop ????!!!":GOTO 1
4 RR=TI:CLS
10 A$=INKEY$
11 IF A$=CHR$(27) THEN CLS :PRINT "votre score est :";POI;"pour ";TI;"tires":GOTO 6000
12 IF A$="6" THEN XX=XX+2:IF XX>=4000 THEN XX=XX-2:BEEP
13 IF A$="4" THEN XX=XX-2:IF XX<=3838 THEN XX=XX+2:BEEP
14 IF A$=" " THEN GOSUB 999
25 POKE DD,EE:POKE XX,VV:DD=XX
26 RANDOMIZE TIMER: T=INT(RND*2):IF T=1 THEN A=A+2 ELSE IF T=2 THEN A=A-2
27 POKE O,EE:POKE O-2,EE:POKE O+2,EE:POKE A+K,IN:POKE A+K+2,N1:POKE A+K-2,N1:O=A+K:K=K+160:IF K=>3998 THEN K=0:A=2*INT(RND*80):GOTO 10 ELSE 10
999 TI=TI-1 :IF TI=<0 THEN PRINT "VOTRE SCORE EST :";POI;"pour ";RR;"TIRES":GOTO 6000
1000 PALETTE 13,6:FOR I=XX TO XX-25*160 STEP -160:POKE I,24:POKE I+160,EE
1001 IF I=O OR I=A+K OR I=A+K+2 OR I=A+K-2 THEN PALETTE 13,13:POI=POI+1:POKE I,EE:A=2*INT(RND*80):K=0:RETURN ELSE NEXT
1002 PALETTE 13,13:RETURN
6000 I=0:OPEN"scoj1.dat" FOR INPUT AS #1
6001 FOR I=1 TO 10 :INPUT #1,N$(I),NT(I),TT(I),M(I):NEXT:CLOSE
6002 PRINT "NOMS","T.TIRS","POINTS"," MOYENNE"
6003 FOR I=1 TO 10:COLOR 14:PRINT N$(I),:COLOR 13:PRINT NT(I),TT(I),:COLOR 20:PRINT M(I):NEXT :COLOR 2
6004 MM=100/RR*POI
6005 FOR I=1 TO 10:IF MM>=M(I) THEN 6050
6006 NEXT :PRINT " DESOLE VOUS N'ETES PAS PARMIS LES DIX MEILIEURS !!!":END
6050 PRINT "BRAVO !!! vous ˆtes le ";I" eme ":INPUT "VOTRE NOM s.v.p ";NN$
6060 FOR T=10 TO I STEP -1:N$(T)=N$(T-1):NT(T)=NT(T-1):TT(T)=TT(T-1):M(T)=M(T-1):NEXT
6070 M(I)=MM:N$(I)=NN$:NT(I)=RR:TT(I)=POI
6080 OPEN"scoj1.dat" FOR OUTPUT AS #1
6081 FOR Y=1 TO 10 :PRINT #1,N$(Y);",";NT(Y);",";TT(Y);",";M(Y):NEXT :CLOSE:END