Forum
found a bug on draw command - Printable Version

+- Forum (https://www.boriel.com/forum)
+-- Forum: Compilers and Computer Languages (https://www.boriel.com/forum/forumdisplay.php?fid=12)
+--- Forum: ZX Basic Compiler (https://www.boriel.com/forum/forumdisplay.php?fid=11)
+---- Forum: Help & Support (https://www.boriel.com/forum/forumdisplay.php?fid=16)
+---- Thread: found a bug on draw command (/showthread.php?tid=379)



found a bug on draw command - nitrofurano - 10-01-2011

Code:
10 cls:out 254,6

12 let x1=60:let y1=60
14 let x2=70:let y2=50
16 plot x1,192-y1
18 draw x2-x1,y1-y2

22 let x1=80:let y1=60
24 let x2=90:let y2=70
26 plot x1,192-y1
28 draw x2-x1,y1-y2

30 pause 0


this code should draw two lines, not one line and one dot...

[Image: zxbasiccompilerbug.png]


Re: found a bug on draw command - boriel - 10-01-2011

Unlike Sinclair Basic, which uses FLOAT type for every variable, when you don't declare vars, ZX BASIC tries to guess the best type for them.
It seems it's using Byte types (range -128..127) which could to be causing overflow.

Add this line:
Code:
11 DIM x1, x2, y1, y2 As Integer
to ensure the Integer type will be used (using Float will also work, but will take more memory and will be almost as slow as Sinclair BASIC).


Re: found a bug on draw command - nitrofurano - 10-01-2011

thanks! Smile