circles: add midpoint examples
This commit is contained in:
parent
c562c3fd5f
commit
5c2a174ebf
|
@ -7,12 +7,17 @@ EMPTY_DISK = ../../../empty_disk
|
|||
|
||||
all: circles.dsk
|
||||
|
||||
circles.dsk: HELLO CIRCLES BRES.BAS BRESBOT.BAS BRESCOOL.BAS
|
||||
circles.dsk: HELLO CIRCLES \
|
||||
BRES.BAS BRESBOT.BAS BRESCOOL.BAS \
|
||||
MID.BAS MIDBOT.BAS MIDCOOL.BAS
|
||||
cp $(EMPTY_DISK)/empty.dsk circles.dsk
|
||||
$(DOS33) -y circles.dsk SAVE A HELLO
|
||||
$(DOS33) -y circles.dsk SAVE A BRES.BAS
|
||||
$(DOS33) -y circles.dsk SAVE A BRESBOT.BAS
|
||||
$(DOS33) -y circles.dsk SAVE A BRESCOOL.BAS
|
||||
$(DOS33) -y circles.dsk SAVE A MID.BAS
|
||||
$(DOS33) -y circles.dsk SAVE A MIDBOT.BAS
|
||||
$(DOS33) -y circles.dsk SAVE A MIDCOOL.BAS
|
||||
$(DOS33) -y circles.dsk BSAVE -a 0x0C00 CIRCLES
|
||||
|
||||
###
|
||||
|
@ -27,6 +32,22 @@ BRES.BAS: bres.bas
|
|||
|
||||
###
|
||||
|
||||
MID.BAS: mid.bas
|
||||
$(TOKENIZE) < mid.bas > MID.BAS
|
||||
|
||||
###
|
||||
|
||||
MIDBOT.BAS: midbot.bas
|
||||
$(TOKENIZE) < midbot.bas > MIDBOT.BAS
|
||||
|
||||
###
|
||||
|
||||
MIDCOOL.BAS: midcool.bas
|
||||
$(TOKENIZE) < midcool.bas > MIDCOOL.BAS
|
||||
|
||||
|
||||
###
|
||||
|
||||
BRESBOT.BAS: bresbot.bas
|
||||
$(TOKENIZE) < bresbot.bas > BRESBOT.BAS
|
||||
|
||||
|
@ -47,4 +68,6 @@ circles.o: circles.s
|
|||
###
|
||||
|
||||
clean:
|
||||
rm -f *~ *.o *.lst CIRCLES BRES.BAS BRESBOT.BAS BRESCOOL.BAS
|
||||
rm -f *~ *.o *.lst CIRCLES \
|
||||
BRES.BAS BRESBOT.BAS BRESCOOL.BAS \
|
||||
MID.BAS MIDBOT.BAS MIDCOOL.BAS
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
10 HGR:HCOLOR=3
|
||||
20 XC=50:YC=50:R=30:GOSUB 30
|
||||
25 END
|
||||
30 X=R:Y=0:P=1-R:GOTO 100
|
||||
40 Y=Y+1
|
||||
50 IF P<=0 THEN P=P+2*Y+1:GOTO 70
|
||||
60 X=X-1:P=P+2*Y-2*X+1
|
||||
70 IF (X<Y) THEN RETURN
|
||||
100 HPLOT XC+X,YC+Y
|
||||
110 HPLOT XC-X,YC+Y
|
||||
120 HPLOT XC+X,YC-Y
|
||||
130 HPLOT XC-X,YC-Y
|
||||
140 HPLOT XC+Y,YC+X
|
||||
150 HPLOT XC-Y,YC+X
|
||||
160 HPLOT XC+Y,YC-X
|
||||
170 HPLOT XC-Y,YC-X
|
||||
180 GOTO 40
|
|
@ -0,0 +1,9 @@
|
|||
0HGR2
|
||||
1HCOLOR=1+RND(1)*7:A=40+RND(1)*200:B=40+RND(1)*100:X=RND(1)*40
|
||||
3Y=0:P=1-X:GOTO7
|
||||
4Y=Y+1:IFP<=0THENP=P+2*Y+1:GOTO6
|
||||
5X=X-1:P=P+2*Y-2*X+1
|
||||
6IFX<YTHEN1
|
||||
7HPLOTA+X,B+Y:HPLOTA-X,B+Y:HPLOTA+X,B-Y:HPLOTA-X,B-Y
|
||||
8HPLOTA+Y,B+X:HPLOTA-Y,B+X:HPLOTA+Y,B-X:HPLOTA-Y,B-X
|
||||
9GOTO4
|
|
@ -0,0 +1,8 @@
|
|||
0HGR2
|
||||
1HCOLOR=1+RND(1)*7:A=40+RND(1)*200:B=40+RND(1)*100:X=RND(1)*40
|
||||
3Y=0:P=1-X:GOTO7
|
||||
4Y=Y+1:IFP<=0THENP=P+2*Y+1:GOTO6
|
||||
5X=X-1:P=P+2*Y-2*X+1
|
||||
6IFX<YTHEN1
|
||||
7HPLOTA+X,B+YTOA-X,B+YTOA+X,B-YTOA-X,B-YTOA+Y,B+XTOA-Y,B+XTOA+Y,B-XTOA-Y,B-X
|
||||
9GOTO4
|
Loading…
Reference in New Issue