void Mapa::GeraEntrada() { int ind = 1 + ( rand() % (getTam() - 3)); Posicao entrada(ind, 0); setPosEntrada(entrada); int x = getPosEntrada().getX(); int y = getPosEntrada().getY(); int pos = ind * getTam() + 0; getCasa()[pos].setSprite(ENTRADA_SPRITE); getCasa()[pos].setTipo(ENTRADA_TIPO); }
void Mapa::GeraSaida() { int ind = 1 + ( rand() % (getTam() - 3)); Posicao saida(ind, getTam() - 1); setPosSaida(saida); int x = getPosSaida().getX(); int y = getPosSaida().getY(); int pos = ind * getTam() + (getTam() - 1); getCasa()[pos].setSprite(SAIDA_SPRITE); getCasa()[pos].setTipo(SAIDA_TIPO); }
/* - Funcao setCasa() - * * - Cria pecaDestino do tipo estrutura Peca e armazena * * o conteudo apontado por getCasa; * * - */ Peca *setCasa(Tabuleiro *tabuleiro, int linha, int coluna, Peca *peca) { Peca *pecaDestino = getCasa(tabuleiro, linha, coluna); if (lado(peca) == lado(pecaDestino)) { return -1; } tabuleiro->pecas[peca->linha][peca->coluna] = NULL; tabuleiro->pecas[linha][coluna] = peca; peca->linha = linha; peca->coluna = coluna; Peca *pecaRetorno = pecaDestino; return pecaRetorno; }
void Mapa::CriaMuro() { for (int j = 0; j < tam; j++) { // Primeira linha getCasa()[j].setSprite(MURO_SPRITE); getCasa()[j].setTipo(MURO_TIPO); // Última linha getCasa()[(tam - 1) * tam + j].setSprite(MURO_SPRITE); getCasa()[(tam - 1) * tam + j].setTipo(MURO_TIPO); // Coluna direita getCasa()[tam * j + (tam - 1)].setSprite(MURO_SPRITE); getCasa()[tam * j + (tam - 1)].setTipo(MURO_TIPO); // Coluna esquerda getCasa()[tam * j ].setSprite(MURO_SPRITE); getCasa()[tam * j ].setTipo(MURO_TIPO); } }