We are about to switch to a new forum software. Until then we have removed the registration on this forum.
Is it possible to add another two levels to this code?
`Peces[] pecesValores = new Peces[30]; //Por -clases- PImage inicio; PImage fondo; PImage pez1; int puntos = 0; int MejorPuntaje = 0; boolean introScreen = true; //Saber si es verdadero o falso, crea dos estados del juego. int savedTime; //Se almacena el tiempo en el juego. int totalTime = 15000; // El tiempo que queremos que dure el juego por segundos. float x1; float y1; float easing = .7;
void setup() { size(504, 502); //Tamaño de pantalla. smooth(); //Suavizar los trazos. // Cargar las imagenes. inicio = loadImage("totalfish.jpg"); fondo = loadImage("fondo1.jpg"); pez1 = loadImage("pez1ya.png"); textSize(20); savedTime = millis();
for (int p=0; p<pecesValores.length; p++) { pecesValores[p] = new Peces(250, 20, 30); } }
void draw() { background(#FFFFF2);
// Caña de pesca. float targetX = mouseX; float x = targetX - x1; x1 += x * easing;
float targetY = mouseY; float y = targetY - y1; y1 += y * easing;
rectMode(CENTER); ellipseMode(CENTER); ellipse(x1, y1, 10, 10); rect(x1, y1-250, 1, 500);
//Esta parte es para que se abra la pantalla del juego al pulsar la tecla z. if (keyPressed) { if (key == 'z' || key == 'Z') { introScreen = false; } } if (introScreen==true) { background(#E7F005); text("Press z", 160, 440); text("Ùltima puntuación: "+MejorPuntaje, 160, 460); } else { for (int p=0; p<pecesValores.length; p++) { pecesValores[p].speed(); pecesValores[p].display(); pecesValores[p].colision(); pecesValores[p].pezcar(); pecesValores[p].puntaje(); pecesValores[p].GameOver(); } } }
class Peces { float x; float y; float t; float xSpeed; float ySpeed;
Peces(float posiX, float posiY, float tam) { x = posiX; y = posiY; t = tam;
xSpeed = random(-5, 5); //Los peces tienen velocidades random, se moverán de diferentes formas.
ySpeed = random(-5, 5);
}
void speed() { //Estagblecer parámetros de lo que genera el movimiento.
x += xSpeed;
y += ySpeed; //Al generarse los peces, cada uno se va a mover en x y y de acuerdo a la velocidad de -5 y 5.
}
void display() {
ellipse(x,y,30,30);
}
void colision() {
if ((x<0) || (x>width-t)) {
xSpeed = -xSpeed; //Se invierte la velocidad en x.
}
if ((y<0) || (y>width-t)) {
ySpeed = -ySpeed; //Se invierte la velocidad en y.
}
}
void pezcar() { if (mousePressed) { float distance = dist(mouseX, mouseY, x, y); //Calcula una distancia entre dos objetos y dice si se están "tocando", o sea, posicionandose. if (distance<t) { x=-1000; xSpeed = 0; ySpeed = 0; puntos++; MejorPuntaje = max(puntos, MejorPuntaje); // "max" Establece un valor máximo entre dos valores. } } } void puntaje() { //Almacenar textos del puntaje. fill(#050000); text("Puntos: "+puntos, 10, 20); } void GameOver() { int passedTime = millis() - savedTime; //Es el tiempo que transcurre.
if (passedTime > totalTime) {
introScreen = true;
puntos = 0;
savedTime = millis();
for (int p=0; p<pecesValores.length; p++) {
pecesValores[p] = new Peces(250, 20, 30);
}
//Para que se resetee el puntaje.
}
} }
//Para hacer el otro pez, el class contiene los void.`
Answers
Edit post. Select code. Press ctrl + o.