Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thiagoalz/76076fc08b2e5458c80e to your computer and use it in GitHub Desktop.
Save thiagoalz/76076fc08b2e5458c80e to your computer and use it in GitHub Desktop.
GameDojoProcessing.pde
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