Another thing that is wrong is that you're not using a loop to handle the button input.
Right now, your code only check the button input once.
You need to do this:
VAR B
WHILE TRUE
B=BUTTON()
IF B AND #A THEN
DO SOMETHING
ENDIF
IF B AND #B THEN
DO OTHER THING
ENDIF
WEND
@Simon it looks like you're missing a loop or ELSE command, so the program runs beginning to end without stopping regardless of whether you are pressing up or not. One solution is to, at the end of line 8, add: ELSE END. The second solution is to, on line 9 write: GOTO @PART1.
lol, you know how many text based games are on SB, heck my first game was pure text. Like they said, main problem is you need a loop, and with a VSYNC, not wait 300.
ENDIF close an if statement. If you use IF alone then you must put each sentence at the right of it:
EXAMPLE: IF X==0 THEN DO A; DO B; DO C; ETC
With ENDIF you can do this.
IF X==0 THEN
DO A
DO B
DO C
...
ENDIF