Типа 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?





