home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / PROG / PASCAL / TPJOYSTK.ZIP / JOYDEMO.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-11-14  |  1.7 KB  |  65 lines

  1. PROGRAM JoystickDemo;
  2. Uses Crt,Joystick;
  3.  
  4. VAR
  5.  x, ox : Byte;
  6.  y, oy : Byte;
  7.  
  8. PROCEDURE UnHighLight(x,y : Byte);
  9.   BEGIN
  10.     Mem[$B800 : ((y-1)*160)+((x)*2)-1] := $0F;   { Unhighlight & highlight }
  11.   END;                                        { Changes attrib at (x,y) }
  12.  
  13. PROCEDURE HighLight(x,y : Byte);
  14.   BEGIN
  15.     Mem[$B800 : ((y-1)*160)+((x)*2)-1] := $4F;
  16.   END;
  17.  
  18. BEGIN
  19.  BetterInitJS(2);        { Initialize the joystick }
  20.  TextMode(CO80);         { Set to 80x25 color mode }
  21.  TextBackGround(BLACK);  { Set up colors..... }
  22.  TextColor(WHITE);
  23.  ClrScr;
  24.  WRITELN('JonSoft Joystick Unit for Turbo Pascal - press any key to end');
  25.  Window(32,5,50,12);
  26.  WRITELN('\              /');   { Make joystick 8-direction pattern }
  27.  WRITELN('');
  28.  WRITELN('');
  29.  WRITELN('       C       ',CHR(26));
  30.  WRITELN('');
  31.  WRITELN('');
  32.  WRITELN('/              \');
  33.  Window(1,1,80,25);
  34.  GotoXY(20,14);           { Set up indicators }
  35.  WRITELN('Button 1 : released   Button 2 : released');
  36.  GotoXY(33,18);
  37.  WRITELN('X : xxx   Y : xxx');
  38.  REPEAT
  39.   GotoXY(37,18);
  40.   WRITE(joy_X,'   ');     { Update X and Y on the screen }
  41.   GotoXY(47,18);
  42.   WRITE(joy_Y,'   ');
  43.   GotoXY(31,14);
  44.   IF button_1 = 1 THEN WRITE('PRESSED ')  { Update button info onscreen }
  45.    ELSE WRITE('released');
  46.   GotoXY(53,14);
  47.   IF button_2 = 1 THEN WRITE('PRESSED ')
  48.    ELSE WRITE('released');
  49.   ox := x;
  50.   oy := y;
  51.   CASE Horiz OF         { Check 8-direction info, update on screen }
  52.    -1 : x := 32;
  53.     0 : x := 40;
  54.     1 : x := 48;
  55.   END;
  56.   CASE Vert OF
  57.    -1 : y := 5;
  58.     0 : y := 8;
  59.     1 : y := 11;
  60.   END;
  61.   Unhighlight(ox,oy);
  62.   Highlight(x,y);
  63.  UNTIL KeyPressed       { Exit when user pressed any key }
  64. END.
  65.