home *** CD-ROM | disk | FTP | other *** search
- #include <theatrix.h>
- #include <iostream.h>
-
- class TextModeDirector : public Director {
- void on_key(int key);
- void on_timer()
- { cout << "timer tick...\n"; }
- void on_joystickbutton1()
- { cout << "joystick button 1\n"; }
- void on_joystickbutton2()
- { cout << "joystick button 2\n"; }
- void on_joystickmove(int x, int y)
- { cout << "joystick moved: " << x << ' ' << y << '\n'; }
- DECLARE_CUELIST
- public:
- TextModeDirector() { }
- };
-
- CUELIST(TextModeDirector)
- KEYSTROKE(SPACEBAR,on_key)
- KEYSTROKE(ESCAPE,on_key)
- TIMER(1,on_timer)
- JOYSTICKBUTTON(BUTTONONE, on_joystickbutton1)
- JOYSTICKBUTTON(BUTTONTWO, on_joystickbutton2)
- JOYSTICKMOVE(on_joystickmove)
- ENDCUELIST
-
- void TextModeDirector::on_key(int key)
- {
- switch (key) {
- case SPACEBAR:
- cout << "space bar pressed...\n";
- break;
- case ESCAPE:
- stop_director();
- break;
- default:
- break;
- }
- }
-
- class TextModeApp : public Theatrix {
- TextModeDirector* dir;
- public:
- TextModeApp();
- ~TextModeApp()
- { delete dir; }
- };
-
- TextModeApp::TextModeApp() : Theatrix("Text Mode Demo")
- {
- dir=new TextModeDirector;
- use_video_mode(3);
- }
-
- int main()
- {
- TextModeApp app;
- app.enable_joystick();
- app.go();
- return 0;
- }
-
-