クラスを使った当たり判定の出し方がいくら考えてもわかりません。
class a{
protected:
int x1,x2,y1,y2;//当たり判定
int x3,x4,y3,y4;//攻撃判定
int atari;//当たれば1
};
class chara1:public a{
};
class chara2:public a{
};
charaクラスに1を返すようなことをしたいのですがどのようにしたらよいのでしょう。
c++初心者ですがよろしくおねがいします。
class a{
public:
int x1,x2,y1,y2;//当たり判定
int x3,x4,y3,y4;//攻撃判定
int atari;//当たれば1
static int checkhit(a* hantei,a* hantei2);
};
int a::checkhit(a* hantei,a* hantei2){
if(hantei->x1<hantei2->x4&&hantei->x2>hantei2->x3&&hantei->y1<hantei2->y4&&hantei->y2>hantei2->y3)
return 1;
}
class chara1:public a{
};
class chara2:public a{
};
int main{
chara1 chara1;
chara2 chara2;
chara1.atari=a::checkhit(&chara1,&chara2);
retun 0;
}