First off, is that in a loop?
Second, why do you have 3 BUTTON() statements?
One BUTTON() will detect ALL button presses at the time it is called, like if I press up, and use BUTTON(), it detects up.
Having three BUTTON()seems unnecessary.
As for the circle pad...
To use the circle, you can use
STICK OUT <x-var>,<y-var>The amount of offset from neutral position (no movement) is the stored to whatever X and Y variables you give it. Like if I press up with the circle pad, it would make TY go up depending on how much I press up - if it's halfway up, then TY would be half (0.5). If I press it 2/3 of the way up, it would be about 0.66666 My explanations suck In summary use STICK OUT to get circle pad input.