From d930ef120848bea2c8ddb67f61b9ef04c2b5af54 Mon Sep 17 00:00:00 2001 From: El Saico Date: Fri, 16 Oct 2009 15:51:31 -0300 Subject: [PATCH] Criada classe Mapa; scrolling --- mapa.cpp | 26 ++++++++++++++++++++++++++ mapa.h | 25 +++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 mapa.cpp create mode 100644 mapa.h diff --git a/mapa.cpp b/mapa.cpp new file mode 100644 index 0000000..fd8dfe0 --- /dev/null +++ b/mapa.cpp @@ -0,0 +1,26 @@ +#include "mapa.h" + +Mapa::Mapa(double xmax, double ymax, Player *p, GravityManager *g): jogador(p), gravidade(g) { + tamanho.x = xmax; + tamanho.y = ymax; +} + +void Mapa::novaLinha(double xmin, double ymin, double xmax, double ymax) { + Linha l(xmin, ymin, xmax, ymax); + linhas.push_front(l); + gravidade->addPlatform(&linhas.front()); +} + +void Mapa::desenha() { + std::list::iterator it; + for (it = linhas.begin(); it != linhas.end(); it++) + it->desenha(); +} + +double Mapa::xmax() { + return tamanho.x; +} + +double Mapa::ymax() { + return tamanho.y; +} diff --git a/mapa.h b/mapa.h new file mode 100644 index 0000000..2490941 --- /dev/null +++ b/mapa.h @@ -0,0 +1,25 @@ +#ifndef MAPA_H +#define MAPA_H + +#include + +#include "player.h" +#include "geometry.h" + +class Player; + +class Mapa { + private: + Ponto tamanho; + Player *jogador; + GravityManager *gravidade; + std::list linhas; + public: + Mapa(double xmax, double ymax, Player *p, GravityManager *g); + void novaLinha(double xmin, double ymin, double xmax, double ymax); + void desenha(); + double xmax(); + double ymax(); +}; + +#endif -- 2.11.4.GIT