From e1d45435ca9d0a0a9fe3824108db566de00644c2 Mon Sep 17 00:00:00 2001 From: manuel Date: Thu, 7 Apr 2011 15:14:36 +0200 Subject: final demo map --- pacman-c++/constants.h | 2 +- pacman-c++/mainwidget.cpp | 213 ++++++++++------------------------------------ 2 files changed, 47 insertions(+), 168 deletions(-) diff --git a/pacman-c++/constants.h b/pacman-c++/constants.h index 3d78d1d..e7755d4 100644 --- a/pacman-c++/constants.h +++ b/pacman-c++/constants.h @@ -8,7 +8,7 @@ namespace Constants { const unsigned int height; } field_size = { 16, 16 }, - map_size = { 30, 30 }, + map_size = { 35, 17 }, map_size_pixel = { field_size.width * map_size.width, field_size.height * map_size.height }; const unsigned int sprite_margin = 2; diff --git a/pacman-c++/mainwidget.cpp b/pacman-c++/mainwidget.cpp index 73612af..780312f 100644 --- a/pacman-c++/mainwidget.cpp +++ b/pacman-c++/mainwidget.cpp @@ -25,173 +25,50 @@ Transmission::map_t createDummyMap() } } - // T - unsigned x = 0, y = 0; - map[x + 0][y + 0] |= Color::none | Transmission::block; - map[x + 1][y + 0] |= Color::none | Transmission::block; - map[x + 2][y + 0] |= Color::none | Transmission::block; - map[x + 3][y + 0] |= Color::none | Transmission::block; - map[x + 4][y + 0] |= Color::none | Transmission::block; - map[x + 2][y + 1] |= Color::none | Transmission::block; - map[x + 2][y + 2] |= Color::none | Transmission::block; - map[x + 2][y + 3] |= Color::none | Transmission::block; - map[x + 2][y + 4] |= Color::none | Transmission::block; - x += 6; - - // U - map[x + 0][y + 0] |= Color::none | Transmission::block; - map[x + 0][y + 1] |= Color::none | Transmission::block; - map[x + 0][y + 2] |= Color::none | Transmission::block; - map[x + 0][y + 3] |= Color::none | Transmission::block; - map[x + 0][y + 4] |= Color::none | Transmission::block; - map[x + 1][y + 4] |= Color::none | Transmission::block; - map[x + 2][y + 0] |= Color::none | Transmission::block; - map[x + 2][y + 1] |= Color::none | Transmission::block; - map[x + 2][y + 2] |= Color::none | Transmission::block; - map[x + 2][y + 3] |= Color::none | Transmission::block; - map[x + 2][y + 4] |= Color::none | Transmission::block; - x += 4; - - // : - map[x + 0][y + 1] |= Color::none | Transmission::block; - map[x + 0][y + 3] |= Color::none | Transmission::block; - x += 2; - - // W - map[x + 0][y + 0] |= Color::none | Transmission::block; - map[x + 0][y + 1] |= Color::none | Transmission::block; - map[x + 0][y + 2] |= Color::none | Transmission::block; - map[x + 0][y + 3] |= Color::none | Transmission::block; - map[x + 0][y + 4] |= Color::none | Transmission::block; - map[x + 1][y + 4] |= Color::none | Transmission::block; - map[x + 2][y + 4] |= Color::none | Transmission::block; - map[x + 3][y + 4] |= Color::none | Transmission::block; - map[x + 2][y + 1] |= Color::none | Transmission::block; - map[x + 2][y + 2] |= Color::none | Transmission::block; - map[x + 4][y + 0] |= Color::none | Transmission::block; - map[x + 4][y + 1] |= Color::none | Transmission::block; - map[x + 4][y + 2] |= Color::none | Transmission::block; - map[x + 4][y + 3] |= Color::none | Transmission::block; - map[x + 4][y + 4] |= Color::none | Transmission::block; - x += 6; - - // I - map[x + 0][y + 0] |= Color::none | Transmission::block; - map[x + 0][y + 1] |= Color::none | Transmission::block; - map[x + 0][y + 2] |= Color::none | Transmission::block; - map[x + 0][y + 3] |= Color::none | Transmission::block; - map[x + 0][y + 4] |= Color::none | Transmission::block; - x += 2; - - // E - map[x + 0][y + 0] |= Color::none | Transmission::block; - map[x + 0][y + 1] |= Color::none | Transmission::block; - map[x + 0][y + 2] |= Color::none | Transmission::block; - map[x + 0][y + 3] |= Color::none | Transmission::block; - map[x + 0][y + 4] |= Color::none | Transmission::block; - map[x + 1][y + 0] |= Color::none | Transmission::block; - map[x + 2][y + 0] |= Color::none | Transmission::block; - map[x + 1][y + 2] |= Color::none | Transmission::block; - map[x + 2][y + 2] |= Color::none | Transmission::block; - map[x + 1][y + 4] |= Color::none | Transmission::block; - map[x + 2][y + 4] |= Color::none | Transmission::block; - x += 4; - - // N - map[x + 0][y + 0] |= Color::none ^ Transmission::block; - map[x + 0][y + 1] |= Color::none ^ Transmission::block; - map[x + 0][y + 2] |= Color::none ^ Transmission::block; - map[x + 0][y + 3] |= Color::none ^ Transmission::block; - map[x + 0][y + 4] |= Color::none ^ Transmission::block; - map[x + 1][y + 1] |= Color::none ^ Transmission::block; - map[x + 2][y + 2] |= Color::none ^ Transmission::block; - map[x + 3][y + 3] |= Color::none ^ Transmission::block; - map[x + 4][y + 0] |= Color::none ^ Transmission::block; - map[x + 4][y + 1] |= Color::none ^ Transmission::block; - map[x + 4][y + 2] |= Color::none ^ Transmission::block; - map[x + 4][y + 3] |= Color::none ^ Transmission::block; - map[x + 4][y + 4] |= Color::none ^ Transmission::block; - - // F - x = 5; - y = 6; - map[x + 0][y + 0] |= Color::none | Transmission::block; - map[x + 0][y + 1] |= Color::none | Transmission::block; - map[x + 0][y + 2] |= Color::none | Transmission::block; - map[x + 0][y + 3] |= Color::none | Transmission::block; - map[x + 0][y + 4] |= Color::none | Transmission::block; - map[x + 1][y + 0] |= Color::none | Transmission::block; - map[x + 2][y + 0] |= Color::none | Transmission::block; - map[x + 1][y + 2] |= Color::none | Transmission::block; - map[x + 2][y + 2] |= Color::none | Transmission::block; - x += 4; - - // O - map[x + 0][y + 0] |= Color::none | Transmission::block; - map[x + 0][y + 1] |= Color::none | Transmission::block; - map[x + 0][y + 2] |= Color::none | Transmission::block; - map[x + 0][y + 3] |= Color::none | Transmission::block; - map[x + 0][y + 4] |= Color::none | Transmission::block; - map[x + 1][y + 0] |= Color::none | Transmission::block; - map[x + 2][y + 0] |= Color::none | Transmission::block; - map[x + 1][y + 4] |= Color::none | Transmission::block; - map[x + 2][y + 4] |= Color::none | Transmission::block; - map[x + 3][y + 0] |= Color::none | Transmission::block; - map[x + 3][y + 1] |= Color::none | Transmission::block; - map[x + 3][y + 2] |= Color::none | Transmission::block; - map[x + 3][y + 3] |= Color::none | Transmission::block; - map[x + 3][y + 4] |= Color::none | Transmission::block; - x += 5; - - // O - map[x + 0][y + 0] |= Color::none | Transmission::block; - map[x + 0][y + 1] |= Color::none | Transmission::block; - map[x + 0][y + 2] |= Color::none | Transmission::block; - map[x + 0][y + 3] |= Color::none | Transmission::block; - map[x + 0][y + 4] |= Color::none | Transmission::block; - map[x + 1][y + 0] |= Color::none | Transmission::block; - map[x + 2][y + 0] |= Color::none | Transmission::block; - map[x + 1][y + 4] |= Color::none | Transmission::block; - map[x + 2][y + 4] |= Color::none | Transmission::block; - map[x + 3][y + 0] |= Color::none | Transmission::block; - map[x + 3][y + 1] |= Color::none | Transmission::block; - map[x + 3][y + 2] |= Color::none | Transmission::block; - map[x + 3][y + 3] |= Color::none | Transmission::block; - map[x + 3][y + 4] |= Color::none | Transmission::block; - x += 5; - - // P - map[x + 0][y + 0] |= Color::none | Transmission::block; - map[x + 0][y + 1] |= Color::none | Transmission::block; - map[x + 0][y + 2] |= Color::none | Transmission::block; - map[x + 0][y + 3] |= Color::none | Transmission::block; - map[x + 0][y + 4] |= Color::none | Transmission::block; - map[x + 1][y + 0] |= Color::none | Transmission::block; - map[x + 2][y + 0] |= Color::none | Transmission::block; - map[x + 1][y + 2] |= Color::none | Transmission::block; - map[x + 2][y + 2] |= Color::none | Transmission::block; - map[x + 3][y + 0] |= Color::none | Transmission::block; - map[x + 3][y + 1] |= Color::none | Transmission::block; - map[x + 3][y + 2] |= Color::none | Transmission::block; - x += 5; - - map[15][16] |= Color::red | Transmission::block; - map[15][17] |= Color::blue | Transmission::block; - map[15][18] |= Color::green | Transmission::block; - map[15][19] |= Transmission::bonuspoint; - - map[15][15] |= Color::red; - map[15][15] |= Transmission::pacman; - map[15][15] |= Transmission::direction_right; - - map[16][15] |= Color::blue; - map[16][15] |= Transmission::pacman; - map[16][15] |= Transmission::direction_up; - - map[17][15] |= Color::green; - map[17][15] |= Transmission::pacman; - map[17][15] |= Transmission::direction_left; + const char *tmpl[] = { + " # # ", + " #### ###### # #### # # ###### ### ", + " # # ", + " # ##### # # # # # ### # # # ", + " # # # # # # # # # # ## # # ", + " # # # # # # # # ### # # # # ", + " # # # # # # # # # # # # ## # ", + " # # ### ##### # ### # # # ", + " ### # ", + " # # ### #### #### #### ##### ", + " #### # #..# #..# #..# # # ", + " # # ### #..# #..# #### # # # # ", + " # # # #..# #..# # # ", + " # #### # #### #### # # ##### # ", + " # # ", + " #### ###### # ##### # ####### ### ", + " # # " + }; + + + 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 = Transmission::none; + if (tmpl[y][x] == '#') + cur |= Color::none | Transmission::block; + /* this is a simple hack to create areas where no + * autoplaced points will be placed (see below) + */ + else if (tmpl[y][x] == '.') + cur |= Transmission::point; + } + } + + map[0][0] |= Transmission::bonuspoint; + map[1][0] |= Color::red | Transmission::pacman | Transmission::direction_right; + map[2][0] |= Color::blue | Transmission::pacman | Transmission::direction_up; + map[3][0] |= Color::green | Transmission::pacman | Transmission::direction_down; + + /* auto place normal points*/ for (unsigned int x = 0; x < Constants::map_size.width; ++x) { for (unsigned int y = 0; y < Constants::map_size.height; ++y) @@ -199,6 +76,8 @@ Transmission::map_t createDummyMap() Transmission::field_t &cur = map[x][y]; if (cur == Transmission::none) cur |= Transmission::point; + else if (cur == Transmission::point) + cur = Transmission::none; } } @@ -216,7 +95,7 @@ MainWidget::MainWidget() createGui(); updateMap(createDummyMap()); -#if 0 +#if 1 emit startGame(); #else Phonon::MediaObject *player = Phonon::createPlayer(Phonon::MusicCategory, -- cgit v1.2.3