Bonjour,
Pour mon projet, j'ai besoin de recuperer un "block" a une position donn�e et v�rifier son Type.
J'ai donc fais ce code :
Normalement mon programme devrait rentrer dans le "if " mais il ne le fait pas.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 if (pos < this->map.size()) { Block *tmp = map[pos]; if (tmp->getTypeBlock() != EMPTY && tmp->getTypeBlock() != EXPLOSION) return false; } return true;
J'ai test� ce code :
Mon programme passe dans le if.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 std::vector<Block *>::iterator it = this->map.begin(); while (it != this->map.end()) { type = (*it)->getTypeBlock(); if (type != EMPTY && type != EXPLOSION) { block_x = (*it)->getX(); block_y = (*it)->getY(); if (block_y == y && block_x == x) break; } ++it; } return (true);
J'ai donc print les positions en x et en y de mon "block" pour les deux versions du code, se sont les m�mes.
J'ai donc pour deux versions le m�me block mais avec un "Type" diff�rent en fonction du type d'approche que j'ai (it�rateurs et []).
Je ne vois pas d'ou �a peut venir... Une id�e ?
Merci d'avance.
Partager