void Jogo::executar() { while(!gTeclado.soltou[TECLA_ESC] && !gEventos.sair) { uniIniciarFrame(); // Se pressionou R, restaura o painel de debug if (gTeclado.pressionou[TECLA_R]) gDebug.restaurar(); // Depurar variaveis gDebug.depurar("FPS", (int)gTempo.getFPS()); gDebug.depurar("deltaTempo", gTempo.getDeltaTempo()); gDebug.depurar("mouse", Vetor2D(gMouse.x, gMouse.y)); gDebug.depurar("retanguloTela", Quad(0, 0, gJanela.getLargura(), gJanela.getAltura())); // Cria um erro gDebug.erro("Erro Teste", this); // Opcionalmente, passa-se uma cor para a depuração gDebug.depurar("Verde", "Este é um texto Verde", Cor(0, 255, 0)); // Desenhar fundo, para poder ver melhor a transparência do painel sprFundo.desenhar(gJanela.getLargura() / 2, gJanela.getAltura() / 2); desenharInstrucoes(); uniTerminarFrame(); } }
void Jogo::executar() { while(!gTeclado.soltou[TECLA_ESC] && !gEventos.sair) { uniIniciarFrame(); // Seu código vem aqui! // ... uniTerminarFrame(); } }
void Jogo::executar() { while(!gTeclado.pressionou[TECLA_ESC] && !gEventos.sair) { uniIniciarFrame(); ambiente.atualizar(); ambiente.desenhar(); desenharInstrucoes(); uniTerminarFrame(); } }
void Jogo::executar() { while(!gTeclado.soltou[TECLA_ESC] && !gEventos.sair) { uniIniciarFrame(); // Atualiza a logica do menu menu.atualizar(); // Desenha o menu menu.desenhar(); uniTerminarFrame(); } }
void Jogo::manual(){ while (!teclado.soltou[TECLA_ESC] && !aplicacao.sair) { uniIniciarFrame(); menu.desenhar3(); if (teclado.soltou[TECLA_ESPACO]){ menu.jogo = 2; menu2(); } if (menu.jogo == 4){ break; } menu.atualizar(); uniTerminarFrame(); } }
void Jogo::menu1(){ while (!teclado.soltou[TECLA_ESC] && !aplicacao.sair) { uniIniciarFrame(); menu.desenhar1(); if (teclado.soltou[TECLA_ENTER]){ menu2(); } if (menu.jogo == 4){ break; } uniTerminarFrame(); } }
void Jogo::executar() { while(!gTeclado.soltou[TECLA_ESC] && !gEventos.sair) { uniIniciarFrame(); // Seu código vem aqui! // ... for (int i = 0; i < MAX_FUNCS_EASING; ++i) { if (botoes[i].clicou()) { botoes[atual].cor.set(255, 255, 255, 255); botoes[i].cor.set(255, 0, 0, 255); atual = i; for (int i = 0; i < 3; ++i) { setEaseFuncsTipos(); tipos[i].cor.set(255, 255, 255, 255); objetos[i].reset(); linha.reset(); } } botoes[i].desenhar(); } linha.atualizar(gTempo.getDeltaTempo()); for (int i = 0; i < 3; ++i) { tipos[i].desenhar(); objetos[i].atualizar(gTempo.getDeltaTempo()); objetos[i].desenhar(); } linha.desenhar(); gGraficos.desenharRetangulo(retan, 255, 255, 255); uniTerminarFrame(); } }
void Jogo::executar() { while(!gTeclado.soltou[TECLA_ESC] && !gEventos.sair) { uniIniciarFrame(); if (gTeclado.pressionou[TECLA_1]) // 2) Tocar a música gMusica.tocar("musica1", false); if (gTeclado.pressionou[TECLA_2]) // 2) Tocar a música gMusica.tocar("musica2", true); if (gTeclado.pressionou[TECLA_3]) // 2) Tocar a música gMusica.tocar("musica3", false, 3.0f); if (gTeclado.pressionou[TECLA_P]) gMusica.pausar(); // pausar if (gTeclado.pressionou[TECLA_C]) gMusica.continuar(); // continuar if (gTeclado.pressionou[TECLA_S]) gMusica.parar(); // parar imediatamente if (gTeclado.pressionou[TECLA_F]) gMusica.parar(3.0f); // parar com fade out // Desenhar instruções desenharInstrucoes(); uniTerminarFrame(); } }
void Jogo::executar() { while(!gTeclado.soltou[TECLA_ESC] && !gEventos.sair) { uniIniciarFrame(); // 2) Atualizar a máquina de estados. // É durante este passo que a maquina de // estados vai trocar de um estado para o outro. agente.atualizar(); // (Opcional) Desenhar agente. // Uma máquina de estados por si só não é desenhavel. // Mas como estamos usando ela para programar um objeto // que precisa ser mostrado na tela, precisamos de um // método para desenha-lo. agente.desenhar(); // Desenhar as instruções desenharInstrucoes(); uniTerminarFrame(); } }
void Jogo::executar() { while (!teclado.soltou[TECLA_ESC] && !aplicacao.sair && menu.jogo == 1) { ogri.descarregar(); if (!pig.estaTocando()) pig.tocar("pig"); mouse.esconderCursor(); uniIniciarFrame(); mouse.esconderCursor(); mapa.desenhar(); money.desenhar(930, 270); money.setFonte("fonteFazenda"); vida.desenhar(740, 270); vida.setFonte("fonteFazenda"); waveTimer.setFonte("fonteFazenda"); for (int i = 0; i < 16; i++) { qtdSementes[i].setFonte("fonteFazenda"); } money.setString(to_string(dinheiro) + "$"); waveTimer.setString(timeWave.getTempoFormato()); fazendeiro.desenhar(512, 100, dinheiro); vida.setString(to_string(marsonVida) + " Vidas"); if (dinheiro > 50) firstW = true; if (firstW) { for (int i = 0; i < 10; i++) { topeira[i].desenhar(); topeira[i].andar(); if (topeira[i].getX() == 512 && topeira[i].getY() == 100){ marsonVida -= 1; } } } int recomecar = 0; for (int i = 0; i < 10; i++){ recomecar += topeira[i].getVivo(); } if (teclado.pressionou[TECLA_P]) dinheiro += 5; // Inimigos if (!(timeWave.getTempo() < 0)) { waveTimer.desenhar(525, 215); } if (!recomecar) { if (criei) { timeWave.setTempoS(90); timeWave.inicializar(); criei = false; for (int i = 0; i < 10; i++) { topeira[i].aumentarRound(); } } if (timeWave.getTempo() < 0) { for (int i = 0; i < 10; i++) { topeira[i].inicializar(); if (topeira[i].getX() == 512 && topeira[i].getY() == 100){ marsonVida -= 1; } } criei = true; timer.resetar(); } } if (marsonVida <= 0) { gameover.desenhar(janela.getLargura() / 2, janela.getAltura() / 2); if (teclado.soltou[TECLA_ESC] || teclado.pressionou[TECLA_ENTER]){ aplicacao.sair; } } if (teclado.segurando[TECLA_TAB]) // loja (teste) { loja.desenhar(janela.getLargura() - 264 / 2, janela.getAltura() / 2); overlay.desenhar(janela.getLargura() / 2, janela.getAltura() / 2); plntlj.desenhar(janela.getLargura() - 264 / 2, janela.getAltura() / 2); money.desenhar(janela.getLargura() - 20, 20); bag.desenhar(janela.getLargura() / 2, janela.getAltura() / 2); loja2.desenhar(janela.getLargura() / 7.75, janela.getAltura() / 2); torres.desenhar(janela.getLargura() / 7.75, janela.getAltura() / 2); int qtdX = janela.getLargura() / 3 + janela.getLargura() / 50, qtdY = janela.getAltura() / 20; for (int i = 0; i < 16; i++){ qtdSementes[i].setString("= " + to_string(nSementes[i][1])); if (!i == 0){ if (i % 3 == 0) { qtdX = janela.getLargura() / 3 + janela.getLargura() / 50; qtdY += janela.getAltura() / 9; } } qtdSementes[i].desenhar(qtdX, qtdY); qtdX += 180; } if (construindo1 == false && construindo2 == false) { cursor[mao].desenhar(mouse.x, mouse.y + 12); } if (mouse.x < 264) // torres { if (mouse.soltou[BOTAO_ESQ]) { int compra = mouse.y / 85; switch (compra) { case 0: { if (dinheiro >= 50) { dinheiro -= 50; construindo1 = true; break; } } /*case 3: { construindo2 = true; break; }*/ } } } if (mouse.x < (janela.getLargura() - 264) && mouse.x > 264) // slotbag { int slotx = (mouse.x / 200), sloty = (mouse.y / 92) + 7; int slot = slotx * sloty; if (mouse.pressionou[BOTAO_ESQ]) switch (slot) { case 7: // slot 1,1 { if (nSementes[0][1] > 0){ plantID = 33; equip = 0; } break; } case 14: // slot 1,2 { if (nSementes[1][1] > 0){ plantID = 36; equip = 1; } break; } case 21: // slot 1,3 { if (nSementes[2][1] > 0){ plantID = 39; equip = 2; } break; } case 8: // slot 2,1 { if (nSementes[3][1] > 0){ plantID = 42; equip = 3; } break; } case 16: // slot 2,2 { if (nSementes[4][1] > 0){ plantID = 45; equip = 4; } break; } case 24: // slot 2,3 { if (nSementes[5][1] > 0){ plantID = 48; equip = 5; } break; } case 9: // slot 3,1 { if (nSementes[6][1] > 0){ plantID = 51; equip = 6; } break; } case 18: // slot 3,2 { if (nSementes[7][1] > 0){ plantID = 54; equip = 7; } break; } case 27: // slot 3,3 { if (nSementes[8][1] > 0){ plantID = 57; equip = 8; } break; } case 10: // slot 4,1 { if (nSementes[9][1] > 0){ plantID = 60; equip = 9; } break; } case 20: // slot 4,2 { if (nSementes[10][1] > 0){ plantID = 63; equip = 10; } break; } case 30: // slot 4,3 { if (nSementes[11][1] > 0){ plantID = 66; equip = 11; } break; } case 11: // slot 5,1 { if (nSementes[12][1] > 0){ plantID = 69; equip = 12; } break; } case 22: // slot 5,2 { if (nSementes[13][1] > 0){ plantID = 72; equip = 13; } break; } case 33: // slot 5,3 { if (nSementes[14][1] > 0){ plantID = 75; equip = 14; } break; } case 12: // slot 6,1 { if (nSementes[15][1] > 0){ plantID = 78; equip = 15; } break; } } } if (mouse.x >= (janela.getLargura() - 264)) // dentro desse if, o jogador poderá comprar as sementes. { int compra = mouse.y / 48; if (mouse.pressionou[BOTAO_ESQ]) switch (compra) { case 0: // godói if (dinheiro >= 1) { dinheiro--; plantID = 33; nSementes[0][1] ++; equip = 0; break; } case 1: // cenoura if (dinheiro >= 3) { dinheiro -= 3; plantID = 36; nSementes[1][1] ++; equip = 1; break; } case 2: // berinjela if (dinheiro >= 6) { dinheiro -= 6; plantID = 39; nSementes[2][1] ++; equip = 2; break; } case 3: // if (dinheiro >= 10) { plantID = 42; nSementes[3][1] ++; dinheiro -= 10; equip = 3; break; } case 4: if (dinheiro >= 15) { plantID = 45; nSementes[4][1] ++; dinheiro -= 15; equip = 4; break; } case 5: if (dinheiro >= 20) { plantID = 48; nSementes[5][1] ++; dinheiro -= 20; equip = 5; break; } case 6: if (dinheiro >= 30) { plantID = 51; nSementes[6][1] ++; dinheiro -= 30; equip = 6; break; } case 7: if (dinheiro >= 50) { plantID = 54; nSementes[7][1] ++; dinheiro -= 50; equip = 7; break; } case 8: if (dinheiro >= 75) { plantID = 57; nSementes[8][1] ++; dinheiro -= 75; equip = 8; break; } case 9: if (dinheiro >= 100) { plantID = 60; nSementes[9][1] ++; dinheiro -= 100; equip = 9; break; } case 10: if (dinheiro >= 150) { plantID = 63; nSementes[10][1] ++; dinheiro -= 150; equip = 10; break; } case 11: if (dinheiro >= 200) { plantID = 66; nSementes[11][1] ++; dinheiro -= 200; equip = 11; break; } case 12: if (dinheiro >= 300) { plantID = 69; nSementes[12][1] ++; dinheiro -= 300; equip = 12; break; } case 13: if (dinheiro >= 500) { plantID = 72; nSementes[13][1] ++; dinheiro -= 500; equip = 13; break; } case 14: if (dinheiro >= 1000) { plantID = 75; nSementes[14][1] ++; dinheiro -= 1000; equip = 14; break; } case 15: if (dinheiro >= 5000) { plantID = 78; nSementes[15][1] ++; dinheiro -= 5000; equip = 15; break; } } } } if (dinheiro < 5) money.setCor(255, 0, 0); if (dinheiro > 5) money.setCor(255, 255, 255); if (!teclado.segurando[TECLA_TAB] && !construindo1 && !construindo2) { if (mapa.getCamadaDeTiles("Objetos")->getIDdoTile((mouse.x) / 32, (mouse.y) / 32) > 34 || mapa.getCamadaDeTiles("Objetos")->getIDdoTile((mouse.x) / 32, (mouse.y) / 32) == 4) { cursor[mao].desenhar(mouse.x, mouse.y + 12); } else if (mapa.getCamadaDeTiles("Temporaria")->getIDdoTile((mouse.x) / 32, (mouse.y) / 32) > 32) cursor[foice].desenhar(mouse.x, mouse.y - 12); else if (mapa.getCamadaDeTiles("Temporaria")->getIDdoTile((mouse.x) / 32, (mouse.y) / 32) >= 33 && mapa.getCamadaDeTiles("Temporaria")->getIDdoTile((mouse.x) / 32, (mouse.y) / 32) <= 80 || mapa.getCamadaDeTiles("Temporaria")->getIDdoTile((mouse.x) / 32, (mouse.y) / 32) == 7) cursor[semente].desenhar(mouse.x, mouse.y); else // cursor fora da loja cursor[ancinho].desenhar(mouse.x, mouse.y - 12); } if (!lido){ criarLucro.open("lucro.txt"); criarLucro << 1 << " " << 3 << " " << 6 << " " << 10 << " " << 15 << " " << 20 << " " << 30 << " " << 50 << " " << 75 << " " << 100 << " " << 150 << " " << 200 << " " << 300 << " " << 500 << " " << 1000 << " " << 5000; criarLucro.close(); lerLucro.open("lucro.txt"); for (int i = 0; i < 16; i++) { lerLucro >> preco[i][1]; } lido = true; } int mouseX, mouseY; mouseX = mouse.x / 32; mouseY = mouse.y / 32; if (!teclado.segurando[TECLA_TAB]) //testando pra ver se a loja nao esta aberta { //testando pra ver se estou tentando plantar na terrinha e verificando se eu tenho alguma semente selecionada if (mouse.pressionou[BOTAO_ESQ] && mapa.getCamadaDeTiles("Temporaria")->getIDdoTile((mouse.x) / 32, (mouse.y) / 32) == 7 && !plantID == 0 && nSementes[equip][1] > 0) { nSementes[equip][1]--; if (mouseX >= 2 && mouseX <= 5 && mouseY >= 2 && mouseY <= 5) { //mando pra classe planta o id da planta e a posição do tile usando o mouseX / 32 e mouseY / 32 plantacao[0][mouseX - 2][mouseY - 2].plantar(plantID, mouseX, mouseY); plantadas++; } else if (mouseX >= 8 && mouseX <= 11 && mouseY >= 2 && mouseY <= 5) { plantacao[1][mouseX - 8][mouseY - 2].plantar(plantID, mouseX, mouseY); plantadas++; } else if (mouseX >= 20 && mouseX <= 23 && mouseY >= 2 && mouseY <= 5) { plantacao[2][mouseX - 20][mouseY - 2].plantar(plantID, mouseX, mouseY); plantadas++; } else if (mouseX >= 26 && mouseX <= 29 && mouseY >= 2 && mouseY <= 5) { plantacao[3][mouseX - 26][mouseY - 2].plantar(plantID, mouseX, mouseY); plantadas++; } } // vejo se nao estou tentando arar uma terra ja arada e tambem se nao estou tentando arar uma plantinha else if (mouse.pressionou[BOTAO_ESQ] && mapa.getCamadaDeTiles("Objetos")->getIDdoTile((mouse.x) / 32, (mouse.y) / 32) == 18 && !(mapa.getCamadaDeTiles("Temporaria")->getIDdoTile((mouse.x) / 32, (mouse.y) / 32) > 32) && !(mapa.getCamadaDeTiles("Temporaria")->getIDdoTile((mouse.x) / 32, (mouse.y) / 32) == 7) && dinheiro > 0) { mapa.getCamadaDeTiles("Temporaria")->setIDdoTile(7, (mouse.x) / 32, (mouse.y) / 32); dinheiro--; } // se for uma planta: colher else if (mouse.pressionou[BOTAO_ESQ] && (mapa.getCamadaDeTiles("Temporaria")->getIDdoTile((mouse.x) / 32, (mouse.y) / 32) > 32) && (mapa.getCamadaDeTiles("Temporaria")->getIDdoTile((mouse.x) / 32, (mouse.y) / 32) < 82)) { if (mouseX >= 2 && mouseX <= 5 && mouseY >= 2 && mouseY <= 5)// Primeira plantação { plantacao[0][mouseX - 2][mouseY - 2].colhida = true; switch (plantacao[0][mouseX - 2][mouseY - 2].estagio) { case 0: for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[0][mouseX - 2][mouseY - 2].id){ dinheiro += preco[i][1] * 0.3; break; } } break; case 1: for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[0][mouseX - 2][mouseY - 2].id){ dinheiro += preco[i][1]; } } break; case 2: if (plantacao[0][mouseX - 2][mouseY - 2].id == 33) { dinheiro += preco[0][1] * 5; } else if (plantacao[0][mouseX - 2][mouseY - 2].id == 36) { dinheiro += preco[1][1] * 3; } else if (plantacao[0][mouseX - 2][mouseY - 2].id == 39) { dinheiro += preco[2][1] * 2.5; } else{ for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[0][mouseX - 2][mouseY - 2].id){ dinheiro += preco[i][1] * 2; } } } break; } } else if (mouseX >= 8 && mouseX <= 11 && mouseY >= 2 && mouseY <= 5) //Segunda plantação { plantacao[1][mouseX - 8][mouseY - 2].colhida = true; switch (plantacao[1][mouseX - 8][mouseY - 2].estagio) { case 0: for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[1][mouseX - 8][mouseY - 2].id){ dinheiro += preco[i][1] * 0.3; break; } } break; case 1: for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[1][mouseX - 8][mouseY - 2].id){ dinheiro += preco[i][1]; } } break; case 2: if (plantacao[0][mouseX - 2][mouseY - 2].id == 33) { dinheiro += preco[0][1] * 5; } else if (plantacao[1][mouseX - 8][mouseY - 2].id == 36) { dinheiro += preco[1][1] * 3; } else if (plantacao[1][mouseX - 8][mouseY - 2].id == 39) { dinheiro += preco[2][1] * 2.5; } else{ for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[1][mouseX - 8][mouseY - 2].id){ dinheiro += preco[i][1] * 2; } } } break; } } else if (mouseX >= 20 && mouseX <= 23 && mouseY >= 2 && mouseY <= 5) // Terceira plantação { plantacao[2][mouseX - 20][mouseY - 2].colhida = true; switch (plantacao[2][mouseX - 20][mouseY - 2].estagio) { case 0: for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[2][mouseX - 20][mouseY - 2].id){ dinheiro += preco[i][1] * 0.3; break; } } break; case 1: for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[2][mouseX - 20][mouseY - 2].id){ dinheiro += preco[i][1]; } } break; case 2: if (plantacao[2][mouseX - 20][mouseY - 2].id == 33) { dinheiro += preco[0][1] * 5; } else if (plantacao[2][mouseX - 20][mouseY - 2].id == 36) { dinheiro += preco[1][1] * 3; } else if (plantacao[2][mouseX - 20][mouseY - 2].id == 39) { dinheiro += preco[2][1] * 2.5; } else{ for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[2][mouseX - 20][mouseY - 2].id) { dinheiro += preco[i][1] * 2; } } } break; } } else if (mouseX >= 26 && mouseX <= 29 && mouseY >= 2 && mouseY <= 5) // Quarta platanção { plantacao[3][mouseX - 26][mouseY - 2].colhida = true; switch (plantacao[3][mouseX - 20][mouseY - 2].estagio) { case 0: for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[3][mouseX - 26][mouseY - 2].id){ dinheiro += preco[i][1] * 0.3; break; } } break; case 1: for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[3][mouseX - 26][mouseY - 2].id){ dinheiro += preco[i][1]; } } break; case 2: if (plantacao[3][mouseX - 26][mouseY - 2].id == 33) { for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[3][mouseX - 26][mouseY - 2].id){ dinheiro += preco[i][1] * 5; } } } else if (plantacao[3][mouseX - 26][mouseY - 2].id == 36) { for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[3][mouseX - 26][mouseY - 2].id){ dinheiro += preco[i][1] * 3; } } } else if (plantacao[3][mouseX - 26][mouseY - 2].id == 39) { for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[3][mouseX - 26][mouseY - 2].id){ dinheiro += preco[i][1] * 2.5; } } } else{ for (int i = 0; i < 16; i++) { if (preco[i][0] == plantacao[3][mouseX - 26][mouseY - 2].id){ dinheiro += preco[i][1] * 2; } } } break; } } mapa.getCamadaDeTiles("Temporaria")->setIDdoTile(7, (mouse.x) / 32, (mouse.y) / 32); } } //else if (mouse.pressionou[BOTAO_ESQ] && mapa.getCamadaDeTiles("Objetos")->getIDdoTile((mouse.x) / 32, (mouse.y) / 32) == 18) if (construindo1 == true) { cursor[torre1].desenhar(mouse.x, mouse.y - 24); if ((mouse.pressionou[BOTAO_ESQ]) && (mapa.getCamadaDeTiles("Temporaria")->getIDdoTile(mouseX, mouseY) == 20) && !(mapa.getCamadaDeTiles("Temporaria")->getIDdoTile(mouseX, mouseY) == 337)) { construindo1 = false; mapa.getCamadaDeTiles("Temporaria")->setIDdoTile(337, (mouse.x) / 32, (mouse.y) / 32); numeroTorres++; // copiar torres pro novo vetor Torre* torres = torresAtq; torresAtq = new Torre[numeroTorres]; for (int i = 0; i < numeroTorres - 1; ++i){ *torresAtq = *(torres + i); } delete[] torres; Torre* novaTorre = torresAtq + (numeroTorres - 1); novaTorre->setXY(mouse.x, mouse.y); } } /*if (construindo2 == true) { cursor[torre2].desenhar(mouse.x, mouse.y - 24); if (mouse.pressionou[BOTAO_ESQ]) { construindo2 = false; mapa.getCamadaDeTiles("Temporaria")->setIDdoTile(4, (mouse.x) / 32, (mouse.y) / 32); } }*/ // F*****G INTERFACE DO UPGRADE DA TORRE if (mouse.pressionou[BOTAO_ESQ] && mapa.getCamadaDeTiles("Temporaria")->getIDdoTile((mouse.x / 32), (mouse.y / 32)) == 337 || mapa.getCamadaDeTiles("Temporaria")->getIDdoTile((mouse.x / 32), (mouse.y / 32)) == 338 || mapa.getCamadaDeTiles("Temporaria")->getIDdoTile((mouse.x / 32), (mouse.y / 32)) == 339) { torreTileX = mouse.x / 32; torreTileY = mouse.y / 32; torrex = mouse.x; torrey = mouse.y; coisa = true; } if (coisa == true) { aberto = true; huelay.desenhar(torrex + 32, torrey); interface1.desenhar(torrex + 32, torrey); } if ((teclado.pressionou[TECLA_Q]) && (coisa == true) && (aberto = true)) { for (int i = 0; i < numeroTorres; i++) { int torreTileX_ = torresAtq[i].getX() / 32; int torreTileY_ = torresAtq[i].getY() / 32; if ((torreTileX_ == torreTileX) && (torreTileY_ == torreTileY)) { if (torresAtq[i].getLevel() == 0) { if (dinheiro > 250) { dinheiro -= 250; torresAtq[i].upar(); int level_ = torresAtq[i].getLevel(); mapa.getCamadaDeTiles("Temporaria")->setIDdoTile(337 + level_, (torrex / 32), (torrey / 32)); } } else if (torresAtq[i].getLevel() == 1) { if (dinheiro > 1250) { dinheiro -= 1250; torresAtq[i].upar(); int level_ = torresAtq[i].getLevel(); mapa.getCamadaDeTiles("Temporaria")->setIDdoTile(337 + level_, (torrex / 32), (torrey / 32)); } } } } aberto = false; coisa = false; } else if (teclado.pressionou[TECLA_ESPACO]) { coisa = false; } coisa = true; /*else if ((teclado.pressionou[TECLA_W]) && (coisa == true) && (aberto = true)) { for (int i = 0; i < numeroTorres; i++) { if ((torresAtq[i].getX() == torrex) && (torresAtq[i].getY() == torrey)) { mapa.getCamadaDeTiles("Temporaria")->setIDdoTile(20, (torrex / 32), (torrey / 32)); delete torresAtq[i]; Torre* torres = torresAtq; torresAtq = new Torre[numeroTorres - 1]; for (int j = 0; j < numeroTorres - 1; ++j){ if (j < i) *torresAtq = *(torres + j); else *torresAtq = *(torres + j - 1); } delete[] torres; coisa = false; delete (torresAtq + i); break; } } } */ /*if (mouse.y > janela.getAltura() / 2) { bcursor = true; if (upgrade == 0) cursor[atk1].desenhar(mouse.x, mouse.y - 24); if (upgrade == 1) cursor[atk2].desenhar(mouse.x, mouse.y - 24); } else bcursor = false; */ for (int i = 0; i < 10; i++) { if (upgrade == 0) { for (int j = 0; j < numeroTorres; j++) { int test = torresAtq[j].getX(); if ((torresAtq[j].getX() >= topeira[i].getX() - 64 && torresAtq[j].getX() <= topeira[i].getX() + 64) && (torresAtq[j].getY() >= topeira[i].getY() - 64 && torresAtq[j].getY() <= topeira[i].getY() + 64) && topeira[i].getVivo()) { topeira[i].levarDano(torresAtq[j].getDano()); } } } else if (upgrade == 1) { for (int k = 0; k < numeroTorres; k++){ if ((torresAtq[k].getX() >= topeira[i].getX() - 64 && torresAtq[k].getX() <= topeira[i].getX() + 64) && (torresAtq[k].getY() >= topeira[i].getY() - 64 && torresAtq[k].getY() <= topeira[i].getY() + 64) && topeira[i].getVivo()) { topeira[i].levarDano(torresAtq[k].getDano()); } } } } for (auto& p1 : plantacao) { // &plantacao[] for (auto& p2 : p1) { // &plantacao[][] for (auto& p3 : p2) { // &plantacao[][][] p3.amadurecer(plantID); } } } achiev.achievDinheiro(dinheiro); achiev.achievPlanta(plantadas); achiev.achievTorre(numeroTorres); uniTerminarFrame(); }