Last active
June 12, 2020 21:50
-
-
Save thiagoalz/76076fc08b2e5458c80e to your computer and use it in GitHub Desktop.
GameDojoProcessing.pde
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int posicaoX, posicaoY; | |
int vbolax, vbolay; | |
int vida; | |
int pontos; | |
int cor; | |
void setup(){ //Executa quando o programa é iniciado | |
//Criar tabuleiro | |
size (400,400); | |
smooth(); | |
textSize(13); //Configura o tamanho do texto | |
//Inicializa Variaveis | |
posicaoX=int(random(0,(width-20))); | |
posicaoY=int(random(0,(height-20))); | |
vbolax=1; | |
vbolay=1; | |
pontos=0; | |
vida=5; | |
cor=0; | |
} | |
void draw(){//Laço infinito | |
//Desenhar um circulo no centro da tela | |
background (0); //Fundo Preto | |
fill(0,cor,70); //Muda as cores | |
ellipse(posicaoX, posicaoY,40,40); //Desenha a bola | |
fill(255,0,0); //Muda a cor | |
//Imprimir pontos e vidas | |
text("score = "+pontos,10,10); //Imprime a pontuação | |
text("lives = "+vida,width-80,10); //Imprime as vidas | |
//Mover o circulo pra a direita | |
posicaoX+=vbolax; //Move posicaoX do circulo 1px para direita | |
posicaoY+=vbolay; //Move posicaoX do circulo 1px para direita | |
if(posicaoX>=width-20 || posicaoX<=0+20 ){//Verifica se chegou no final X | |
vbolax=vbolax*-1; | |
} | |
if(posicaoY>=height-20 || posicaoY<=0+20 ){//Verifica se chegou no final Y | |
vbolay=vbolay*-1; | |
} | |
//testando o fim do jogo | |
if(vida==0){ | |
textSize(20); | |
text("GAME OVER!", 125,100); | |
noLoop();//Para o loop ao final da função draw | |
textSize(13); | |
} | |
} | |
//Usando o mouse | |
void mousePressed(){//Executa sempre que o mouse é presionado | |
//Testa se eu cliquei no circulo | |
if(dist(posicaoX, posicaoY,mouseX,mouseY)<=20){ //Teste se clicou na área do circulo | |
pontos=pontos+1; //Ganha pontos | |
cor=int (random(1,255)); //Muda a cor | |
//A cada dois pontos ganha uma vida | |
if (pontos%2==0){ | |
vida++; | |
} | |
//Deixar mais rápido | |
vbolax+=int(random(0,2)) * (vbolax < 0 ? -1 : 1); //Aumenta a velocidade de X, mantendo o sinal! | |
vbolay+=int(random(0,2)) * (vbolay < 0 ? -1 : 1); //Aumenta a velocidade de Y, mantendo o sinal! | |
}else{ | |
//Perder vida quando erra | |
vida=vida-1; | |
} | |
//Reset com click | |
/* if(click){ | |
loop();//Retoma execução do draw | |
click=false; | |
}else{ | |
textSize(20); | |
text("Click", 125,100); | |
noLoop();//Para o loop ao final da função draw | |
textSize(13); | |
click=true; | |
} */ | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment