13 lines
523 B
Plaintext
13 lines
523 B
Plaintext
1500 REM === Draw a line. Ported from C version
|
|
1510 REM Inputs are X1, Y1, X2, Y2: Destroys value of X1, Y1
|
|
1520 DX = ABS(X2 - X1):SX = -1:IF X1 < X2 THEN SX = 1
|
|
1530 DY = ABS(Y2 - Y1):SY = -1:IF Y1 < Y2 THEN SY = 1
|
|
1540 ER = -DY:IF DX > DY THEN ER = DX
|
|
1550 ER = INT(ER / 2)
|
|
1560 PLOT X1,Y1:REM This command may differ depending on BASIC dialect
|
|
1570 IF X1 = X2 AND Y1 = Y2 THEN RETURN
|
|
1580 E2 = ER
|
|
1590 IF E2 > -DX THEN ER = ER - DY:X1 = X1 + SX
|
|
1600 IF E2 < DY THEN ER = ER + DX:Y1 = Y1 + SY
|
|
1610 GOTO 1560
|