|
重新编辑过的主题:
[code:1]
#include "Grid.h"
#include "Block.h"
#include <GL/glut.h>
class Shape{
protected:
int base[2];
float color[4];
int type;
public:
Shape() {};
void SetBase(int , int);
virtual void Change(){};
virtual void Draw(){};
virtual void Move(int){};
virtual int Knock( Block *, int, int){ return 1;};
};
class Square : public Shape{
public:
Square(int, int);
void Change();
void Draw();
void Move(int);
int Knock( Block *, int, int);
};
[/code:1]
[code:1]
main()中......省略无意义的部分
Block *map[100][100];
for(int x=0; x<13; x++){
for(int y=0; y< 17; y++){
map[x][y] = new Block(x, y, x+1, y+1);
map[x][y] -> SetActive(0);
}
}
[/code:1]
我唯一想实现的,是让Shape类中有一个成员变量指向main中的 map[100][100],使所有继承自Shape类的子类能够方分map[100][100]这个数组。
最开始我想的是在Shape中声明
Block ***m;
但是通过继承类的构造函数传入 map不能直接给m附值。
至于谁能给一个什么方法都行。
再次,在此感谢了。 |
|