I can help. You are running into an assignment vs. comparison problem. If you say f=1 you are assigning the value 1 to the variable f. If you say something like f==1, you are checking is the variable f equal to 1 and returning a true/false depending on if it is or not. So on line 71 the first = should be ==, but your second = should remain just =. The >= is fine as is too.
Just to throw it out there, the reason for this change is because in the original BASIC you needed the LET command (e.g. LET F=1) to assign, so the IF command could use the same single equal sign without problems.
But since SmileBASIC omitted LET, another symbol had to be created for IF. They chose the double equal sign ==.
i knew the = and == special functions but i couldn't see it right here.
i got a question. how do you use rnd( and randomize.
i want to randomize 1 and -1 so i can use it.i'm trying to make pong and randomize the starting point of the ball from 14 to 28 horizontally and randomize it's starting direction
You could use CLS, then redraw the border and ball. For example:
WHILE 1
VSYNC 1 'Wait a frame before advancing
CLS 'Clear text screen
... draw border and ball ...
WEND
rnd gives you a random number between 0 and the entered value - 1. You only get whole numbers. If you want numbers with a decimal point then you would want rndf (hope I spelled that right) which gives you a random number between 0 and 1 which you could scale to the desired range by multiplication.