home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
87xx
/
8712a.d64
/
apfel16.bas
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
5KB
|
169 lines
10 PRINT"[147][158]":POKE53280,11:POKE53281,0:POKE55,0:POKE56,64
20 IFLA=0THENLA=1:GOSUB130:LOAD"MS.APFEL16",8,1
30 OPEN5,0:POKE786,192:V=53248:POKEV+39,1:POKEV+40,1
40 XU=-1:XO=2.4:YU=-1.25:YO=1.25:IT=40:GOSUB60:GOTO300
50 REM ----- WRITE ------
60 POKE785,15:POKE50683,80:XU=USR(XU):POKE50683,85:XO=USR(XO)
70 POKE50683,90:YU=USR(YU):POKE50683,95:YO=USR(YO)
80 POKE24420,IT:RETURN
90 REM ---- LESEN ------
100 POKE785,12:POKE50676,80:XU=USR(XU):POKE50676,85:XO=USR(XO)
110 POKE50676,90:YU=USR(YU):POKE50676,95:YO=USR(YO)
120 IT=PEEK(24420):RETURN
130 FORN=28672TO28734:READA:POKEN,A:NEXT
140 FORN=28736TO28798:READA:POKEN,A:NEXT:RETURN
150 DATA192,0,0,192,0,0,192,0,0
160 DATA192,0,0,192,0,0,192,0,0
170 DATA192,0,0,192,0,0,192,0,0
180 DATA192,0,0,192,0,0,192,0,0
190 DATA192,0,0,192,0,0,192,0,0
200 DATA192,0,0,192,0,0,192,0,0
210 DATA192,0,0,192,0,0,255,255,255
220 REM -----------------
230 DATA255,255,255,0,0,3,0,0,3
240 DATA0,0,3,0,0,3,0,0,3
250 DATA0,0,3,0,0,3,0,0,3
260 DATA0,0,3,0,0,3,0,0,3
270 DATA0,0,3,0,0,3,0,0,3
280 DATA0,0,3,0,0,3,0,0,3
290 DATA0,0,3,0,0,3,0,0,3
300 PRINT"[147][158]":POKE53280,11:POKE53281,0
310 PRINT" [193]PFELMAENNCHEN! [156]VON [205]. [193]UMER[158]"
320 PRINT" [196]ATEN EINGEBEN / ANZEIGEN ..... < 1 >"
330 PRINT" [194]ILD LADEN .................... < 2 >"
340 PRINT" [194]ILD SPEICHERN ................ < 3 >"
350 PRINT" [194]ILD BERECHNEN ................ < 4 >"
360 PRINT" [193]USSCHNITT BERECHNEN .......... < 5 >"
370 PRINT" [194]ILD ANZEIGEN / [198]ARBEFFEKTE ... < 6 >"
380 PRINT" [196]IRECTORY ..................... < 7 >"
390 POKE198,0:WAIT198,1:GETA$:POKE198,0:Z=VAL(A$):IFZ=0ORZ>7THEN390
400 ONZGOSUB450,610,680,750,770,1210,420
410 GOTO300
420 PRINT"[147]";:SYS49161:POKE198,0:WAIT198,1:POKE198,0:RETURN
430 REM AENDERN
440 REM AENDERN
450 PRINT"[147]"
460 PRINT" [206]EUE [197]INGABEN [214]ERAENDERN DIE [215]ERTE."
470 PRINT" [206]UR [210][197][212][213][210][206] VERAENDERT NICHTS."
480 GOSUB100
490 PRINT" LINKER [210]AND:";XU
500 PRINT"[145]";:INPUT#5,XU:PRINT
510 PRINT" RECHTER [210]AND:";XO
520 PRINT"[145]";:INPUT#5,XO:PRINT
530 PRINT" UNTERER [210]AND:";YU
540 PRINT"[145]";:INPUT#5,YU:PRINT
550 PRINT" OBERER [210]AND:";YO
560 PRINT"[145]";:INPUT#5,YO:PRINT:PRINT
570 PRINT" [201]TERATIONSGRENZE <255! :";IT
580 PRINT"[145]";:INPUT#5,IT:PRINT:IFIT>255ORIT<1THEN580
590 GOSUB60:RETURN
600 REM LADEN
610 PRINT"[147][204]ADEN":PRINT" [194]ITTE [206]AME OHNE .PIC EINGEBEN."
620 PRINT" [205]AXIMAL 12 [218]EICHEN.":NA$=""
630 PRINT" [210]ETURN = [197]NDE !"
640 INPUT#5,NA$:PRINT:PRINT:IFLEN(NA$)>12THENRETURN
650 IFNA$=""THENRETURN
660 A$=NA$+".PIC":SYS49155,A$,8,1:RETURN
670 REM SPEICHERN
680 PRINT"[147][211]PEICHERN":PRINT" [194]ITTE [206]AME OHNE .PIC EINGEBEN."
690 PRINT" [205]AXIMAL 12 [218]EICHEN.":NA$=""
700 PRINT" [210]ETURN = [197]NDE !"
710 INPUT#5,NA$:PRINT:PRINT:IFLEN(NA$)>12THENRETURN
720 IFNA$=""THENRETURN
730 A$=NA$+".PIC":SYS49158,A$,8,1:RETURN
740 REM BERECHNEN
750 PRINT"[147]";:POKE53280,0:POKE53281,0:POKE24421,0:POKE24422,0:SYS49173:SYS49176
760 SYS49170:SYS49185:SYS49152:SYS49191:SYS49188:RETURN
770 PRINT"[147]"
780 PRINT" [211]TEUERUNG DES [203]ASTENS MITTELS [195]URSOR-"
790 PRINT" TASTEN."
800 PRINT" + UND - VERGROESSERT / VERKLEINERT DEN"
810 PRINT" [203]ASTEN."
820 PRINT" _ BESCHLEUNIGT ALLE [194]EWEGUNGEN
830 [153]" NOCHMALIGES STR$RUECKEN HEBT DIE
840 PRINT" [194]ESCHLEUNIGUNG WIEDER AUF !"
850 PRINT" ^ BEENDET DEN [214]ORGANG."
860 GOSUB100:DX=(XO-XU)/320:DY=(YO-YU)/200
870 XX=0:YY=0:KY=24:KX=KY*1.6
880 POKE198,0:WAIT198,1:POKE198,0
890 DD=1:SYS49185:POKEV+21,3:POKE25592,192:POKE25593,193
900 KX=KY*1.6:XS=XX+24:YS=YY+KY+30:X2=XX+KX+1:Y2=YY+50
910 S=-2*(X2>255)-(XS>255)
920 POKEV+1,YS:POKEV+3,Y2:POKEV,XSAND255:POKEV+2,X2AND255:POKEV+16,S
930 GETA$:IFA$=""THEN930
940 IFA$="_"THENDD=9-DD
950 IFA$="^"THEN1030
960 IFA$=""THEN1080
970 IFA$="[145]"THEN1100
980 IFA$="[157]"THEN1120
990 IFA$=""THEN1140
1000 IFA$="+"THEN1160
1010 IFA$="-"THEN1190
1020 GOTO930
1030 XU=XU+DX*XX:YU=YU+DY*YY:XO=XU+DX*KX:YO=YU+DY*KY:POKEV+21,0:SYS49188:GOSUB60
1040 PRINT"[147]":PRINT" [201]TERATIONSGRENZE:";IT
1050 PRINT"[145]";:INPUT#5,IT:PRINT
1060 IFIT>255ORIT<1THEN1050
1070 POKE24420,IT:GOTO750
1080 IFYS+DD>255THEN930
1090 YY=YY+DD:GOTO900
1100 IFY2-DD<0THEN930
1110 YY=YY-DD:GOTO900
1120 IFXS-DD<0THEN930
1130 XX=XX-DD:GOTO900
1140 IFX2+DD>511THEN930
1150 XX=XX+DD:GOTO900
1160 IFX2+DD*1.6>511THEN930
1170 IFY1+DD>255THEN930
1180 KY=KY+DD:GOTO900
1190 IFKY-DD<2THEN930
1200 KY=KY-DD:GOTO900
1210 PRINT"[147][158]":POKE53280,14:POKE53281,0
1220 PRINT" [193]NZEIGEMENUE !"
1230 PRINT" [198]ARBEN SICHERN ................. < 1 >"
1240 PRINT" [198]ARBEN ZURUECK HOLEN ........... < 2 >"
1250 PRINT" [194]ILD IN 16 [198]ARBEN ZEIGEN ....... < 3 >"
1260 PRINT" [194]ILD IN 4 [198]ARBEN ZEIGEN ....... < 4 >"
1270 PRINT" [198]ARBGEBUNG AENDERN ............. < 5 >"
1280 PRINT" [205]ENUE2 VERLASSEN ............... < 6 >"
1290 POKE198,0:WAIT198,1:GETA$:POKE198,0
1300 Z=VAL(A$):IFZ=0ORZ>6THEN1290
1310 IFZ=6THENRETURN
1320 ONZGOSUB1340,1350,1360,1470,1620
1330 GOTO1210
1340 SYS49191:RETURN
1350 SYS49194:RETURN
1360 PRINT"[147]"
1370 PRINT" R ROTIERT EINMAL "
1380 PRINT" ^ ZURUECK IN [205]ENUE2"
1390 POKE198,0:WAIT198,1:POKE198,0
1400 POKE53280,0:POKE53281,RR:SYS49185
1410 R=0
1420 REM
1430 GETA$:IFA$=""THEN1430
1440 IFA$="R"THENSYS49182:GOTO1430
1450 IFA$="^"THENSYS49188:RETURN
1460 GOTO1420
1470 PRINT"[147]"
1480 PRINT" F1 SCHALTET [198]ARBE1 WEITER"
1490 PRINT" F3 SCHALTET [198]ARBE2 WEITER"
1500 PRINT" F5 SCHALTET [198]ARBE3 WEITER"
1510 PRINT" F7 SCHALTET [200]INTERGRUND WEITER"
1520 PRINT" ^ = ZURUECK ZUM [205]ENUE2"
1530 A=106:B=7:C=0:POKE198,0:WAIT198,1:POKE198,0
1540 SYS49185:POKE24421,A:POKE24422,B:SYS49173:POKE53280,0:POKE53281,C
1550 GETA$:IFA$=""THEN1550
1560 IFA$="^"THENSYS49188:SYS49194:RETURN
1570 IFA$="[136]"THENC=(15AND(C+1)):POKE53281,C:GOTO1550
1580 IFA$="[135]"THENB=(15AND(B+1)):POKE24422,B:SYS49173:GOTO1550
1590 IFA$="[133]"THENA=(255AND(A+16)):POKE24421,A:SYS49173:GOTO1550
1600 IFA$="[134]"THENA=(AAND240)+(15AND(1+(AAND15))):POKE24421,A:SYS49173:GOTO1550
1610 GOTO1550
1620 PRINT"[147]"
1630 PRINT" [194]ITTE GEBEN [211]IE DIE NEUEN [198]ARBEN EIN !"
1640 PRINT" [200]INTERGRUND:";:INPUT#5,RR:PRINT
1650 FORN=1TO15
1660 PRINT" [198]ARBE"N;TAB(17)":";:INPUT#5,A:PRINT
1670 POKE50343+N,A:NEXT
1680 SYS49179:RETURN