Sharp PC-E500 SpaceTrader

SpaceTrader

SpaceTrader, inspiriert durch ein C16-Spiel

SpaceTrader (4.355 Bytes)

10*TRADER:CLS:CLEAR
20GOSUB 1410:LOCATE 12,1
30PRINT "  TRADER  ":LOCATE 15,2
40GOSUB 1410:PRINT "2012"
50DIM PN$(7),PD(7,2),WN$(7),PR(7,7)
60CR=5000:FU=10:PO=0:KT=0
70DIM CA(7):CS=0:CP=100-FU
80RESTORE *TDAT:RANDOMIZE
90FOR I=0TO 7:READ PN$(I),PD(I,0),PD(I,1),PD(I,2):NEXT
100FOR I=0 TO7:READ WN$(I)
110REM
120PR(I,0)=15+RND (2*PD(I,2))
130PR(I,1)=80+RND (80/PD(I,2))
140PR(I,2)=60+RND (5*PD(I,2))
150PR(I,3)=200+RND (300/PD(I,2))
160PR(I,4)=400+RND (600/PD(I,2))
170PR(I,5)=300+RND (300/PD(I,2))
180PR(I,6)=100+RND (400*PD(I,2))
190PR(I,7)=1000+RND (1000*PD(I,2))
200NEXT
210REM PREISE
220M$="P":GOSUB 1300
230LOCATE 29,0:PRINT "Credits"
240LOCATE 29,1:PRINT CR
250LOCATE 29,2:PRINT "Fu";FU;
260A$=INPUT $(1)
270IF A$="P"THEN 210
280IF A$="I"THEN 340
290IF A$="H"THEN 410
300IF A$="S"THEN 720
310IF A$="R"THEN 1010
320IF A$="B"THEN 1110
330GOTO 260
340REM INVENTORY
350M$="I":GOSUB 1300
360LOCATE 29,0:PRINT "Position";
370LOCATE 29,1:PRINT PN$(PO);
380LOCATE 29,2:PRINT "Fr:";CS;
390LOCATE 29,3:PRINT "/:";CP;
400GOTO 260
410REM HANDEL
420LOCATE 29,0:PRINT "K oder V";
430B$=INPUT $(1)
440IF B$="K"OR B$="V"THEN 470
450IF B$="9"OR B$="Q"THEN 990
460GOTO 430
470LOCATE 29,0:PRINT "0 bis 7 ";
480B$=INPUT $(1)
490IF A$="9"OR A$="Q"THEN 990
500IF A$<"0"OR A$>"7"THEN 480
510J=VAL A$
520LOCATE 29,0:PRINT "Mg:    ";
530A$="":FOR I=0TO 1
540A$=A$+INPUT $(1)
550LOCATE 33,0:PRINT A$;:NEXT
560I=VAL A$
570IF B$="K"THEN IF I+CS>CP THEN 520
580IF B$="K"THEN IF I*PR(PO,J)>CR THEN 520
590IF B$="V"THEN IF I>CA(J) THEN 520
600IF B$"K"THEN
610CR=CR-PR(PO,J)*I
620CA(J)=CA(J)+I
630CS=CS+I
640ENDIF
650IF B$="V"THEN
660CR=CR+PR(PO,J)*I
670CA(J)=CA(J)-I
680CS=CS-I
690ENDIF
700GOSUB 1300
710GOTO 410
720REM SPRUNG
730CLS  :PRINT "Sprungziel:";
740X=PD(PO,0):Y=PD(PO,1)
750FOR I=0TO 7
760IF I=PO THEN GOSUB 1410
770PRINT USING "#";I;:PRINT ")";PN$(I);
780IF I=PO THEN GOSUB 1410
790Q=(ABS (X-PD(I,0)))^2+(ABS (Y-PD(I,1)))^2:Q=SQR Q
800PRINT INT Q;
810IF I=1OR I=4THEN PRINT CHR$ 13
820NEXT
830A$=INPUT $(1)
840IF A$="9"OR A$="Q"THEN 990
850IF A$<"0"OR A$>"7"THEN 830
860IF PO=VAL A$ THEN 830
870I=VAL A$
880Q=(ABS (X-PD(I,0)))^2+(ABS (Y-PD(I,1)))^2:Q=INT SQR Q
890IF (FU-Q/10))<0THEN 830
900PO=I:FU=FU-Q/10
910REM EREIGNIS?
920IF RND (999)<970 THEN 990
930Q=RND 2
940CLS :PRINT "Space-Piraten!"
950IF Q=0THEN CR=0:PRINT "Sie haben dein Geld gestohlen!"
960IF Q=1THEN CS=0:FOR I=0TO 7:CA(I)=0:NEXT :PRINT "Sie haben deine Waren gestohlen!"
970IF Q=2THEN CR=0:CS=0:FOR I=0TO 7:CA(I)=0:NEXT :PRINT "Sie haben alles gestohlen!"
980IF INKEY$ =""THEN 980
990IF M$="P"THEN 210
1000GOTO 340
1010REM REPAIR
1020CLS :PRINT "Fuel:";FU;
1030PRINT "@ 20  Mg:";
1040A$="":FOR I=0TO 1:a$=a$+INPUT $(1)
1050LOCATE 19,0:PRINT A$;:NEXT
1060I=ABS VAL A$
1070IF I+FU>10THEN I=10-FU
1080FU=FU+I:CR=CR-I*20
1090FOR I=0TO 500:NEXT
1100GOTO 990
1110REM BANK
1120CLS :PRINT "Bank:  (Sammel 50k)"
1130PRINT "Guthaben:";KT
1140PRINT "E oder A"
1150B$=INPUT $(1)
1160IF B$="E"OR B$="A"THEN 1190
1170IF B$="9"OR B$="Q"THEN 990
1180GOTO 1150
1190A$="":LOCATE 0,2:PRINT "Betrag: "
1200FOR I=0TO 3:A$=A$+INPUT $(1)
1210LOCATE 8,2:PRINT A$:NEXT
1220I=ABS VAL A$
1230IF B$="E"AND CR<THEN 1280
1240IF B$="A"AND KT<THEN 1280
1250IF B$="E"THEN CR=CR-I:KT=KT+I
1260IF B$="A"THEN CR=CR+I:KT=KT-I
1270IF KT>49999THEN PRINT "Gewonnen!":END
1280FOR I=0TO 500:NEXT
1290GOTO 990
1300REM PR/INVENT
1310CLS :FOR I=0TO 3
1320LOCATE 0,I:PRINT WN$(I);"___";:LOCATE 7,I:PRINT CHR$ 91;
1330IF M$="P"THEN PRINT USING "####";PR(PO,I);
1340IF M$="I"THEN PRINT USING "####";CA(I);
1350IF M$="P"THEN PRINT "$";ELSE PRINT CHR$ 93;
1360LOCATE 14,I:PRINT WN$(I+4);"___";:LOCATE 21,I:PRINT CHR$ 91;
1370IF M$="P"THEN PRINT USING "#####";PR(PO,I+4);
1380IF M$="I"THEN PRINT USING "#####";CA(I+4);
1390IF M$="P"THEN PRINT "$";ELSE PRINT CHR$ 93;
1400NEXT:RETURN
1410IF (PEEK &BFCA1 AND 64)=64 THEN POKE &BFCA1,PEEK &BFCA1 AND &BF:RETURN
1420POKE &BFCA1,PEEK &BFCA1 OR &40:RETURN
1430*TDAT:DATA "Ganymug",25,13,4
1440DATA "Spindoz",30,11,3
1450DATA "Ricolo",20,5,5
1460DATA "Gantes",10,8,6
1470DATA "Capcur",46,9,5
1480DATA "Molo",16,21,1
1490DATA "Tontin",30,22,2
1500DATA "Roxn",55,28,8
1510DATA "Food","Eisen","Textil","Maschin.","Waffen"
1520DATA "Gold","Drogen","Sklaven"

Generated by (c) Sharp PC-E500/E500S Notepad 1.00.3

(c) by herbstmoen@web.de - http://blog.manib.bplaced.net