Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,89 @@
|
|||
INCLUDE "H6:REALMATH.ACT"
|
||||
|
||||
REAL one
|
||||
|
||||
PROC PutBigPixel(INT x,y,col)
|
||||
IF x>=0 AND x<=79 AND y>=0 AND y<=47 THEN
|
||||
y==LSH 2
|
||||
IF col<0 THEN col=0
|
||||
ELSEIF col>15 THEN col=15 FI
|
||||
Color=col
|
||||
Plot(x,y)
|
||||
DrawTo(x,y+3)
|
||||
FI
|
||||
RETURN
|
||||
|
||||
INT FUNC Abs(INT x)
|
||||
IF x<0 THEN RETURN (-x) FI
|
||||
RETURN (x)
|
||||
|
||||
PROC Swap(INT POINTER a,b)
|
||||
INT tmp
|
||||
|
||||
tmp=a^ a^=b^ b^=tmp
|
||||
RETURN
|
||||
|
||||
PROC Line(INT x1,y1,x2,y2,col)
|
||||
INT x,y,dx,dy,c
|
||||
INT POINTER px,py
|
||||
REAL rx,ry,grad,rcol,tmp1,tmp2
|
||||
|
||||
dx=Abs(x2-x1)
|
||||
dy=Abs(y2-y1)
|
||||
IF dy>dx THEN
|
||||
Swap(@x1,@y1)
|
||||
Swap(@x2,@y2)
|
||||
px=@y py=@x
|
||||
ELSE
|
||||
px=@x py=@y
|
||||
FI
|
||||
|
||||
IF x1>x2 THEN
|
||||
Swap(@x1,@x2)
|
||||
Swap(@y1,@y2)
|
||||
FI
|
||||
|
||||
x=x2-x1
|
||||
IF x=0 THEN x=1 FI
|
||||
IntToRealForNeg(x,rx)
|
||||
IntToRealForNeg(y2-y1,ry)
|
||||
RealDiv(ry,rx,grad)
|
||||
|
||||
IntToRealForNeg(y1,ry)
|
||||
IntToReal(col,rcol)
|
||||
FOR x=x1 TO x2
|
||||
DO
|
||||
Frac(ry,tmp1)
|
||||
IF IsNegative(tmp1) THEN
|
||||
RealAdd(one,tmp1,tmp2)
|
||||
RealAssign(tmp2,tmp1)
|
||||
FI
|
||||
RealMult(rcol,tmp1,tmp2)
|
||||
c=Round(tmp2)
|
||||
y=Floor(ry)
|
||||
PutBigPixel(px^,py^,col-c)
|
||||
y==+1
|
||||
PutBigPixel(px^,py^,c)
|
||||
RealAdd(ry,grad,tmp1)
|
||||
RealAssign(tmp1,ry)
|
||||
OD
|
||||
RETURN
|
||||
|
||||
PROC Main()
|
||||
BYTE CH=$02FC ;Internal hardware value for last key pressed
|
||||
REAL tmp,c
|
||||
BYTE i,x1,y1,x2,y2
|
||||
|
||||
MathInit()
|
||||
IntToReal(1,one)
|
||||
|
||||
Graphics(9)
|
||||
FOR i=0 TO 11
|
||||
DO
|
||||
Line(0,i*4,38,1+i*5,15)
|
||||
Line(40+i*4,0,41+i*6,47,15)
|
||||
OD
|
||||
|
||||
DO UNTIL CH#$FF OD
|
||||
CH=$FF
|
||||
RETURN
|
||||
Loading…
Add table
Add a link
Reference in a new issue