Jump to content
IGNORED

Grafik-Linie with XFORTH (3 COLOR)


Recommended Posts

Grafik-Linie with XFORTH :

 

HEX

00 VARIABLE DLIST -2 ALLOT
70 C, 70 C, 70 C,
4D C,  9060  ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D ,  0D C,
42 C,  BF60  ,
0202 , 02 ,
41 C, DLIST ,

230  CONSTANT SDLSTL
9060 CONSTANT SCREEN0
02C4 CONSTANT COLOR0
02C5 CONSTANT COLOR1
02C6 CONSTANT COLOR2
02C8 CONSTANT COLOR4

00 VARIABLE COL
00 VARIABLE CO0
00 VARIABLE CO1
00 VARIABLE CO2
00 VARIABLE CO3

00 VARIABLE X0
00 VARIABLE Y0
00 VARIABLE X1
00 VARIABLE Y1
00 VARIABLE DX
00 VARIABLE DY
00 VARIABLE SX
00 VARIABLE SY
00 VARIABLE ERR
00 VARIABLE E2

: GCLS SCREEN0 C80 0 FILL ;

: COLOR
 DUP 0 = IF 0  CO0 !  0 CO1 ! 0 CO2 ! 0 CO3 ! THEN
 DUP 1 = IF 40 CO0 ! 10 CO1 ! 4 CO2 ! 1 CO3 ! THEN
 DUP 2 = IF 80 CO0 ! 20 CO1 ! 8 CO2 ! 2 CO3 ! THEN
 3 = IF C0 CO0 ! 30 CO1 ! C CO2 ! 3 CO3 ! THEN ;

: PLOTXY
SWAP 4 /MOD 2 PICK
 DUP 0 = IF CO0 @ COL ! THEN
 DUP 1 = IF CO1 @ COL ! THEN
 DUP 2 = IF CO2 @ COL ! THEN
 3 = IF CO3 @ COL ! THEN
 SCREEN0 + SWAP DROP SWAP 28 * + DUP @  COL @ XOR SWAP ! ;

: LINIE
 X1 @ X0 @ - ABS DX !

 X0 @ X1 @ <
 IF
1 SX ! Y1 @ Y0 @ - ABS -1 * DY !
 ELSE
  -1 SX ! Y1 @ Y0 @ - ABS -1 * DY !
 THEN

 Y0 @ Y1 @ <
 IF
1 SY ! DX @ DY @ + ERR !
 ELSE
-1 SY ! DX @ DY @ + ERR !
 THEN

 X0 @ Y0 @ PLOTXY

 BEGIN
X0 @  X1 @ = Y0 @ Y1 @ = AND 0 =
WHILE
	2 ERR @ * E2 !
	E2 @ DY @ > IF ERR @ DY @ + ERR ! X0 @ SX @ + X0 ! THEN
	E2 @ DX @ < IF ERR @ DX @ + ERR ! Y0 @ SY @ + Y0 ! THEN
	X0 @ Y0 @ PLOTXY
REPEAT ;

: INIT
0C COLOR4 C!
94 COLOR2 C!
DLIST SDLSTL !
4 2BF C!
2 COLOR
0 X0 ! 0 Y0 ! 4E X1 ! 4E Y1 ! LINIE
4E X0 ! 4E Y0 ! 9E X1 ! 0 Y1 ! LINIE
  9E X0 ! 0 Y0 ! 0 X1 ! 0 Y1 ! LINIE ;

post-31221-0-93660400-1327181679_thumb.jpg

Edited by funkheld
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...