示例#1
0
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); 
}
示例#2
0
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);
	
}
示例#3
0
/*         - 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;
}
示例#4
0
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);

	}
}