C64 Software  <  SCA: The C64 Software Collection / SUGAIIS/NEU.BAS

  Run
1000 REMd2 BdYK
1010 PRINT""
1020 IFPEEK(16384)<>160THENPOKE56,64:CLR:LOAD"",8,1
1030 DIMX%(99,1),Y%(99,1),Y1%(99):YM=199
1040 F=1.005
1050 DZ=−360:Y=100:S=25:LC=2
1060 :
1070 I=0
1080 FORX=−450TO450STEPS
1090 : Z= DZ
1100 : X1=X*F↑Z:Y1=Y*F↑Z
1110 : Z= 0
1120 : X2=X*F↑Z:Y2=Y*F↑Z
1130 : d3 CUT
1140 : d3 UMR
1150 : X%(I,0)=X1:X%(I,1)=X2
1160 : Y%(I,0)=Y1:Y%(I,1)=Y2
1170 : I=I+1
1180 NEXT
1190 XA=I−1
1200 :
1210 :
1220 I=0:X=0
1230 FORZ=DZTO0STEPS*1.4
1240 : Y1=Y*F↑Z
1250 : d3 UMR
1260 : Y1%(I)=Y1
1270 : I=I+1
1280 NEXT
1290 YA=I−1
1300 :
1310 :
1320 :
1330 d1 d

1340 d0,0:d0,0:d1,12,7
1350 FORI=0TOXA
1360 : X1=X%(I,0):X2=X%(I,1)
1370 : Y1=Y%(I,0):Y2=Y%(I,1)
1380 : dX1,Y1,X2,Y2,LC
1390 NEXT
1400 :
1410 :
1420 FORI=0TOYA
1430 : d0,Y1%(I),159,Y1%(I),LC
1440 NEXT
1450 :
1460 :
1470 REMdo40,64,"",1,10,36
1480 :
1490 F=3:X=80:Y=100:A=dX(X,Y)
1500 d 
1510 GETA$:IFVAL(A$)THENF=VAL(A$)−1
1520 I=dQ:dX,Y,A
1530 IFI=1ANDY>0  THENY=Y−1
1540 IFI=3ANDX<159THENX=X+1
1550 IFI=5ANDY<199THENY=Y+1
1560 IFI=7ANDX>0  THENX=X−1
1570 IFI=128THENduX,Y,F
1580 IFA$=""THENd3 SAV
1590 IFA$=""THENd)1=1:d2 d

1600 A=dX(X,Y):dX,Y,1
1610 d) 1=2
1620 :
1630 :
1640 d1 CUT
1650 IFX1=X2THENd4
1660 M=(Y2−Y1)/(X2−X1)
1670 Q=−M*X1+Y1
1680 :
1690 IFX1>80THENX1=80:Y1=M*X1+Q
1700 IFX1<−79THENX1=−79:Y1=M*X1+Q
1710 IFX2>80THENX2=80:Y2=M*X2+Q
1720 IFX2<−79THENX2=−79:Y2=M*X2+Q
1730 IFY1>100THENY1=100:X1=(Y1−Q)/M
1740 IFY2>100THENY2=100:X2=(Y2−Q)/M
1750 d4
1760 :
1770 :
1780 d1 UMR
1790 X1=INT(X1+79.5):X2=INT(X2+79.5)
1800 Y1=INT(Y1+99.5):Y2=INT(Y2+99.5)
1810 d4
1820 :
1830 :
1840 d1 SAV
1850 LO=LO+1:OPEN1,8,2,""+CHR$(LO+64)+"":CMD1,"";:SYS16384
1860 PRINT#1,"";:CLOSE1
1870 d4
1880 ;
1890 ;
1900 d1 BdYK
1910 d0,0:dp2
1920 d 
1930 : READY:IFY=−1THENRESTORE:d)1=2
1940 : d1,11,Y:df2
1950 d)1=2
1960 :
1970 DATA14,6,4,2,10,7,5,13,3,-1
READY.