home *** CD-ROM | disk | FTP | other *** search
/ C++ Games Programming / CPPGAMES.ISO / thx / demos / textmode / build / textmode.cpp < prev   
Encoding:
C/C++ Source or Header  |  1995-05-04  |  1.3 KB  |  64 lines

  1. #include <theatrix.h>
  2. #include <iostream.h>
  3.  
  4. class TextModeDirector : public Director {
  5.   void on_key(int key);
  6.   void on_timer()
  7.     { cout << "timer tick...\n"; }
  8.   void on_joystickbutton1()
  9.     { cout << "joystick button 1\n"; }
  10.   void on_joystickbutton2()
  11.     { cout << "joystick button 2\n"; }
  12.   void on_joystickmove(int x, int y)
  13.     { cout << "joystick moved: " << x << ' ' << y << '\n'; }
  14.   DECLARE_CUELIST
  15. public:
  16.   TextModeDirector()  {  }
  17. };
  18.  
  19. CUELIST(TextModeDirector)
  20.   KEYSTROKE(SPACEBAR,on_key)
  21.   KEYSTROKE(ESCAPE,on_key)
  22.   TIMER(1,on_timer)
  23.   JOYSTICKBUTTON(BUTTONONE, on_joystickbutton1)
  24.   JOYSTICKBUTTON(BUTTONTWO, on_joystickbutton2)
  25.   JOYSTICKMOVE(on_joystickmove)
  26. ENDCUELIST
  27.  
  28. void TextModeDirector::on_key(int key)
  29. {
  30.   switch (key) {
  31.     case SPACEBAR:
  32.       cout << "space bar pressed...\n";
  33.       break;
  34.     case ESCAPE:
  35.       stop_director();
  36.       break;
  37.     default:
  38.       break;
  39.   }
  40. }
  41.  
  42. class TextModeApp : public Theatrix  {
  43.   TextModeDirector* dir;
  44. public:
  45.   TextModeApp();
  46.   ~TextModeApp()
  47.     { delete dir; }
  48. };
  49.  
  50. TextModeApp::TextModeApp() : Theatrix("Text Mode Demo")
  51. {
  52.   dir=new TextModeDirector;
  53.   use_video_mode(3);
  54. }
  55.  
  56. int main()
  57. {
  58.   TextModeApp app;
  59.   app.enable_joystick();
  60.   app.go();
  61.   return 0;
  62. }
  63.  
  64.