home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ocl150a.zip / OCL / Samples / Balloons / Source / client.hpp < prev    next >
C/C++ Source or Header  |  1996-08-12  |  2KB  |  86 lines

  1. // Balloons Game  (BALLOONS.EXE)
  2. // OCL Sample
  3. // balloons.hpp
  4.  
  5.  
  6. #define INCL_WIN
  7. #define INCL_PM
  8. #define INCL_DOS
  9.  
  10.  
  11. #include <ocl.hpp>
  12. #include <OApp.hpp>
  13. #include <OFrame.hpp>
  14. #include <OPipeCli.hpp>
  15. #include <ONSem.hpp>
  16. #include <OMsgs.hpp>
  17. #include <OPMException.hpp>
  18.  
  19.  
  20. #include "..\Source\Balloons.hpp"
  21. #include "..\Source\Client.h"
  22.  
  23.  
  24. // definitions
  25.  
  26. #define LRAND(a)     ((LONG)rand() % a)
  27.  
  28.  
  29. // structs
  30.  
  31. typedef struct _BALLPTL
  32. {
  33.  POINTL  Ptl;
  34.  LONG    deltax;
  35.  LONG    deltay;
  36. } BALLPTL, *PBALLPTL;
  37.  
  38.  
  39.  
  40. class BPipeClient
  41.    : public OPipeCli
  42. {
  43.  public:
  44.    BPipeClient()
  45.      : OPipeCli(sizeof(PIPEMSG)) {}
  46.  
  47.    virtual ~BPipeClient() {}
  48.    virtual PSZ isOfType() const { return("BPipeClient");  } 
  49.  
  50.    void OPipeCommand(PVOID pvData);
  51. };
  52.  
  53.  
  54. typedef class BalloonClient *pBalloonClient;
  55.  
  56. class BalloonClient
  57.    : public OApp, 
  58.      public OFrame,
  59.      private BPipeClient
  60. {
  61.  private:
  62.    OThread<BalloonClient> drawThread;
  63.  
  64.  public:
  65.    PIPEMSG                pipeMessage;
  66.    BALLPTL                Balls[5];
  67.    HBITMAP                hbm;
  68.    ULONG                  BallCount;
  69.    ULONG                  Speed;
  70.    ULONG                  cx;
  71.    ULONG                  cy;
  72.    BOOL                   goDown;
  73.  
  74.    BalloonClient();
  75.    ~BalloonClient() {}
  76.    virtual PSZ isOfType() const { return("BalloonClient");  } 
  77.  
  78.    void init();
  79.    void draw();
  80.    void calculate(PBALLPTL pBptl);
  81.    BOOL OCommand(ULONG msg, MPARAM mp1, MPARAM mp2);
  82. };
  83.  
  84.  
  85. // end of source
  86.