News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_SRS

SENESCHALL - Started but never finished ...

Started by SRS, 20:48, 17 September 19

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SRS

Found this on one of my old development discs - seems I wanted to do something like "LANDGRAF" before/after with fancy typeface and "folding screen" ...

So if you want to expand it or rip the font ;) ...
1000 DEFINT b-z:SYMBOL AFTER 32:MODE 1:FOR x=0 TO 3:INK x,0:NEXT
1001 ENV 1,16,-1,2
1002 DIM na$(4),be(3,9),bp(9),bn$(9),gel(3),vg(3,7),vg$(7),vp(7),n(3,9)
1010 GOSUB 10000:LOCATE 2,1:GOSUB 10500:GOSUB 10440
1020 a$="vorbereitungen":GOSUB 11500
1030 PRINT"Bitte geben Sie die namen der spieler durch komma getrennt ein. achten sie  darauf, dass die namen nicht laenger  als 10 zeichen sind."
1040 GOSUB 12000:z=0:FOR x=0 TO 3:na$(x)="cpc":NEXT
1050 i=INSTR(i$,","):IF i=0 THEN na$(z)=LEFT$(i$,10):GOTO 1100 ELSE IF z=4 THEN PRINT"Das sind zuviele.":GOTO 1030
1060 na$(z)=LEFT$(LEFT$(i$,i-1),10):z=z+1:i$=MID$(i$,i+1):GOTO 1050
1100 FOR x=0 TO 3:PRINT na$(x):NEXT:GOSUB 10600
1110 GOSUB 11000:a$="ich lese daten":GOSUB 11500:GOSUB 11020
1120 RESTORE 10700:FOR x=0 TO 3:gel(x)=100:NEXT:FOR y=0 TO 7:READ bp(y),bn$(y),vg$(y):NEXT:READ bp(8),bn$(8),bp(9),bn$(9)
1125 FOR p=0 TO 3:FOR q=0 TO 9:n(p,q)=0:NEXT q,p
1128 'SPIELSCHLEIFE
1129 FOR sp=0 TO 3:IF na$(sp)="cpc" THEN 5000
1130 GOSUB 11000:a$="'immobilienhandel'":GOSUB 11500:GOSUB 11020
1140 PEN 1:PRINT"Spieler ";na$(sp)","gel(sp)"Taler...":PEN 2:fl(sp)=be(sp,2)
1150 PRINT:PRINT:PEN 3:LOCATE 23,VPOS(#0):PRINT"Preis Besitz"
1160 PEN 2:PRINT:PRINT:PRINT:FOR x=0 TO 9:PRINT bn$(x);:LOCATE 25,VPOS(#0):PRINT USING"###";bp(x);:LOCATE 32,VPOS(#0):PRINT USING"###";be(sp,x):NEXT
1170 PRINT"1";:FOR x=240 TO 96 STEP -16:FOR y=15 TO 0 STEP -2:MOVE 17,x-y:DRAWR 490,0,1:NEXT
1180 IF x=208 THEN 1240
1190 w=INT(ABS(x-240)/16):LOCATE 32,w+8:LINE INPUT z$:MY=VPOS(#0):MX=POS(#0):z=VAL(LEFT$(z$,3))
1200 kos=z*bp(w):IF kos>gel(sp) THEN PRINT"":GOTO 1190 ELSE IF kos>0 AND ((w=3 AND vg(sp,1)<20) OR (w=5 AND vg(sp,1)<4)) THEN LOCATE 1,20:PRINT"Zu wenig Holz !":CALL &BB18:LOCATE 1,20:PRINT SPC(15);:GOTO 1190
1210 IF kos=0 THEN 1240 ELSE IF (w<>5 AND w<>3 AND w<>6) THEN fl(sp)=fl(sp)-1:IF fl(sp)<0 THEN PRINT"":LOCATE 1,20:PRINT"Kein freies Gebiet mehr !":CALL &BB18:LOCATE 1,20:PRINT SPC(25);:GOTO 1190
1220 gel(sp)=gel(sp)-kos:LOCATE 1,1:PEN 1:PRINT"Spieler ";na$(sp)","gel(sp)"Taler...":PEN 2
1230 be(sp,my-8)=be(sp,my-8)+z:LOCATE mx,my:PRINT USING"###";be(sp,my-8):n(sp,my-8)=z
1240 FOR y=15 TO 0 STEP -2:MOVE 17,x-y:DRAWR 490,0,1:NEXT:NEXT
1250 'BE(SP,2)=BE(SP,2)-FL(SP)
4999 NEXT:'ENDE SPIELSCHLEIFE
10000 RESTORE 10030
10010 FOR x=48 TO 57:FOR y=0 TO 7:READ a$:a(y)=VAL("&"+a$):NEXT:SYMBOL x,a(0),a(1),a(2),a(3),a(4),a(5),a(6),a(7):NEXT
10020 FOR x=65 TO 90:FOR y=0 TO 7:READ a$:a(y)=VAL("&"+a$):NEXT:SYMBOL x,a(0),a(1),a(2),a(3),a(4),a(5),a(6),a(7):SYMBOL X+32,a(0),a(1),a(2),a(3),a(4),a(5),a(6),a(7):NEXT:RETURN
10030 DATA 38,4C,CE,D6,E6,64,38,00
10040 DATA 18,78,18,18,18,18,7E,00
10050 DATA 7C,C6,66,1C,30,62,FE,00
10060 DATA 7E,8C,18,3C,06,86,7C,00
10070 DATA 1C,3C,6C,CC,FE,0C,0C,00
10080 DATA 7E,C0,FC,06,06,CC,78,00
10090 DATA 1C,30,60,FC,C6,C6,7C,00
10100 DATA FE,86,0C,7E,30,60,C0,00
10110 DATA 7C,C6,C6,7C,C6,C6,7C,00
10120 DATA 7C,C6,C6,7E,06,8C,78,00
10130 DATA 3A,46,C6,C6,C6,CE,76,00
10140 DATA E0,DC,E6,C6,C6,C4,78,00
10150 DATA 3C,46,C0,C0,C0,66,3C,00
10160 DATA 0E,76,CE,C6,C6,46,3C,00
10170 DATA 3C,66,C6,FC,C0,66,3C,00
10180 DATA 5C,66,60,F8,60,60,60,C0
10190 DATA 3A,66,C6,C6,4E,76,86,7C
10200 DATA C0,FC,E6,C6,C6,CC,DE,00
10210 DATA 3E,5C,18,18,18,1A,7E,00
10220 DATA FE,18,18,3C,18,18,30,E0
10230 DATA C0,DC,E6,C6,DC,CC,C6,00
10240 DATA F8,30,60,60,60,66,FC,00
10250 DATA AC,D6,D6,D6,D6,D6,D4,00
10260 DATA DC,F6,C6,C6,C6,CC,DE,00
10270 DATA 38,4C,C6,C6,C6,64,38,00
10280 DATA DC,E6,C6,C6,C6,EC,D8,C0
10290 DATA 38,4C,C6,C6,C6,64,38,1E
10300 DATA DC,E6,C6,C4,F8,CC,C6,00
10310 DATA 7C,C2,C0,7C,06,86,7C,00
10320 DATA FE,18,30,30,30,30,1C,00
10330 DATA F6,66,46,C6,C6,EE,76,00
10340 DATA E6,46,C6,C6,66,3C,18,00
10350 DATA CC,46,D6,D6,D6,D6,6C,00
10360 DATA 86,CC,78,38,3C,66,C2,00
10370 DATA C6,66,66,66,3C,8C,CC,78
10380 DATA FE,0C,38,18,6C,C6,C6,7C
10440 FOR x=2 TO 4:g=636-x*4:h=g-270:PLOT 2*x,2*x,5-x:DRAWR g,0:DRAWR 0,h:DRAWR -g,0:DRAWR 0,-h:NEXT
10441 INK 0,0:INK 1,20:INK 2,11:INK 3,2:BORDER 0
10450 WINDOW 2,39,4,24:WINDOW#1,13,40,2,2:PEN#1,2:RETURN
10500 a$="SENESCHALL":b$=CHR$(15)+CHR$(49)+CHR$(254)+CHR$(10)+CHR$(8)+CHR$(15)+CHR$(50)+CHR$(255)+CHR$(11):FOR x=1 TO LEN(a$):ad=HIMEM+1+(ASC(MID$(a$,x))-32)*8
10560 FOR y=0 TO 6:p(y)=PEEK(ad+y):NEXT:SYMBOL 254,0,p(0),p(0),p(1),p(1),p(2),p(2),p(3):SYMBOL 255,p(3),p(4),p(4),p(5),p(5),p(6),p(6)
10570 PRINT B$;:NEXT:RETURN
10600 i$="":i$=INKEY$:IF i$="" THEN 10600 ELSE RETURN
10700 DATA 100,"doerfer","getreide",20,"feld","holz",0,"waelder","erz",100,"schiffe","tonwaren",400,"burgen","stoffe",100,"belagerungsmaschinen","vieh",10,"soldaten","wolle",120,"minen","luxusgueter",80,"handwerksbetriebe",10,"wiesen"
11000 FOR x=40 TO 0 STEP -1:GOSUB 11030:NEXT:OUT &BC00,8:OUT &BD00,120:OUT &BC00,1:OUT &BD00,40:CLS:CLS#1:RETURN
11020 OUT &BC00,1:OUT &BD00,0:OUT &BC00,8:OUT &BD00,0:FOR x=0 TO 40:GOSUB 11030:NEXT:RETURN
11030 CALL &BD19:OUT &BC00,1:OUT &BD00,x:RETURN
11500 CLS#1:PRINT#1,SPC(27-LEN(a$));a$;:RETURN
12000 PEN 1:CALL &BB81:i$="":PRINT"-";:hl=39-POS(#0)
12010 a$=INKEY$:IF a$="" THEN 12010
12011 IF a$=CHR$(13) THEN CALL &BB84:PEN 2:PRINT:PRINT:RETURN ELSE IF a$<" " THEN 12010
12012 IF a$=CHR$(127) THEN 12100 ELSE IF a$>"~" THEN 12050
12013 IF LEN(i$)<hl+37 THEN i$=i$+a$:PRINT a$; ELSE 12050
12014 GOTO 12010
12050 SOUND 135,50,0,0,1:GOTO 12010
12100 IF LEN(i$)=0 THEN 12050 ELSE i$=LEFT$(i$,LEN(i$)-1)
12110 x=POS(#0):y=VPOS(#0):IF x>1 THEN LOCATE x-1,y:PRINT" "+CHR$(8); ELSE LOCATE 38,y-1:PRINT" ";:LOCATE 38,y-1
12120 GOTO 12010

Gryzor

The font was the first thing I noticed.

The second... English version? 😁

Powered by SMFPacks Menu Editor Mod