CPaddle.h
上传用户:sycq158
上传日期:2008-10-22
资源大小:15361k
文件大小:3k
源码类别:

游戏

开发平台:

Visual C++

  1. ///////////////////////////////////////////////////////////////////////////////
  2. /// File:    CPaddle.h
  3. /// Purpose: Declaration of CPaddle Class
  4. ///          This class represents the moveable paddle at the bottom of the
  5. ///          game area to reflect the balls.
  6. ///////////////////////////////////////////////////////////////////////////////
  7. /// Configuation Management
  8. /// 
  9. /// Who         When          Description
  10. /// ===========================================================================
  11. /// R. Walter   28-Dec-2003   Initial Version/Release
  12. ///
  13. ///////////////////////////////////////////////////////////////////////////////
  14. /// Copyright 2003: Robert Walter   All rights reserved
  15. ///////////////////////////////////////////////////////////////////////////////
  16. #ifndef CPADDLE_H_
  17. #define CPADDLE_H_
  18. /// HEADER DEFINES ////////////////////////////////////////////////////////////
  19. #define WIN32_LEAN_AND_MEAN
  20. /// HEADER FILE INCLUDES //////////////////////////////////////////////////////
  21. #include <windows.h>
  22. #include <windowsx.h>
  23. #include "CBall.h"
  24. /// CONSTANTS /////////////////////////////////////////////////////////////////
  25. const int PADDLE_COUNT_STANDARD    = 1;
  26. const int PADDLE_COUNT_DOUBLE      = 2;
  27. const int PADDLE_COUNT_ESCAPE      = 1;
  28. const int DEFAULT_PADDLE_HOR_SPACE = 60;
  29. const int DEFAULT_PADDLE_HEIGHT    = 15;
  30. const int DEFAULT_PADDLE_STANDARD_LENGTH   = 100;
  31. const int DEFAULT_PADDLE_SHORT_LENGTH      =  40;
  32. /// CONSTANTS /////////////////////////////////////////////////////////////////
  33. const int PADDLE_VELOCITY = 10;
  34. /// TYPE / CLASS DECLARATIONS /////////////////////////////////////////////////
  35. class CPaddle
  36. {
  37. private:
  38.     int m_x_pos;     /** current x position of left side of paddle **/
  39.     int m_x_vel;     /** current x axis velocity of paddle **/
  40.     
  41. int m_cnt;       /** number of horizontal paddles **/
  42.     int m_length;    /** current length of paddle **/
  43. int m_hor_space; /** number of pixels between paddle rows **/
  44.     int m_height;    /** height in pixels of each paddle row **/
  45.     
  46. int m_min_limit;    /** furtherest position in pixels paddle can move left **/
  47. int m_max_limit;    /** furtherest position in pixels paddle can move right **/
  48. int m_bottom_limit; /** pixel position of bottom edge of bottom paddle **/
  49.     
  50.     
  51. public:
  52.     // constructors
  53.     CPaddle();
  54.     
  55.     // destructor
  56.     ~CPaddle();
  57.     
  58.     // member functions
  59.     int  GetXPos();
  60.     int  GetXVel();
  61.     int  GetLength();
  62. void GetPaddleRects(int* v_rect_cnt, RECT* v_rects);
  63.     
  64. void SetBaseProperties(int const p_cnt, int const p_hor_space, int const p_length, int const p_height);
  65. void SetPaddleLimits(int const p_min_limit, int const p_max_limit, int const p_bottom_limit);
  66.     void SetXPos(int const p_x_pos);
  67.     void SetXVel(int const p_x_vel);
  68. void SetLength(int const p_length);
  69. bool HitPaddle(CBall p_ball);
  70. bool IsPaddleAtPosition(int p_x, int p_y, RECT* p_rect);
  71.     
  72. };
  73. #endif