//TUTORIAL 4 PART 1 //DEFINE VARIABLES Global KEYPRESS$, COUNT, X, TYPE, TYPESTR$, NAME$, JOYSTICK //DEFINE PROCEDURES DefProc INIT_DISPLAY() //---- START MAIN CODE ---- //CALL THE PROCEDURE TO CREATE THE SCREEN INIT_DISPLAY() JOYSTICK = False //MAKE SURE THIS VARIABLE IS SET TO FALSE BEFORE WE BEGIN //START LOOP - THIS LOOP WILL REPEAT UNTIL A KEY IS PRESSED Repeat COUNT=InputDeviceCount() //GET THE NUMBER OF INPUT DEVICES DETECTED BY DIRECTX Text(10,150,"Total # of devices = " + Str$(COUNT)) //CONVERT COUNT TO A STRING AND PRINT ONTO THE SCREEN (YOU WOULD NORMALLY EXPECT TO SEE 2 OR MORE) For X = 1 To COUNT //LOOP THROUGH EACH DETECTED DEVICE TYPE = InputDeviceType(X) //GET THE TYPE ID NUMBER //CONSTRUCT A STRING DESCRIBING THE DEVICE TYPE If TYPE = 1 Then : TYPESTR$ = "Unknown" : EndIf If TYPE = 2 Then : TYPESTR$ = "Mouse" : EndIf If TYPE = 3 Then : TYPESTR$ = "Keyboard" : EndIf If TYPE = 4 Then : TYPESTR$ = "Joystick or pad" : JOYSTICK = True : EndIf //SET JOYSTICK TO TRUE TO SAY THAT WE HAVE FOUND A JOYSTICK NAME$ = InputDeviceName$(X) //GET THE DEVICE NAME (AS IT IS NAMED IN ITS DRIVER) //PRINT RESULTS Text(10,150+(X*12),"Device #" + " " + Str$(X) + " Type = " + TYPESTR$ + " Name = " + NAME$) Next //STATE WHETHER OR NOT A JOYSTICK WAS FOUND If JOYSTICK = True Then Text (10,120,"A Joystick was found.") Else Text (10,120,"A Joystick was NOT found.") EndIf KEYPRESS$ = Inkey$() Update Display Until KEYPRESS$ > "" //THE INIT_DISPLAY PROCEDURE CREATES A SCREEN AND A PLANE Procedure INIT_DISPLAY() Create Map 640,480,1,1 In Bank 50 //CREATE A MAP IN BANK 50 Set Tile 0,0,1 Using Bank 50 //CREATE A TILE USING A BACKGROUND IMAGE IN BANK 1 Create Plane 1 Using Bank 50 //CREATE PLANE 1 USING THE MAP IN BANK 50 ReDirect GDI Output To Bank 1 EndProc EndProg