mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-27 11:55:20 +00:00
graphics: cube
This commit is contained in:
parent
afef9457c8
commit
f86f761430
28
basic/cube/Makefile
Normal file
28
basic/cube/Makefile
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
include ../../Makefile.inc
|
||||||
|
|
||||||
|
DOS33 = ../../utils/dos33fs-utils/dos33
|
||||||
|
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
|
||||||
|
EMPTY_DISK = ../../empty_disk/empty.dsk
|
||||||
|
|
||||||
|
all: cube.dsk
|
||||||
|
|
||||||
|
cube.dsk: HELLO CUBE.BAS
|
||||||
|
cp $(EMPTY_DISK) cube.dsk
|
||||||
|
$(DOS33) -y cube.dsk SAVE A HELLO
|
||||||
|
$(DOS33) -y cube.dsk SAVE A CUBE.BAS
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
HELLO: hello.bas
|
||||||
|
$(TOKENIZE) < hello.bas > HELLO
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
CUBE.BAS: cube.bas
|
||||||
|
$(TOKENIZE) < cube.bas > CUBE.BAS
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ *.o *.lst HELLO CUBE.BAS
|
||||||
|
|
7
basic/cube/cheat.bas
Normal file
7
basic/cube/cheat.bas
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
1HGR:HCOLOR=3:DEFFNP(X)=PEEK(2054+I*5+X)-32
|
||||||
|
5HPLOTFNP(0),FNP(1)
|
||||||
|
6FORI=0TO12:HPLOTTOFNP(I*2),FNP(I*2+1):NEXT
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
26
basic/cube/cube.bas
Normal file
26
basic/cube/cube.bas
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
10 RX=-0.1
|
||||||
|
20 L=80:FS=200:L=L/2
|
||||||
|
35 HGR:HCOLOR=3
|
||||||
|
40 X(1)=-L:Y(1)=-L:Z(1)=-L
|
||||||
|
50 X(2)=-L:Y(2)=L:Z(2)=-L
|
||||||
|
60 X(3)=L:Y(3)=L:Z(3)=-L
|
||||||
|
70 X(4)=L:Y(4)=-L:Z(4)=-L
|
||||||
|
80 X(5)=-L:Y(5)=-L:Z(5)=L
|
||||||
|
90 X(6)=-L:Y(6)=L:Z(6)=L
|
||||||
|
100 X(7)=L:Y(7)=L:Z(7)=L
|
||||||
|
110 X(8)=L:Y(8)=-L:Z(8)=L
|
||||||
|
120 RX=RX+0.1:C=COS(RX):S=SIN(RX)
|
||||||
|
130 FOR NP=1 TO 8
|
||||||
|
140 YT=Y(NP):Y(NP)=C*YT-S*Z(NP):Z(NP)=S*YT+C*Z(NP)
|
||||||
|
150 XT=X(NP):X(NP)=C*XT+S*Z(NP):Z(NP)=-S*XT+C*Z(NP)
|
||||||
|
160 XT=X(NP):X(NP)=C*XT-S*Y(NP):Y(NP)=S*XT+C*Y(NP)
|
||||||
|
170 VX(NP)=160+(X(NP)*FS)/(X(NP)+FS)
|
||||||
|
180 VY(NP)=100+(Y(NP)*FS)/(Z(NP)+FS)
|
||||||
|
190 NEXT
|
||||||
|
200 HPLOT VX(1),VY(1) TO VX(2),VY(2) TO VX(3),VY(3) TO VX(4),VY(4) TO VX(1),VY(1)
|
||||||
|
210 HPLOT VX(5),VY(5) TO VX(6),VY(6) TO VX(7),VY(7) TO VX(8),VY(8) TO VX(5),VY(5)
|
||||||
|
220 HPLOT VX(8),VY(8) TO VX(5),VY(5):HPLOT VX(1),VY(1) TO VX(5),VY(5)
|
||||||
|
230 HPLOT VX(4),VY(4) TO VX(8),VY(8):HPLOT VX(2),VY(2) TO VX(6),VY(6)
|
||||||
|
240 HPLOT VX(3),VY(3) TO VX(7),VY(7)
|
||||||
|
245 GET A$:IF A$="Q" THEN END
|
||||||
|
250 GOTO 35
|
2
basic/cube/hello.bas
Normal file
2
basic/cube/hello.bas
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
5 HOME
|
||||||
|
10 PRINT CHR$(4);"CATALOG"
|
Loading…
Reference in New Issue
Block a user