RosettaCodeData/Task/Joystick-position/BBC-BASIC/joystick-position.basic

24 lines
494 B
Plaintext

VDU 23,22,512;512;8,16,16,0
VDU 5
GCOL 4,15
REPEAT
B% = ADVAL(0)
X% = ADVAL(1) / 64
Y% = 1023 - ADVAL(2) / 64
PROCjoy(B%,X%,Y%)
WAIT 4
PROCjoy(B%,X%,Y%)
UNTIL FALSE
END
DEF PROCjoy(B%,X%,Y%)
LOCAL I%
LINE X%-32,Y%,X%+32,Y% : LINE X%,Y%-32,X%,Y%+32
VDU 30
FOR I% = 0 TO 15
IF B% AND 1<<I% THEN PRINT "Button "; I%+1 " pressed";
VDU 10,13
NEXT
ENDPROC