6 #include <Framework/IShape.h> 
   28         Circle(
double X座標, 
double Y座標, 
double 半径) :
 
   37             shape->zoomX = this->
zoomX;
 
   38             shape->zoomY = this->
zoomY;
 
   42         void SetPos(
double X座標, 
double Y座標)
 override 
   60         void Move(
double X移動量, 
double Y移動量)
 override 
   66         double GetX()
 const override 
   71         double GetY()
 const override 
   76         double GetW()
 const override 
   81         double GetH()
 const override 
   86         void Draw(
const Color &描画色) 
const override;
 
   90             return shape->
Hit(
this);
 
   94             for (
auto it : complex->
shapes)
 
   96                 if (it->Hit(
this)) 
return true;
 
  104                 (point->
x - this->x) * (point->
x - this->x) + (point->
y - this->y) * (point->
y - this->y)
 
  106                 (this->radius * this->radius)
 
  117                 (this->
x - circle->
x) * (this->x - circle->
x) + (this->y - circle->
y) * (this->y - circle->
y)
 
  119                 (this->radius + circle->
radius) * (this->radius + circle->
radius)
 
  131                 this->
x - this->radius <= rect->GetRight()
 
  137                 this->y <= rect->GetBottom()
 
  145                 this->x <= rect->GetRight()
 
  151                 this->
y - this->radius <= rect->GetBottom()
 
  155                 (this->
x - rect->
GetLeft()) * (this->
x - rect->
GetLeft()) + (this->
y - rect->
GetTop()) * (this->
y - rect->
GetTop()) <= (this->radius * this->radius)
 
double GetThickHarf() const 
太さの半分を取得. 
Definition: Line.h:208
矩形を表す図形クラス. 
Definition: Rect.h:22
double y
座標 
Definition: Point.h:26
void Draw(const Color &描画色) const override
描画する. 
Definition: ShapeDraw.h:38
太さのある線を表す図形クラス. 
Definition: Line.h:20
double GetBottom() const 
下端のY座標を取得. 
Definition: Rect.h:136
double GetX() const override
X座標を取得. 
Definition: Circle.h:66
IShape * Clone(double X座標, double Y座標) const override
同じ形の図形を作る. 
Definition: Circle.h:34
double GetTop() const 
上端のY座標を取得. 
Definition: Rect.h:124
double GetRight() const 
右端のX座標を取得. 
Definition: Rect.h:130
bool Hit(const Line *line) const override
衝突判定. 
Definition: Circle.h:109
double GetLeft() const 
左端のX座標を取得. 
Definition: Rect.h:118
bool Hit(const Rect *rect) const override
衝突判定. 
Definition: Circle.h:122
std::vector< IShape * > shapes
保持するShape 
Definition: Complex.h:23
double x
座標 
Definition: Circle.h:23
点を表す図形クラス. 
Definition: Point.h:22
void Move(double X移動量, double Y移動量) override
相対座標で移動. 
Definition: Circle.h:60
衝突判定可能な図形の抽象クラス. 
Definition: IShape.h:21
virtual bool Hit(const IShape *iShape) const =0
衝突判定. 
double y
座標 
Definition: Circle.h:24
複合図形を表すクラス. 
Definition: Complex.h:20
bool Hit(const Point *point) const override
衝突判定. 
Definition: Circle.h:100
double GetY() const override
Y座標を取得. 
Definition: Circle.h:71
色を表すクラス. 
Definition: Color.h:11
bool Hit(const Circle *circle) const override
衝突判定. 
Definition: Circle.h:113
void MultiZoom(double 倍率X, double 倍率Y) override
縦横別で拡大率を掛け算する. 
Definition: Circle.h:48
double GetH() const override
高さを取得. 
Definition: Circle.h:81
bool Hit(const IShape *shape) const override
衝突判定. 
Definition: Circle.h:88
void SetPos(double X座標, double Y座標) override
指定座標に移動. 
Definition: Circle.h:42
double zoomX
図形の拡大率 
Definition: IPosition.h:14
double x
座標 
Definition: Point.h:25
double GetW() const override
幅を取得. 
Definition: Circle.h:76
bool LinePoint(double px, double py, double range) const 
線と点の当たり判定. 
Definition: Line.h:291
Circle(double X座標, double Y座標, double 半径)
コンストラクタ. 
Definition: Circle.h:28
円を表す図形クラス. 
Definition: Circle.h:20
double zoomY
図形の拡大率 
Definition: IPosition.h:15
bool Hit(const Complex *complex) const override
衝突判定. 
Definition: Circle.h:92
double radius
半径 
Definition: Circle.h:25
void Rotate(double 回転する角度) override
回転する. 
Definition: Circle.h:56