From becd390b551f4ee705aa14a97c90eaa8596c824c Mon Sep 17 00:00:00 2001 From: manuel Date: Sun, 17 Apr 2011 20:51:16 +0200 Subject: fix colorize block stuff --- pacman-c++/block.cpp | 6 ++++-- pacman-c++/server.cpp | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pacman-c++/block.cpp b/pacman-c++/block.cpp index 4087662..68dd735 100644 --- a/pacman-c++/block.cpp +++ b/pacman-c++/block.cpp @@ -36,9 +36,11 @@ void Block::setNeighbours(unsigned int neighbours) setSprite(neighbours * Constants::sprite_offset, 0, Constants::field_size.width, Constants::field_size.height); } -bool Block::checkEnter(Actor * /* actor */) +bool Block::checkEnter(Actor *actor) { - return (m_color != Color::none); + if (m_color == Color::none) + return false; + return (m_color == actor->color()); } bool Block::enter(Actor *actor) diff --git a/pacman-c++/server.cpp b/pacman-c++/server.cpp index a48ee32..9baa9ab 100644 --- a/pacman-c++/server.cpp +++ b/pacman-c++/server.cpp @@ -268,7 +268,7 @@ void Server::colorizeBlocks(Transmission::map_t map) int tickcount = min + (int) ((max - min + 1) * (qrand() / (RAND_MAX + 1.0))); m_coloredBlocks.insert(block, tickcount); - unsigned int color = (int) ((m_maxplayers - 1) * (qrand() / (RAND_MAX + 1.0))); + unsigned int color = (int) (m_maxplayers * (qrand() / (RAND_MAX + 1.0))); map[block.x()][block.y()] |= Transmission::block | Color::order[color]; updateMap(map, block.x(), block.y()); } -- cgit v1.2.3