Collision and Score problem
in
Programming Questions
•
4 months ago
Hello, I'm making a game for a class project in which a rabbit jumps over a row of food and as the food you eat (beer, burger or carrots) will pass certain things. The problem is that I have to do a collision between the rabbit and the food when the rabbit jump and put a score but I don't know how to do it.
I would greatly appreciate the help.
This is the code. The code is in spanish. Comida means food, conejo means rabbit, zanahoria means carrot, hamburguesa means burger and cerveza means beer.
import ddf.minim.*;
Minim conker;
AudioPlayer BGMusic;// música
int segundos = 50;
int frames = 10;
int cuadro = 0;
boolean terminado = false;// para el contador de tiempo
boolean empezado = false; // pulsar enter para empezar
PImage cespedfondo;
PImage conejo;
PImage inicio;
PImage gameover;
String[] comida = {"zanahoria.gif", "hamburguesa.gif","cerveza.gif"};
// array comida
int x = -25;
PImage comida1;
int x2 = 100;
PImage comida2;
int x3 = 200;
PImage comida3;
int x4 = 300;
PImage comida4;
int x5 = 400;
PImage comida5;
int x6 = 500;
PImage comida6;
int x7 = 600;
PImage comida7;
int x8 = 700;
PImage comida8;
int x9 = 800;
PImage comida9;
int x10 = 900;
PImage comida10;
void setup() {
cespedfondo = loadImage ("cesped.jpg");
size(1024,768);
inicio = loadImage("Titles1.png");
conejo = loadImage ("RancioRabbit.png");
gameover = loadImage ("GameOver.png");
noStroke ();
frameRate(frames);
conker = new Minim(this);
BGMusic = conker.loadFile("Conker2.wav");
BGMusic.play();
BGMusic.loop();
//he borrado el void azar para probar el aleatorio en cada comida
// las comidas
comida1 = loadImage(comida[int(random(comida.length))]);
comida2 = loadImage(comida[int(random(comida.length))]);
comida3 = loadImage(comida[int(random(comida.length))]);
comida4 = loadImage(comida[int(random(comida.length))]);
comida5 = loadImage(comida[int(random(comida.length))]);
comida6 = loadImage(comida[int(random(comida.length))]);
comida7 = loadImage(comida[int(random(comida.length))]);
comida8 = loadImage(comida[int(random(comida.length))]);
comida9 = loadImage(comida[int(random(comida.length))]);
comida10 = loadImage(comida[int(random(comida.length))]);
}// fin del void setup
void keyPressed(){
if( key == 'f' ){
empezado = true;// pulsa el botón para empezar
}
}// fin del void pressed
void draw() {
if(!empezado){
image(inicio,0,0);
}else{ // una vez apretado el botón, el juego aparece
image(cespedfondo, 0, 0);
image(comida1,x,130,100,100);
x=x+6;
if(x>=1024){
x=0;
comida1 = loadImage(comida[int(random(comida.length))]);
}
image(comida2,x2,130,100,100);
x2=x2+6;
if(x2>=1024){
x2=0;
comida2 = loadImage(comida[int(random(comida.length))]);
}
image(comida3,x3,130,100,100);
x3=x3+6;
if(x3>=1024){
x3=0;
comida3 = loadImage(comida[int(random(comida.length))]);
}
image(comida4,x4,130,100,100);
x4=x4+6;
if(x4>=1024){
x4=0;
comida4 = loadImage(comida[int(random(comida.length))]);
}
image(comida5,x5,130,100,100);
x5=x5+6;
if(x5>=1024){
x5=0;
comida5 = loadImage(comida[int(random(comida.length))]);
}
image(comida6,x6,130,100,100);
x6=x6+6;
if(x6>=1024){
x6=0;
comida6 = loadImage(comida[int(random(comida.length))]);
}
image(comida7,x7,130,100,100);
x7=x7+6;
if(x7>=1024){
x7=0;
comida7 = loadImage(comida[int(random(comida.length))]);
}
image(comida8,x8,130,100,100);
x8=x8+6;
if(x8>=1024){
x8=0;
comida8 = loadImage(comida[int(random(comida.length))]);
}
image(comida9,x9,130,100,100);
x9=x9+6;
if(x9>=1024){
x9=0;
comida9 = loadImage(comida[int(random(comida.length))]);
}
image(comida10,x10,130,100,100);
x10=x10+6;
if(x10>=1024){
x10=0;
comida10 = loadImage(comida[int(random(comida.length))]);
}
//música
conker = new Minim (this);
//
// el conejo salta
if(keyPressed){
if(key =='f'){
translate(0,0);
image(conejo,400,50);
}
}else{
image(conejo,400,300);
}// conejo salta
// cuando acaba el contador: game over
if( frames == cuadro ){
segundos--;
cuadro = 0;
}
if(segundos == 0){
terminado = true;
}else{
cuadro++;
}
if(!terminado){
fill(255);
noStroke();
textSize(80);
text(segundos,455,80);
}else{
image(gameover,250,200);
}
}// cuando acaba el contador: game over
}// void draw
//parar música
void stop(){
BGMusic.close(); //cerrar el sonido
conker.stop(); // para el objeto
super.stop();
}// parar música
I would greatly appreciate the help.
This is the code. The code is in spanish. Comida means food, conejo means rabbit, zanahoria means carrot, hamburguesa means burger and cerveza means beer.
import ddf.minim.*;
Minim conker;
AudioPlayer BGMusic;// música
int segundos = 50;
int frames = 10;
int cuadro = 0;
boolean terminado = false;// para el contador de tiempo
boolean empezado = false; // pulsar enter para empezar
PImage cespedfondo;
PImage conejo;
PImage inicio;
PImage gameover;
String[] comida = {"zanahoria.gif", "hamburguesa.gif","cerveza.gif"};
// array comida
int x = -25;
PImage comida1;
int x2 = 100;
PImage comida2;
int x3 = 200;
PImage comida3;
int x4 = 300;
PImage comida4;
int x5 = 400;
PImage comida5;
int x6 = 500;
PImage comida6;
int x7 = 600;
PImage comida7;
int x8 = 700;
PImage comida8;
int x9 = 800;
PImage comida9;
int x10 = 900;
PImage comida10;
void setup() {
cespedfondo = loadImage ("cesped.jpg");
size(1024,768);
inicio = loadImage("Titles1.png");
conejo = loadImage ("RancioRabbit.png");
gameover = loadImage ("GameOver.png");
noStroke ();
frameRate(frames);
conker = new Minim(this);
BGMusic = conker.loadFile("Conker2.wav");
BGMusic.play();
BGMusic.loop();
//he borrado el void azar para probar el aleatorio en cada comida
// las comidas
comida1 = loadImage(comida[int(random(comida.length))]);
comida2 = loadImage(comida[int(random(comida.length))]);
comida3 = loadImage(comida[int(random(comida.length))]);
comida4 = loadImage(comida[int(random(comida.length))]);
comida5 = loadImage(comida[int(random(comida.length))]);
comida6 = loadImage(comida[int(random(comida.length))]);
comida7 = loadImage(comida[int(random(comida.length))]);
comida8 = loadImage(comida[int(random(comida.length))]);
comida9 = loadImage(comida[int(random(comida.length))]);
comida10 = loadImage(comida[int(random(comida.length))]);
}// fin del void setup
void keyPressed(){
if( key == 'f' ){
empezado = true;// pulsa el botón para empezar
}
}// fin del void pressed
void draw() {
if(!empezado){
image(inicio,0,0);
}else{ // una vez apretado el botón, el juego aparece
image(cespedfondo, 0, 0);
image(comida1,x,130,100,100);
x=x+6;
if(x>=1024){
x=0;
comida1 = loadImage(comida[int(random(comida.length))]);
}
image(comida2,x2,130,100,100);
x2=x2+6;
if(x2>=1024){
x2=0;
comida2 = loadImage(comida[int(random(comida.length))]);
}
image(comida3,x3,130,100,100);
x3=x3+6;
if(x3>=1024){
x3=0;
comida3 = loadImage(comida[int(random(comida.length))]);
}
image(comida4,x4,130,100,100);
x4=x4+6;
if(x4>=1024){
x4=0;
comida4 = loadImage(comida[int(random(comida.length))]);
}
image(comida5,x5,130,100,100);
x5=x5+6;
if(x5>=1024){
x5=0;
comida5 = loadImage(comida[int(random(comida.length))]);
}
image(comida6,x6,130,100,100);
x6=x6+6;
if(x6>=1024){
x6=0;
comida6 = loadImage(comida[int(random(comida.length))]);
}
image(comida7,x7,130,100,100);
x7=x7+6;
if(x7>=1024){
x7=0;
comida7 = loadImage(comida[int(random(comida.length))]);
}
image(comida8,x8,130,100,100);
x8=x8+6;
if(x8>=1024){
x8=0;
comida8 = loadImage(comida[int(random(comida.length))]);
}
image(comida9,x9,130,100,100);
x9=x9+6;
if(x9>=1024){
x9=0;
comida9 = loadImage(comida[int(random(comida.length))]);
}
image(comida10,x10,130,100,100);
x10=x10+6;
if(x10>=1024){
x10=0;
comida10 = loadImage(comida[int(random(comida.length))]);
}
//música
conker = new Minim (this);
//
// el conejo salta
if(keyPressed){
if(key =='f'){
translate(0,0);
image(conejo,400,50);
}
}else{
image(conejo,400,300);
}// conejo salta
// cuando acaba el contador: game over
if( frames == cuadro ){
segundos--;
cuadro = 0;
}
if(segundos == 0){
terminado = true;
}else{
cuadro++;
}
if(!terminado){
fill(255);
noStroke();
textSize(80);
text(segundos,455,80);
}else{
image(gameover,250,200);
}
}// cuando acaba el contador: game over
}// void draw
//parar música
void stop(){
BGMusic.close(); //cerrar el sonido
conker.stop(); // para el objeto
super.stop();
}// parar música
1