Foram implementados até o momento:
- O básico proposto pelos professores;
- Pontuação e High Score;
- Aumento da velocidade em 20% a cada 5 rebatidas;
- Reiniciar o jogo pressionando a tecla 'R';
já que boa parte do código está comentado, acredito que essas observações sejam suficientes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | //-----Variáveis Paddle------ int largPaddle = 15; int altPaddle = 90; int posPaddleX = 0; int posYPaddle = mouseY; int rebateu = 0; //-----Variáveis Bola----- int posBolaX = 760; int posBolaY = 300; int diamLargBola = 20; int diamAltBola = 20; float dirX = 5; float dirY = 5; //----Variáveis de jogo----- int highScore = 0; PFont fontePont; boolean saiu = false; void setup() { size(800, 600); fontePont = createFont("Arial", 16, true); noCursor(); }//fim setup void draw() { background(0); fill(#47C714); textFont(fontePont,25); text(rebateu,700, 50); textFont(fontePont,20); text("HighScore: " + highScore,600, 580); criarPaddle(); if (!saiu) criarBola(); }//fimDraw void criarPaddle() { //criação e posicionamento paddle esquerdo fill(255); noStroke(); rect(posPaddleX, mouseY, largPaddle, altPaddle); } void criarBola() { //criação, posicionamento e colisões da bola fill(#47C714); noStroke(); ellipse(posBolaX, posBolaY, diamLargBola, diamAltBola); //movimentação bola posBolaX+=dirX; posBolaY+=dirY; //colisão da bola com o lado superior if (posBolaY <= 10) { dirY = -dirY; } //colisão da bola com o lado inferior if (posBolaY >= 590) { dirY = -dirY; } //colisão da bola com o lado direito if (posBolaX >= 790) { dirX = -dirX; } //colisão da bola com o paddle if (posBolaX - diamLargBola/2 == posPaddleX + largPaddle ) { if ((posBolaY >= mouseY ) && (posBolaY <= mouseY + altPaddle)) { rebateu++; println("rebatida", rebateu); //incrementa a velocidade da bola em 20% a cada 5 colisões com o paddle if (rebateu%5==0) { dirX = -dirX*1.2; println(dirX); } else { dirX = -dirX; }//fim incremento //colisão com o lado esquerdo }else if (posBolaX<posPaddleX) { println("saiu"); saiu = true; //variavel saiu recebe valor true, fazendo a função criarBola parar if (rebateu > highScore) highScore = rebateu; } } }//fimCriarBola void keyPressed() {//reiniciar o jogo pressionando a tecla R println(keyCode); if (keyCode==82) { saiu = false; posBolaX = 760; rebateu = 0; dirX = 5; } } |
Nenhum comentário:
Postar um comentário