que tal amigos, estoy programando un juego en c++ basado en tiles con vista isometrica. tengo un problema que me esta quemando la cabeza.
la cosa es asi:
tengo una clase mapa, que tiene un puntero bidimensional a clases tile, y la clase tile tiene un puntero a mapa. la clase tile tiene un metodo dibujar(), que dibuja sobre una estructura BITMAP que esta definida en una clase Graphics, accediendo a esta mediante un puntero en mapa.
aqui esta el codigo, el error que obtengo es "Expected ')' before '*'"
donde esta el error?
//tile.h
#ifndef TILE_H
#define TILE_H
#include "mapa.h"
class Tile
{
public:
Tile(Mapa*, int, int);
~Tile();
void Draw();
private:
Mapa *parent;
int posX;
int posY;
};
#endif // TILE_H
[/code=cpp]
[code]//tile.cpp
#include "tile.h"
Tile::Tile(Mapa *_parent, int x, int y)
{
parent = _parent;
posX = x;
posY = y;
}
Tile::~Tile()
{
}
void Tile::Draw()
{
int px = (posX - posY) * (parent->parent->tile->w /2) + parent->scrollX;
int py = (posX + posY) * (parent->parent->tile->h /2) + parent->scrollY;
draw_sprite(parent->parent->buffer, parent->parent->tile, px, py);
delete px;
delete py;
}
//mapa.h
#include "graphics.h"
#ifndef MAPA_H
#define MAPA_H
#include "tile.h"
class Mapa
{
public:
Mapa(Graphics);
~Mapa();
void Draw();
private:
Tile *matriz[64][64];
int scrollX;
int scrollY;
Graphics *parent;
};
#endif // MAPA_H
#include "mapa.h"
Mapa::Mapa(Graphics *_parent)
{
parent = _parent;
for(int i=0; i<64; i++)
{
for(int j=0; j<64; j++)
{
matriz[j][i] = new Tile(this, j, i);
}
}
}
Mapa::~Mapa()
{
}
void Mapa::Draw()
{
for(int i=0; i<64; i++)
{
for(int j=0; j<64; j++)
{
matriz[j][i]->Draw();
}
}
}
[/code]