From dce91729ff119ce6e00340f67297ca9e3e72110c Mon Sep 17 00:00:00 2001 From: totycro Date: Wed, 6 Apr 2011 15:07:01 +0200 Subject: Cleaned up constants --- pacman-c++/mainwidget.cpp | 134 ++++++++++++++++++++++++---------------------- 1 file changed, 69 insertions(+), 65 deletions(-) (limited to 'pacman-c++/mainwidget.cpp') diff --git a/pacman-c++/mainwidget.cpp b/pacman-c++/mainwidget.cpp index e9b4cc3..809e786 100644 --- a/pacman-c++/mainwidget.cpp +++ b/pacman-c++/mainwidget.cpp @@ -5,8 +5,52 @@ #include "bonuspoint.h" #include "constants.h" +// temporary +Transmission::map_t createDummyMap() +{ + Transmission::map_t map; + map = new Transmission::field_t*[Constants::map_size.width]; + for (unsigned int i = 0; i < Constants::map_size.width; ++i) + map[i] = new Transmission::field_t[Constants::map_size.height]; + + for (unsigned int x = 0; x < Constants::map_size.width; ++x) + { + for (unsigned int y = 0; y < Constants::map_size.height; ++y) + { + Transmission::field_t &cur = map[x][y]; + cur = 0; + } + } + + map[0][0] |= Color::none ^ Transmission::block; + map[0][1] |= Color::none ^ Transmission::block; + map[0][2] |= Color::none ^ Transmission::block; + map[1][0] |= Color::none ^ Transmission::block; + map[2][0] |= Color::none ^ Transmission::block; + + map[4][3] |= Color::green ^ Transmission::block; + + map[5][3] |= Color::none ^ Transmission::block; + map[6][3] |= Color::none ^ Transmission::block; + map[7][3] |= Color::red ^ Transmission::block; + + map[7][5] |= Transmission::bonuspoint; + + map[5][5] |= Color::blue; + map[5][5] |= Transmission::pacman; + map[5][5] |= Transmission::direction_left; + + return map; +} + MainWidget::MainWidget() : currentKey(0) +{ + createGui(); + updateMap(createDummyMap()); +} + +void MainWidget::createGui() { setFocusPolicy(Qt::StrongFocus); @@ -30,24 +74,23 @@ MainWidget::MainWidget() m_playerScoreLayouts.append(playerLayout); } - m_scene = new QGraphicsScene(0, 0, 500, 500, this); + m_scene = new QGraphicsScene(0, 0, Constants::map_size_pixel.width, Constants::map_size_pixel.height, this); m_scene->setBackgroundBrush(Qt::black); QGraphicsView *window = new QGraphicsView(m_scene, this); window->setFrameStyle(0); window->setAlignment(Qt::AlignLeft | Qt::AlignTop); - window->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - window->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + //window->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + //window->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); layout->addLayout(m_scoreLayout); layout->addWidget(window); setLayout(layout); setWindowTitle("pacman client"); - - loadDummyMap(); } + void MainWidget::updateScore() { QMapIterator i(m_actors); @@ -66,66 +109,27 @@ void MainWidget::updateScore() } } -// temporary -transmission::map_t createDummyMap() -{ - transmission::map_t map; - map = new transmission::field_t*[map_size[0]]; - for (unsigned int i = 0; i < map_size[0]; ++i) - map[i] = new transmission::field_t[map_size[1]]; - - for (unsigned int x = 0; x < map_size[0]; ++x) - { - for (unsigned int y = 0; y < map_size[1]; ++y) - { - transmission::field_t &cur = map[x][y]; - cur = 0; - } - } - - map[0][0] |= Color::none ^ transmission::block; - map[0][1] |= Color::none ^ transmission::block; - map[0][2] |= Color::none ^ transmission::block; - map[1][0] |= Color::none ^ transmission::block; - map[2][0] |= Color::none ^ transmission::block; - - map[4][3] |= Color::green ^ transmission::block; - - map[5][3] |= Color::none ^ transmission::block; - map[6][3] |= Color::none ^ transmission::block; - map[7][3] |= Color::red ^ transmission::block; - - map[7][5] |= transmission::bonuspoint; - - map[5][5] |= Color::blue; - map[5][5] |= transmission::pacman; - map[5][5] |= transmission::direction_left; - - return map; -} -void MainWidget::loadDummyMap() +void MainWidget::updateMap(const Transmission::map_t& map) { - transmission::map_t map = createDummyMap(); - - for (unsigned int x = 0; x < map_size[0]; ++x) + for (unsigned int x = 0; x < Constants::map_size.width; ++x) { - for (unsigned int y = 0; y < map_size[1]; ++y) + for (unsigned int y = 0; y < Constants::map_size.height; ++y) { - const transmission::field_t &cur = map[x][y]; + const Transmission::field_t &cur = map[x][y]; if (cur == 0) continue; qDebug() << "not 0 at x=" << x << ", y=" << y << ", val=" << cur; - Color::Color color = static_cast(cur & transmission::color_mask); + Color::Color color = static_cast(cur & Transmission::color_mask); qDebug() << "col=" << color; PixmapItem *item = 0; - if (cur & transmission::block) + if (cur & Transmission::block) item = new Block(color); - else if (cur & transmission::bonuspoint) + else if (cur & Transmission::bonuspoint) item = new BonusPoint(); - else if (cur & transmission::pacman) + else if (cur & Transmission::pacman) { Actor *actor = m_actors.value(color, 0); if (actor == 0) { // 0 entspricht NULL ;) @@ -137,21 +141,21 @@ void MainWidget::loadDummyMap() } Actor::Movement direction; - switch (cur & transmission::direction_mask) + switch (cur & Transmission::direction_mask) { - case transmission::direction_none: + case Transmission::direction_none: direction = Actor::None; break; - case transmission::direction_left: + case Transmission::direction_left: direction = Actor::Left; break; - case transmission::direction_right: + case Transmission::direction_right: direction = Actor::Right; break; - case transmission::direction_up: + case Transmission::direction_up: direction = Actor::Up; break; - case transmission::direction_down: + case Transmission::direction_down: direction = Actor::Down; break; default: @@ -174,23 +178,23 @@ void MainWidget::loadDummyMap() QPoint MainWidget::mapPositionToCoord(unsigned int x, unsigned int y) { - return QPoint(x * field_size[0], y * field_size[1]); + return QPoint(x * Constants::field_size.width, y * Constants::field_size.height); } -transmission::field_t MainWidget::translateKey(int key) +Transmission::field_t MainWidget::translateKey(int key) { switch(key) { case Qt::Key_Up: - return transmission::direction_up; + return Transmission::direction_up; break; case Qt::Key_Down: - return transmission::direction_down; + return Transmission::direction_down; break; case Qt::Key_Left: - return transmission::direction_left; + return Transmission::direction_left; break; case Qt::Key_Right: - return transmission::direction_right; + return Transmission::direction_right; break; default: return 0; @@ -206,7 +210,7 @@ void MainWidget::keyPressEvent(QKeyEvent* event) void MainWidget::keyReleaseEvent(QKeyEvent* event) { QWidget::keyReleaseEvent(event); - transmission::field_t releasedKey = translateKey(event->key()); + Transmission::field_t releasedKey = translateKey(event->key()); if (releasedKey == currentKey) { // current key got released // if this is false, a key got released which has already -- cgit v1.2.3