02-14-2012, 03:23 AM

Code:

`Function distance (x1 as Integer, y1 as Integer, x2 as Integer, y2 as Integer) as Integer`

Dim x as Integer

x=Abs(x1-x2)

Dim y as Integer

y=Abs(y1-y2)

Return x+y

End Function

Dim bresx(0 to 300) as UByte

Dim bresy(0 to 300) as UByte

Function line(X1 as Integer,Y1 as Integer,X2 as Integer,Y2 as Integer) as Integer

'Draws a line of individual pixels from X1,Y1 to X2,Y2 at any angle

Dim dist as Integer

dist=distance(X1,Y1,X2,Y2)

dim bresiter as Integer

For bresiter=0 To dist

bresx(bresiter)=0

bresy(bresiter)=0

Next

Dim steep as Byte

steep=Abs(Y2-Y1) > Abs(X2-X1)

PRINT AT 1,1 ; PAPER 1 ; INK 0 ; "steep "+STR(steep)

If steep =1 Then

Dim Temp as Integer

steep=X1

X1=Y1

Y1=Temp

Temp=X2

X2=Y2

Y2=Temp

End If

Dim DeltaX as Integer

DeltaX=Abs(X2-X1)

Dim DeltaY as Integer

DeltaY=Abs(Y2-Y1)

Dim IError as Integer

IError=0

Dim DeltaError as Integer

DeltaError=DeltaY

Dim x as Integer

x=X1 'Start at X1,Y1

Dim y as Integer

y=Y1

Dim XStep as Integer

Dim YStep as Integer

If X1<X2 Then

XStep=1

Else

XStep=-1

end if

If Y1<Y2 Then

YStep=1

Else

YStep=-1 'Direction

end if

'If Steep Then Plot(Y,X) Else Plot(X,Y) 'Draw

Dim iter as Integer=1

While x<>X2

'Print x+" <x "+X2+"<x2"

'Print "xstep "+XStep

'x=truncate(x,1)

x=x+XStep 'Move in X

'Print x+" <x after adding xstep "+X2+"<x2"

IError=IError+DeltaError 'Add to counter

If (IError Shl 1)>DeltaX then 'Would it overflow?

y=y+YStep 'Move in Y

IError=IError-DeltaX 'Overflow/wrap the counter

End if

' x=truncate(x,1)

' y=truncate(y,1)

' Print x+" <x after truncating xstep "+X2+"<x2"

If steep then

bresx(iter)=y

' Print bresx[iter]+"<bresx iter>"+iter

bresy(iter)=x

' Print bresy[iter]+"<bresy iter>"+iter

Else

bresx(iter)=x

' Print bresx[iter]+"<bresx iter>"+iter

bresy(iter)=y

' Print bresy[iter]+"<bresy iter>"+iter

End If

iter=iter+1

If iter>dist then

Print "bresenham over distance "+dist

Return dist

End If

' If Steep Then Plot(Y,X) Else Plot(X,Y) 'Draw

Wend

Return dist

End Function

line(0,0,10,5)

for x=0 to 6

Plot bresx(x),bresy(x)

next

When I try to compile it says cant convert to string on line 16 but there are no strings being referred to on that line

EDIT- the problem was on line 107 so the compiler was confused