Типа Tetris:
class Point {
public:
GLdouble X, Y;
/*...*/
}
class Size{
public:
GLdouble W, H;
/*...*/
}
class Block{
public:
virtual void move(Container &c, MoveRegion &moveRegion) = 0;
virtual void rotate(/*...*/) = 0;
virtual void checkCollision();
/*...*/
}
class Container {
public:
vector<Block*> c;
}
class MoveRegion {
public:
Point p;
Size s;
}
class Cube: public Block{
public:
/*...*/
void move(Container &c, MoveRegion &moveRegion);
void rotate(/*...*/);
virtual void checkCollision();
}
class InvertT: public Block;
class L: public Block;
class InvertL: public Block
class Z: public Block;
class InvertZ: public Block;
class Line: public Block;
Как бы улучшить эту заготовку. Стоит ли писать шаблоны для move, rotate и checkCollision или не стоит париться, так как блоков всего семь. Кто-нибудь еще пользуется мониторами с W/H = 4:3?