#N88BASIC '-------------------------------------------------- 'ゲームパッド定義 ' エラー Const MMSYSERR_INVALPARAM = 11 Const JOYERR_UNPLAGGED = 167 ' ボタン Const JOY_BUTTON1 = &H00000001 Const JOY_BUTTON2 = &H00000002 Const JOY_BUTTON3 = &H00000004 Const JOY_BUTTON4 = &H00000008 Const JOY_BUTTON5 = &H00000010 Const JOY_BUTTON6 = &H00000020 Const JOY_BUTTON7 = &H00000040 Const JOY_BUTTON8 = &H00000080 Const JOY_BUTTON9 = &H00000100 Const JOY_BUTTON10= &H00000200 Const JOY_DOWN = &H00000000 Const JOY_UP = &H0000FFFF ' JOYINFO 構造体 Type JOYINFO dwXpos As Dword dwYpos As Dword dwZpos As Dword dwButtons As Dword End Type ' joyGetPos Declare Function joyGetPos Lib "winmm" ( _ dwJoystickID As Dword, _ ByRef ji As JOYINFO _ ) As Dword DIM JOYID AS Dword DIM JOYB AS Dword DIM JOYX AS Dword DIM JOYY AS Dword Dim info As JOYINFO '-------------------------------------------------------------- DIM CNT AS Dword DIM x AS Integer DIM y AS Integer x=0:y=1 FOR CNT=0 TO 9 IF joyGetPos(CNT,info)=0 THEN JOYID=CNT:CNT=10 NEXT *LOOP Sleep(1) joyGetPos(JOYID,info) JOYB=info.dwButtons JOYX=info.dwXpos JOYY=info.dwYpos LOCATE x,y:PRINT " "; LOCATE 1,0:PRINT " "; IF JOYB and JOY_BUTTON1 THEN TEST(1) IF JOYB and JOY_BUTTON2 THEN TEST(2) IF JOYB and JOY_BUTTON3 THEN TEST(3) IF JOYB and JOY_BUTTON4 THEN TEST(4) IF JOYB and JOY_BUTTON10 THEN TEST(10) IF JOYX=JOY_DOWN and x>0 THEN x=x-1 IF JOYX=JOY_UP and x<40 THEN x=x+1 IF JOYY=JOY_DOWN and y>1 THEN y=y-1 IF JOYY=JOY_UP and y<20 THEN y=y+1 LOCATE x,y:PRINT "+"; GOTO *LOOP END SUB TEST(cnt AS Integer) LOCATE cnt,0:PRINT "*" ENDSUB