Dicho trabajo consistió en crear un circulo cromantico. Este trabajo tuvo como objetivo lograr que gane experiencia en los siguientes temas: Conocer el Entorno de Desarrollo Integrado (IDE) de Processing. Entender el espacio de coordenadas. Primeras aproximaciones a la sintaxis del lenguaje. Instrucciones de dibujo de figuras básicas y sus parámetros. Cómo establecer propiedades de las figuras. Modelado del color en espacios informáticos.
void setup(){
background(#FFB7F8);
size(600,650);
}
void draw(){
fill(255,255,255);
textSize(26);
text("Circulo Cromático",10,30);
stroke(255,255,255);
strokeWeight(3);
fill(255,255,255);
ellipse(300,350,90,90);
//ColoresTerciarios
//naranja
fill(255,127,0);
ellipse(50,375,75,75);
//verde
fill(127,255,0);
ellipse(150,150,75,75);
//verdeazulado
fill(0,255,127);
ellipse(435,150,75,75);
//azul
fill(0,127,225);
ellipse(550,375,75,75);
//violeta
fill(127,0,255);
ellipse(435,575,75,75);
//violetaRojizo
fill(255,0,127);
ellipse(150,575,75,75);
//TrianguloCMY
noFill();
triangle(300,600,50,250,550,250);
//Magenta
fill(255,0,255);
ellipse(300,600,75,75);
//Cian
fill(0,255,255);
ellipse(550,250,75,75);
//Amarillo
fill(255,255,0);
ellipse(50,250,75,75);
//TrianguloRGB
noFill();
triangle(300,100,50,500,550,500);
//Green
fill(0,255,0);
ellipse(300,100,85,85);
//Red
fill(255,0,0);
ellipse(50,500,85,85);
//Blue
fill(0,0,255);
ellipse(550,500,85,85);
}
Dicho trabajo consistió en crear un circulo cromantico. Este trabajo tuvo como objetivo lograr que gane experiencia en los siguientes temas: Conocer el Entorno de Desarrollo Integrado (IDE) de Processing. Entender el espacio de coordenadas. Primeras aproximaciones a la sintaxis del lenguaje. Instrucciones de dibujo de figuras básicas y sus parámetros. Cómo establecer propiedades de las figuras. Modelado del color en espacios informáticos.
PImage shrek;
float xShrek = 2000;
float xShrek2 = -1500;
PImage fiona;
float xFiona1 = -2800;
float xFiona2 = 2800;
PImage gato;
float yGato1 = -3800;
float yGato2 = 4300;
PImage burro;
float yBurro1 = 5600;
float yBurro2 = -5100;
PImage titulo;
PImage cielo;
PImage fondo;
PImage director;
PImage musica2;
PImage todos;
//velocidades
float velocidadDer = 6.0;
float velocidadIzq = -6.0;
float velocidadCae = 6.0;
float velocidadSube = -6.0;
float yTitulo = 500;
float yFondo = 11800;
float yFondo2 = 7200;
float velocidadFondo1 = -6.8;
float velocidadFondo =-7;
float yText = 6850;
float yText2 = 7600;
float velocidadText = -7;
PFont fuente1;
PFont fuente2;
import processing.sound.*;
SoundFile file;
void setup() {
cielo = loadImage("fondo.png");
shrek = loadImage("shrek.png");
fiona= loadImage("fiona.png");
gato = loadImage("gato.png");
burro = loadImage("burro.png");
fondo = loadImage("negro.png");
director = loadImage("director.png");
musica2 = loadImage("Musica2.png");
titulo = loadImage("titulo.png");
fuente1 = createFont("SHREK___.TTF", 60);
fuente2 = createFont("Marcellus-Regular.ttf", 30);
todos = loadImage("todos.png");
size(1280, 720);
background(cielo);
frameRate(19);
file = new SoundFile(this, "Holding Out For A Hero - Frou Frou Lyrics (mp3cut.net) (1).mp3");
file.play();
noCursor();
}
void draw() {
background(cielo);
textSize(60);
textFont(fuente1);
fill(#C3F500);
//titulo
image(titulo, 0, yTitulo);
yTitulo += velocidadSube;
//nombreShrek
text("Mike Myers", xShrek, 200);
xShrek += velocidadIzq;
image(shrek, xShrek2, 0);
xShrek2 += velocidadDer;
//nombreFiona
text("Cameron Diaz", xFiona1, 200);
xFiona1 += velocidadDer;
image(fiona, xFiona2, 0);
xFiona2 += velocidadIzq;
//nombreGato
text("Antonio Banderas", 500, yGato1);
yGato1 += velocidadCae;
image(gato, 0, yGato2);
yGato2 += velocidadSube;
//nombreBurro
text("Eddie Murphy", 300, yBurro1);
yBurro1 += velocidadSube;
image(burro, 0, yBurro2);
yBurro2 += velocidadCae;
image(fondo, 0, yFondo);
yFondo += velocidadSube;
image(director, 0, yFondo);
yFondo += velocidadFondo1;
textFont(fuente2);
fill(255, 255, 255);
text("Directed By \n Andrew Adamson \n Kelly Asbury \n Conrad Vernan", 500, yText);
yText += velocidadText;
image(musica2, 0, yFondo2);
yFondo2 += velocidadFondo;
text("Music by \n Harry Gregson-Williams \n Music Supervisor \n Chris Douridos", 500, yText2);
yText2 += velocidadText;
image(todos, mouseX, mouseY);
}
En este trabajo se propuso crear una aventura gráfica interactiva de temática libre, con la condición que incluya Elementos visuales, Mapas de bits,Tipografía, Pantalla de créditos. Como mínimo debe poseer 10 pantallas, permitiendo finales alternativos y un recorrido en formato de bucle.
int pantalla = 1;
PImage pantalla1;
PImage pantalla2;
PImage pantalla3;
PImage pantalla4;
PImage pantalla5;
PImage pantalla6;
PImage pantalla7;
PImage pantalla8;
PImage pantalla9;
PImage pantalla10;
PImage pantalla11;
PImage pantalla12;
PImage pantalla13;
PImage pantalla14;
PImage pantalla15;
PImage pantalla16;
PImage pantalla17;
PImage pantalla18;
PImage pantalla19;
PImage pantalla20;
PImage pantalla21;
PImage pantalla22;
PImage pantalla23;
PImage pantalla24;
PImage pantalla25;
PImage pantalla00;
PImage boton;
PImage mouse;
PFont tipo;
int p2_posY_inicial;
int p2_posY;
void setup() {
fill(0);
fill(0);
textSize(20);
tipo = createFont("Acme-Regular.ttf", 20);
pantalla00 = loadImage("pantalla00.png");
pantalla1 = loadImage("pantalla1.png");
pantalla2 = loadImage("pantalla2.png");
pantalla3 = loadImage("pantalla3.png");
pantalla4 = loadImage("pantalla4.png");
pantalla6 = loadImage("pantalla6.png");
pantalla7 = loadImage("pantalla7.png");
pantalla8 = loadImage("pantalla8.png");
pantalla9 = loadImage("pantalla9.png");
pantalla10 = loadImage("pantalla10.png");
pantalla11 = loadImage("pantalla11.png");
pantalla12 = loadImage("pantalla12.png");
pantalla13 = loadImage("pantalla13.png");
pantalla14 = loadImage("pantalla14.png");
pantalla15 = loadImage("pantalla15.png");
pantalla16 = loadImage("pantalla16.png");
pantalla17 = loadImage("pantalla17.png");
pantalla18 = loadImage("pantalla18.png");
pantalla19 = loadImage("pantalla19.png");
pantalla20 = loadImage("pantalla20.png");
pantalla21 = loadImage("pantalla21.png");
pantalla23 = loadImage("pantalla23.png");
pantalla24 = loadImage("pantalla24.png");
pantalla25 = loadImage("pantalla25.png");
pantalla00 = loadImage("pantalla00.png");
boton = loadImage ("boton.png");
mouse = loadImage("mouse.png");
noCursor();
p2_posY_inicial = porcentajeY(610);
p2_posY = p2_posY_inicial;
size(800, 600);
}
void draw() {
background(255);
textFont(tipo);
if (pantalla == 1) {
pantalla1();
} else if (pantalla == 2) {
pantalla2();
} else if (pantalla == 3) {
pantalla3();
} else if (pantalla == 4) {
pantalla4();
} else if (pantalla == 5) {
pantalla5();
} else if (pantalla == 6) {
pantalla6();
} else if (pantalla == 7) {
pantalla7();
} else if (pantalla == 8) {
pantalla8();
} else if (pantalla == 9) {
pantalla9();
} else if (pantalla == 10) {
pantalla10();
} else if (pantalla == 11) {
pantalla11();
} else if (pantalla == 12) {
pantalla12();
} else if (pantalla == 13) {
pantalla13();
} else if (pantalla ==14) {
pantalla14();
} else if (pantalla ==15) {
pantalla15();
} else if (pantalla ==16) {
pantalla16();
} else if (pantalla ==17) {
pantalla17();
} else if (pantalla ==18) {
pantalla18();
} else if (pantalla ==19) {
pantalla19();
} else if (pantalla ==20) {
pantalla20();
} else if (pantalla ==21) {
pantalla21();
} else if (pantalla ==22) {
pantalla22();
} else if (pantalla ==23) {
pantalla23();
} else if (pantalla ==24) {
pantalla24();
} else if (pantalla ==25) {
pantalla25();
} else if (pantalla == 00) {
pantalla00();
}
image(mouse, mouseX, mouseY);
}
int porcentajeX(int valor) {
return round(map(valor, 0, 800, 0, width));
}
int porcentajeY(int valor) {
return round(map(valor, 0, 600, 0, height));
}
void mouseClicked() {
if (pantalla == 1) {
//Botón Jugar
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 2;
}
//Botón Creditos
if (mouseX > porcentajeX(200) && mouseX < porcentajeX(300) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 00;
} else if (pantalla == 00) {
}
} else if (pantalla == 2) {
//Botón Presentación Continuar
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 3;
}
} else if (pantalla == 3) {
//Botón Si
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 4;
}
//Botón No
if (mouseX > porcentajeX(200) && mouseX < porcentajeX(300) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 5;
}
} else if (pantalla == 4) {
//Boton Si se vuelven
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 6;
}
//Boton No se van
if (mouseX > porcentajeX(200) && mouseX < porcentajeX(300) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 5;
}
} else if (pantalla == 5) {
//Botón Creditos
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 00;
}
} else if (pantalla == 6) {
//Botón si subirse al arbol
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 8;
}
//Boton No se sube al arbol
if (mouseX > porcentajeX(200) && mouseX < porcentajeX(300) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 7;
}
} else if (pantalla == 7) {
//Botón Continuar
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 00;
}
} else if (pantalla == 8) {
//Botón Si van a la casa
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 9;
}
//Boton No van a la casa
if (mouseX > porcentajeX(200) && mouseX < porcentajeX(300) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 7;
}
} else if (pantalla == 9) {
//Botón si Se quedan
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 10;
}
//Boton No se quedan
if (mouseX > porcentajeX(200) && mouseX < porcentajeX(300) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 11;
}
} else if (pantalla == 10) {
//Botón si Se van
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 11;
}
//Boton No se van
if (mouseX > porcentajeX(200) && mouseX < porcentajeX(300) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 12;
}
} else if (pantalla == 11) {
//Botón Continuar
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 00;
}
} else if (pantalla == 12) {
//Botón Si
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 14;
}
if (mouseX > porcentajeX(200) && mouseX < porcentajeX(300) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 13;
}
} else if (pantalla == 13) {
//Botón Continuar
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 00;
}
} else if (pantalla == 14) {
//Botón continuar
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 15;
}
if (mouseX > porcentajeX(200) && mouseX < porcentajeX(300) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 13;
}
} else if (pantalla == 15) {
//Botón si realiza un plan
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 16;
}
} else if (pantalla == 16) {
//Botón Si
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 18;
}
if (mouseX > porcentajeX(200) && mouseX < porcentajeX(300) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 17;
}
} else if (pantalla == 17) {
//Botón Continuar
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 13;
}
} else if (pantalla == 18) {
//Botón continuar
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 20;
}
if (mouseX > porcentajeX(200) && mouseX < porcentajeX(300) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 19;
}
} else if (pantalla == 19) {
//Botón si Se esconden
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 00;
}
} else if (pantalla == 20) {
//Botón continuar
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 21;
}
if (mouseX > porcentajeX(200) && mouseX < porcentajeX(300) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 22;
}
} else if (pantalla == 21) {
//Botón si le roba las botas
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 22;
}
//no se las roba
if (mouseX > porcentajeX(200) && mouseX < porcentajeX(300) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 23;
}
} else if (pantalla == 22) {
//Botón si Se van
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 00;
}
} else if (pantalla == 23) {
//Botón continuar
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 24;
}
} else if (pantalla == 24) {
//Botón continuar
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 25;
}
} else if (pantalla == 25) {
//Botón creditos
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
pantalla = 00;
}
} else if (pantalla == 00) {
//Botón Inicio
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
p2_posY = p2_posY_inicial;
pantalla = 1;
}
}
}
void pantalla00() {
image(pantalla00, 0, 0, width, height);
fill(0);
text("Esto fue realizado para Tecno1 \n en la Com. 4 \n Por Jazmin Gonzalez", porcentajeX(200), porcentajeY(p2_posY));
if (p2_posY > porcentajeY(200)) {
p2_posY --;
}
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Inicio", porcentajeX(520), porcentajeY(480));
}
void pantalla1 () {
image(pantalla1, 0, 0, width, height);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Jugar", porcentajeX(520), porcentajeY(480));
//Botón Creditos
image(boton, porcentajeX(200), porcentajeY(450));
text("Creditos", porcentajeX(218), porcentajeY(480));
}
void pantalla2() {
image(pantalla2, 0, 0, width, height);
noStroke();
fill(50, 50, 0, 50);
rect( porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("Pulgarcito era el hijo más pequeño de una familia muy humilde, \n la cual estaba conformada por 6 hermanos mellizos. \n Lo llamaban así porque cuando nació no era mas grande que el dedo pulgar", porcentajeX(75), porcentajeY(50));
image(boton, porcentajeX(500), porcentajeY(450));
fill(0);
text("Continuar", porcentajeX(510), porcentajeY(480));
}
void pantalla3() {
image(pantalla3, 0, 0, width, height);
fill(0);
image(boton, porcentajeX(500), porcentajeY(450));
image(boton, porcentajeX(200), porcentajeY(450));
text("No", porcentajeX(218), porcentajeY(480));
text("Si", porcentajeX(520), porcentajeY(480));
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 730, 190);
fill(255);
text("Los padres de Pulgarcito ya no tenían dinero, no les alcanzaba para la comida de sus hijos, \n " +
"debido a esto planean salir de excursión y abandonarlos en el bosque, \n" +
" de esta manera no tendrían que ver como sus hijos morían de hambre. \n"+
" Pulgarcito al escuchar la conversación de sus padres se horroriza.\n"+
"¿Debería realizar un plan para salvar a sus hermanos y a él?", porcentajeX(75), porcentajeY(50));
noStroke();
}
void pantalla4() {
image(pantalla4, 0, 0, width, height);
fill(0);
//boton si se van
image(boton, porcentajeX(500), porcentajeY(450));
text("Si", porcentajeX(520), porcentajeY(480));
//boton no se van
image(boton, porcentajeX(200), porcentajeY(450));
text("No", porcentajeX(218), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 695, 115);
fill(255);
text("Los padres de Pulgarcito ya se han ido, pero sus hermanos aún no saben lo que sucede. \n Pulgarcito había creado el plan de dejar migajas de pan desde su casa hasta el bosque \n" +
"¿Pulgarcito debería contarle sobre ello a sus hermanos?", porcentajeX(75), porcentajeY(50));
}
void pantalla5() {
image(pantalla11, 0, 0, width, height);
//boton credito
image(boton, porcentajeX(500), porcentajeY(450));
fill(0);
text("Continuar", porcentajeX(510), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("¡Oh no! las migas de pan ya no están. \n" +
"Pulgarcito y sus hermanos se pierden en el bosque, no logran salvarse. \n" +
"La próxima será.", porcentajeX(75), porcentajeY(50));
}
void pantalla6() {
image(pantalla6, 0, 0, width, height);
fill(0);
//boton si trepa el arbol
image(boton, porcentajeX(500), porcentajeY(450));
text("Si", porcentajeX(520), porcentajeY(480));
//boton no trepa el arbol
image(boton, porcentajeX(200), porcentajeY(450));
text("No", porcentajeX(218), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("¡Oh no! las migas de pan ya no están. \n" +
"¡Mira! Pulgarcito podría subirse al árbol y buscar su casa, pero se ve muy peligroso \n" +
"¿Debería arriesgarse y trepar el árbol?", porcentajeX(75), porcentajeY(50));
}
void pantalla7() {
image(pantalla7, 0, 0, width, height);
//Botón Jugar
fill(0);
image(boton, porcentajeX(500), porcentajeY(450));
text("Continuar", porcentajeX(520), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("Pulgarcito y sus hermanos deciden refugiarse debajo de este árbol,\n" +
"y buscar su casa luego de que haya terminado la lluvia", porcentajeX(75), porcentajeY(50));
}
void pantalla8() {
image(pantalla8, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Si", porcentajeX(520), porcentajeY(480));
//Botón Creditos
image(boton, porcentajeX(200), porcentajeY(450));
text("No", porcentajeX(218), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("¡Hurra! Hay una casa a la vista \n" +
"¿Deberían ir allí?", porcentajeX(75), porcentajeY(50));
}
void pantalla9() {
image(pantalla9, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Si", porcentajeX(520), porcentajeY(480));
//Botón Creditos
image(boton, porcentajeX(200), porcentajeY(450));
text("No", porcentajeX(218), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 680, 185);
fill(255);
text("¡Oh no! es la casa de los ogros.\n" +
"La señora Ogra les ofrece a los niños quedarse hasta que pase la lluvia, \n" +
"o hasta que llegue su marido, el señor Ogro, porque si él los encontrara en su casa, \n se los comería\n"+
"¿Deberían quedarse Pulgarcito y sus hermanos?", porcentajeX(75), porcentajeY(50));
}
void pantalla10() {
image(pantalla10, 0, 0, width, height);
fill(0);
//Botón Derecho
image(boton, porcentajeX(500), porcentajeY(450));
text("No", porcentajeX(520), porcentajeY(480));
//Botón Izq
image(boton, porcentajeX(200), porcentajeY(450));
text("Si", porcentajeX(218), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 140);
fill(255);
text("¡El ogro ya regresó! \n" +
"La señora Ogra les pide a los niños que se escondan en la pieza de sus hijas\n" +
"Pulgarcito tiene sus dudas sobre quedarse, teme que el Ogro los encuentre \n ¿Deberían pasar la noche allí?", porcentajeX(75), porcentajeY(50));
}
void pantalla11() {
image(pantalla11, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Continuar", porcentajeX(510), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 150);
fill(255);
text("Pulgarcito y sus hermanos vuelven al bosque, con la esperanza de encontrar su casa. \n Por desgracia no lo consiguen, quedando atrapados allí por siempre.", porcentajeX(75), porcentajeY(50));
}
void pantalla12() {
image(pantalla12, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Si", porcentajeX(520), porcentajeY(480));
image(boton, porcentajeX(200), porcentajeY(450));
text("No", porcentajeX(218), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("El ogro los encuentra y desea comerlos, pero para la suerte de ellos, \n la señora Ogra lo convence de no hacerlo \n" +
"Pulgarcito no confía en el Ogro ¿Debería quedarse despierto por las dudas?", porcentajeX(75), porcentajeY(50));
}
void pantalla13() {
image(pantalla13, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Continuar", porcentajeX(510), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("¡Oh no! el Ogro a entrado a la habitación mientras todos dormían y se los a comido. \n", porcentajeX(75), porcentajeY(50));
}
void pantalla14() {
image(pantalla14, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Si", porcentajeX(520), porcentajeY(480));
//boton no se van
image(boton, porcentajeX(200), porcentajeY(450));
text("No", porcentajeX(218), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("¿Pulgarcito debería elaborar un plan por seguridad?", porcentajeX(75), porcentajeY(50));
}
void pantalla15(){
image(pantalla15,0,0,width,height);
fill(0);
//Botón Continuar
image(boton, porcentajeX(500), porcentajeY(450));
text("Continuar",porcentajeX(510), porcentajeY(480));
noStroke();
fill(50,50,0,50);
rect(porcentajeX(50), porcentajeY(25), 650,110);
fill(255);
text("A pulgarcito se le a ocurrido la brillante idea de cambiar las coronas \n de las hijas del Ogro por los gorros de sus hermanos.",porcentajeX(75), porcentajeY(50));
}
void pantalla16() {
image(pantalla16, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Si", porcentajeX(520), porcentajeY(480));
//Botón Creditos
image(boton, porcentajeX(200), porcentajeY(450));
text("No", porcentajeX(218), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("¡El Ogro se comió a sus hijas! el plan funciono. \n Pero ahora el Ogro esta muy enojado ¿Deberían huir los niños?", porcentajeX(75), porcentajeY(50));
}
void pantalla17() {
image(pantalla17, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Continuar", porcentajeX(510), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("Pulgarcito y sus hermanos se hacen los dormidos \n esperando que el enojo del Ogro se le pase.", porcentajeX(75), porcentajeY(50));
}
void pantalla18() {
image(pantalla18, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Si", porcentajeX(520), porcentajeY(480));
//Botón Creditos
image(boton, porcentajeX(200), porcentajeY(450));
text("No", porcentajeX(218), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("Pulgarcito junto con sus hermanos salieron corriendo de la casa. \n" +
"¡El Ogro agarro las botas de siete leguas para correr más rápido! \n" +
"¿Deberían esconderse los niños?", porcentajeX(75), porcentajeY(50));
}
void pantalla19() {
image(pantalla19, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Continuar", porcentajeX(510), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("¡Oh no! El Ogro capturó a pulgarcito y sus hermanos.", porcentajeX(75), porcentajeY(50));
}
void pantalla20 () {
image(pantalla20, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Si", porcentajeX(520), porcentajeY(480));
//Botón Creditos
image(boton, porcentajeX(200), porcentajeY(450));
text("No", porcentajeX(218), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("El ogro se canso de tanto buscar a los niños, \n"+
"Se a echado a dormir una siesta del cansancio...¡con las botas puestas! \n" +
"¿Debería robarlas Pulgarcito?", porcentajeX(75), porcentajeY(50));
}
void pantalla21 () {
image(pantalla21, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Si", porcentajeX(520), porcentajeY(480));
image(boton, porcentajeX(200), porcentajeY(450));
text("No", porcentajeX(218), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("¡Eureka! Pulgarcito logró robar las botas, \n ¿Debería ir con sus hermanos en búsqueda de su casa? \n ", porcentajeX(75), porcentajeY(50));
}
void pantalla22 () {
fill(0);
image(pantalla11, 0, 0, width, height);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Continuar", porcentajeX(510), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("Pulgarcito junto a sus hermanos vuelven al bosque en búsqueda de su casa.", porcentajeX(75), porcentajeY(50));
}
void pantalla23() {
image(pantalla23, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Continuar", porcentajeX(510), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("Pulgarcito va de regreso a la casa del Ogro para engañar a su esposa y robarle todo el oro \n y así poder ayudar económicamente a sus padres. \n"+
"Al llegar a la casa, le miente a la Ogra, \n diciéndole que su marido fue capturado, y que a cambio de su liberación, \n sus raptores exigen oro.\n", porcentajeX(75), porcentajeY(50));
}
void pantalla24() {
image(pantalla24, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Continuar", porcentajeX(510), porcentajeY(480));
noStroke();
fill(50, 50, 0, 50);
rect(porcentajeX(50), porcentajeY(25), 650, 110);
fill(255);
text("La señora Ogra inmediatamente le entrega todo el oro, \n con la esperanza de salvar a su marido \n"+
"Pulgarcito regresa con sus hermanos contento con el oro y las botas.", porcentajeX(75), porcentajeY(50));
}
void pantalla25() {
image(pantalla25, 0, 0, width, height);
fill(0);
//Botón Jugar
image(boton, porcentajeX(500), porcentajeY(450));
text("Continuar", porcentajeX(510), porcentajeY(480));
noStroke();
}
Este trabajo consistió en la evolución del TP3 con la incorporación de Arreglos y Funciones.
PFont tipo;
int cantPantallas = 29;
int cantImagenes = 29;
PImage[] imagenes = new PImage [29];
String [] texto = new String [29];
String [] textBoton= new String [6];
int [][][] botones = new int[cantPantallas][2][5];
int p2_posY_inicial;
int p2_posY;
int pantalla = 1;
PImage boton;
PImage mouse;
void setup() {
size(800, 600);
cargarBotones();
TextosArreglo();
imagenes();
p2_posY_inicial = porcentajeY(610);
p2_posY = p2_posY_inicial;
tipo = createFont("Acme-Regular.ttf", 20);
boton = loadImage ("boton.png");
boton.resize(porcentajeX(109), porcentajeY(60));
mouse = loadImage("mouse.png");
noCursor();
}
void draw() {
background(255);
for (int i=0; i<29; i++) {
PantallaCompleta(i, i, i);
}
dibujarBotones();
textFont(tipo);
image(mouse, mouseX, mouseY);
}
int porcentajeX(int valor) {
return round(map(valor, 0, 800, 0, width));
}
int porcentajeY(int valor) {
return round(map(valor, 0, 600, 0, height));
}
void PantallaCompleta(int nPantalla, int nImagen, int nTexto) {
if (nPantalla==pantalla) {
image(imagenes[nImagen], porcentajeX(0), porcentajeY(0));
fill(255);
textFont(tipo);
textSize(20);
text(texto[nTexto], porcentajeX(50), porcentajeY(50));
}
}
void imagenes() {
for (int i = 1; i < 29; i ++) {
imagenes[i] = loadImage( i + ".png");
}
image(imagenes[pantalla], 0, 0, width, height);
}
void TextosArreglo() {
fill(250);
textBoton[0] = ("Inicio");
textBoton[1] = ("Continuar");
textBoton[2] = ("Creditos");
textBoton[3] = ("Si");
textBoton[4] = ("No");
texto[1]= "";
texto[2] = ("Pulgarcito era el hijo más pequeño de una familia muy humilde, \n la cual estaba conformada por 6 hermanos mellizos."+
" \n Lo llamaban así porque cuando nació no era mas grande que el dedo pulgar");
texto[3] = ("Los padres de Pulgarcito ya no tenían dinero, no les alcanzaba para la comida de sus hijos, \n " +
"debido a esto planean salir de excursión y abandonarlos en el bosque, \n" +
" de esta manera no tendrían que ver como sus hijos morían de hambre. \n"+
" Pulgarcito al escuchar la conversación de sus padres se horroriza.\n"+
"Por ese motivo decide armar un plan.");
texto[4] = ("Los padres de Pulgarcito ya se han ido, pero sus hermanos aún no saben lo que sucede. \n Pulgarcito había creado el plan de dejar migajas de pan desde su casa hasta el bosque \n" +
"¿Pulgarcito debería contarle sobre ello a sus hermanos?");
texto[6] = ("¡Oh no! las migas de pan ya no están. \n" +
"Pulgarcito y sus hermanos se pierden en el bosque, no logran salvarse. \n" +
"La próxima será.");
texto[5] = ("¡Oh no! las migas de pan ya no están. \n" +
"¡Mira! Pulgarcito podría subirse al árbol y buscar su casa, pero se ve muy peligroso \n" +
"¿Debería arriesgarse y trepar el árbol?");
texto[7] = ("¡Hurra! Hay una casa a la vista \n" +
"¿Deberían ir allí?");
texto[8] = ("Pulgarcito y sus hermanos deciden refugiarse debajo de este árbol,\n" +
"y buscar su casa luego de que haya terminado la lluvia");
texto[9] = ("¡Oh no! es la casa de los ogros.\n" +
"La señora Ogra les ofrece a los niños quedarse hasta que pase la lluvia, \n" +
"o hasta que llegue su marido, el señor Ogro, porque si él los encontrara en su casa, \n se los comería\n"+
"¿Deberían quedarse Pulgarcito y sus hermanos?");
texto[10] = ("Pulgarcito y sus hermanos vuelven al bosque, con la esperanza de encontrar su casa. \n Por desgracia no lo consiguen, quedando atrapados allí por siempre.");
texto[11] = ("¡El ogro ya regresó! \n" +
"La señora Ogra les pide a los niños que se escondan en la pieza de sus hijas\n" +
"Pulgarcito tiene sus dudas sobre quedarse, teme que el Ogro los encuentre \n ¿Deberían pasar la noche allí?");
texto[12] = ("¡Oh no! el Ogro a entrado a la habitación mientras todos dormían y se los a comido. \n");
texto[13] = ("El ogro los encuentra y desea comerlos, pero para la suerte de ellos, \n la señora Ogra lo convence de no hacerlo \n" +
"Pulgarcito no confía en el Ogro ¿Debería quedarse despierto por las dudas?");
texto[14] = texto[12];
texto[15] = ("¿Pulgarcito debería elaborar un plan por seguridad?");
texto[16] = texto[12];
texto[17] = ("A pulgarcito se le a ocurrido la brillante idea de cambiar las coronas \n de las hijas del Ogro por los gorros de sus hermanos.");
texto[18] = ("¡El Ogro se comió a sus hijas! el plan funciono. \n Pero ahora el Ogro esta muy enojado ¿Deberían huir los niños?");
texto[19] = ("¡Oh no! El Ogro capturó a pulgarcito y sus hermanos.");
texto[20] = ("Pulgarcito junto con sus hermanos salieron corriendo de la casa. \n" +
"¡El Ogro agarro las botas de siete leguas para correr más rápido! \n" +
"¿Deberían esconderse los niños?");
texto[21] = ("Pulgarcito y sus hermanos se hacen los dormidos \n esperando que el enojo del Ogro se le pase.");
texto[22] = ("El ogro se canso de tanto buscar a los niños, \n"+
"Se a echado a dormir una siesta del cansancio...¡con las botas puestas! \n" +
"¿Debería robarlas Pulgarcito?");
texto[23] = ("Pulgarcito junto a sus hermanos vuelven al bosque en búsqueda de su casa.");
texto[24] = ("¡Eureka! Pulgarcito logró robar las botas, \n ¿Debería ir con sus hermanos en búsqueda de su casa? \n ");
texto[25] = ("Pulgarcito va de regreso a la casa del Ogro para engañar a su esposa y robarle todo el oro \n y así poder ayudar económicamente a sus padres. \n"+
"Al llegar a la casa, le miente a la Ogra, \n diciéndole que su marido fue capturado, y que a cambio de su liberación, \n sus raptores exigen oro.\n");
texto[26] = ("La señora Ogra inmediatamente le entrega todo el oro, \n con la esperanza de salvar a su marido \n"+
"Pulgarcito regresa con sus hermanos contento con el oro y las botas.");
texto[28] = ("");
}void cargarBotones() {
int[] botones1 = {2, 500, 600, 460, 510};
int[] botones2 = {28, 200, 300, 460, 510}; //final izquierdo
botones[1][0] = botones1;
botones[1][1] = botones2;
int[] botones3 = {3, 500, 600, 460, 510};
botones[2][0] = botones3;
int[] botones04 = {4, 500, 600, 460, 510};
botones[3][0] = botones04;
int[] botones5 = {6, 500, 600, 460, 510};
int[] botones6 = {5, 200, 300, 460, 510};
botones[4][0] = botones5;
botones[4][1] = botones6;
int[] botones7 = {6, 500, 600, 460, 510};
int[] botones8 = {7, 200, 300, 460, 510};
botones[5][0] = botones7;
botones[5][1] = botones8;
int[] botones9 = {28, 500, 600, 460, 510}; //final derecho
botones[6][0] = botones9;
int[] botones10 = {8, 500, 600, 460, 510};
int[] botones11 = {9, 200, 300, 460, 510};
botones[7][0] = botones10;
botones[7][1] = botones11;
botones[8][0] = botones9;
int[] botones12 = {10, 500, 600, 460, 510};
int[] botones13 = {11, 200, 300, 460, 510};
botones[9][0] = botones12;
botones[9][1] = botones13;
botones[10][0] = botones9;
int[] botones14 = {12, 500, 600, 460, 510};
int[] botones15 = {13, 200, 300, 460, 510};
botones[11][0] = botones14;
botones[11][1] = botones15;
botones[12][0] = botones9;
int[] botones16 = {14, 500, 600, 460, 510};
int[] botones17 = {15, 200, 300, 460, 510};
botones[13][0] = botones16;
botones[13][1] = botones17;
botones[14][0] = botones9;
int[] botones18 = {16, 500, 600, 460, 510};
int[] botones19 = {17, 200, 300, 460, 510};
botones[15][0] = botones18;
botones[15][1] = botones19;
botones[16][0]= botones9;
int[] botones20 = {18, 500, 600, 460, 510};
botones[17][0] = botones20;
int[] botones21 = {20, 500, 600, 460, 510};
int[] botones22 = {19, 200, 300, 460, 510};
botones[18][0] = botones21;
botones[18][1] = botones22;
botones[20][0] = botones9;
int[] botones23 = {21, 500, 600, 460, 510};
int[] botones24 = {22, 200, 300, 460, 510};
botones[19][0] = botones23;
botones[19][1] = botones24;
botones[21][0] = botones14;
int[] botones25 = {23, 500, 600, 460, 510};
int[] botones26 = {24, 200, 300, 460, 510};
botones[22][0] = botones25;
botones[22][1] = botones26;
botones[23][0] = botones9;
int[] botones27 = {25, 500, 600, 460, 510};
botones[24][0] = botones27;
botones[24][1] = botones7;
int[] botones28 = {26, 500, 600, 460, 510};
botones[25][0] = botones28;
int[] botones29 = {27, 500, 600, 460, 510};
botones[26][0] = botones29;
botones[27][0] = botones9;
int[] botones30 = {1, 500, 600, 460, 510};
botones[28][0] = botones30;
}
void botonIzquierdoSi() {
image(boton, porcentajeX(200), porcentajeY(450));
text(textBoton[3], porcentajeX(220), porcentajeY(480));
}
void botonIzquierdoNext() { //en realidad es derecha jeje
image(boton, porcentajeX(500), porcentajeY(450));
text(textBoton[1], porcentajeX(510), porcentajeY(480));
}
void botonDerechoNo() {
image(boton, porcentajeX(500), porcentajeY(450));
text(textBoton[4], porcentajeX(530), porcentajeY(480));
}
void botonCreditos() {
image(boton, porcentajeX(500), porcentajeY(450));
text(textBoton[2], porcentajeX(530), porcentajeY(480));
}
void botonCreditosIzq() {
image(boton, porcentajeX(200), porcentajeY(450));
text(textBoton[2], porcentajeX(220), porcentajeY(480));
}
void dibujarBotones() {
if (pantalla == 1| pantalla == 2 | pantalla == 3 | pantalla == 6 | pantalla == 8 | pantalla == 10 | pantalla == 12 | pantalla == 14 | pantalla == 16 | pantalla == 17 | pantalla == 20 | pantalla == 23 | pantalla == 25 | pantalla == 26 ) {
botonIzquierdoNext();
}
if ( pantalla == 1) {
botonCreditosIzq();
} else if ( pantalla == 4 | pantalla == 5| pantalla == 7 | pantalla == 9 | pantalla == 11 | pantalla == 13 | pantalla == 15 | pantalla == 18 | pantalla == 19 | pantalla == 22 | pantalla == 24) {
botonIzquierdoSi();
botonDerechoNo() ;
} else if ( pantalla == 27) {
botonCreditos();
}
if (pantalla == 28) {
image(boton, porcentajeX(500), porcentajeY(450));
text(textBoton[0], porcentajeX(520), porcentajeY(480));
text("Esto fue realizado para Tecno1 \n en la Com. 4 \n Por Jazmin Gonzalez", porcentajeX(200), porcentajeY(p2_posY));
}
if (p2_posY > porcentajeY(200)) {
p2_posY --;
}
}
void mouseClicked() {
if (mouseX > porcentajeX(botones[pantalla][0][1]) && mouseX < porcentajeX(botones[pantalla][0][2]) && mouseY > porcentajeY(botones[pantalla][0][3]) && mouseY < porcentajeY(botones[pantalla][0][4])) {
pantalla = botones[pantalla][0][0];
} else if (botones[pantalla][1].length > 0) { // Verifico si el segundo botón posee datos, indicando que existe
if (mouseX > porcentajeX(botones[pantalla][1][1]) && mouseX < porcentajeX(botones[pantalla][1][2]) && mouseY > porcentajeY(botones[pantalla][1][3]) && mouseY < porcentajeY(botones[pantalla][1][4])) {
pantalla = botones[pantalla][1][0];
}
}
if (mouseX > porcentajeX(500)&& mouseX < porcentajeX(600) && mouseY > porcentajeY(460) && mouseY < porcentajeY(510)) {
p2_posY = p2_posY_inicial;
}
}
Para esta nueva instancia se propuso realizar un video juego que este elaborado 100% en objetos, con solo una variable global asociada a una clase Jugeo, como minino debia tener cuatro clases. A su vez, este juego reemplazaria una pantalla en la aventura gráfica realizada anteriormente.
//se remplaza a la pantalla 20, si pierde el juego van a la pantalla 19, y si lo ganan quedarian en la pantalla 22
Juego juego;
void setup() {
size(800, 600);
juego = new Juego();
}
void draw() {
juego.dibujar();
}
void keyPressed() {
juego.teclaPresionada();
}
void mouseClicked() {
juego.click();
}
int porcentajeX(int valor) {
return round(map(valor, 0, 800, 0, width));
}
int porcentajeY(int valor) {
return round(map(valor, 0, 600, 0, height));
}
class Fondo {
// PImage [] imagenes = new PImage [3];
int posX, posY, X, Y, posXInicial;
int velocidad, tamanio;
PImage fondomovil1, fondomovil2;
PImage fondo;
PImage arboles;
Fondo() {
//posicion fondo fijo
X = -5;
Y = -5;
//posicion fondo movil
posX = 801;
posXInicial = 1400;
posY = 0;
velocidad = -5;
tamanio = 10;
fondomovil1 = loadImage("f1.png");
fondomovil1.resize(porcentajeX(900), porcentajeY(480));
fondomovil2 = loadImage("f2.png");
fondomovil2.resize(porcentajeX(900), porcentajeY(480));
arboles = loadImage("arboles.png");
arboles.resize(porcentajeX(810), porcentajeY(560));
fondo = loadImage("fondo.png");
fondo.resize(porcentajeX(815), porcentajeY(610));
}
void dibujar() {
image(fondo, porcentajeX(X), porcentajeY(Y));
//imageMode(CENTER);
image(fondomovil1, posX, posY);
posX = posX + velocidad;
image(fondomovil2, porcentajeX(posXInicial), porcentajeY(posY));
posXInicial = posXInicial + velocidad;
if ( posX <-540) {
posX = 780;
}
if (posXInicial <- 540) {
posXInicial = 800;
}
//imageMode(CORNER);
image(arboles, porcentajeX(X), porcentajeY(Y));
}
}
class Pulgarcito {
int posX, posY, tam, VelY, gravedad;
float frame = 1;
PImage [] imagenes = new PImage [7];
int imagenAleatoria;
int vidas;
Pulgarcito(int p_posX, int p_posY, int p_tam) {
for (int i = 1; i < imagenes.length; i ++) {
imagenes [i] = loadImage("p" + i + ".png");
}
imagenes[1].resize(porcentajeX(188), porcentajeY(570));
imagenes[2].resize(porcentajeX(174), porcentajeY(570));
imagenes[3].resize(porcentajeX(96), porcentajeY(570));
imagenes[4].resize(porcentajeX(138), porcentajeY(570));
imagenes[5].resize(porcentajeX(197), porcentajeY(570));
imagenes[6].resize(porcentajeX(188), porcentajeY(570));
frameRate(15);
posX = p_posX; //50;
posY = p_posY;//400
tam = p_tam;
imagenAleatoria = round(random(1, 6));
VelY = 0;
gravedad = 3;
}
void dibujar() {
if ( frame < 5) {
image(imagenes[int (frame)], posX, posY);
} else {
image(imagenes[imagenAleatoria], posX, posY);
}
frame += 0.5;
//println(posY);
// println(posY);
}
void correr() {
if (keyCode == RIGHT) {
posX = posX + tam;
frame = 1;
}
}
void saltar() {
/* if (keyCode == ' ' ) {
posY = - porcentajeY(250);
frame = 1;
}*/
if (keyCode == ' ') {
if (posY == 0) {
VelY = - 25;
}
frame = 1;
}
}
void caer() {
posY += VelY;
VelY += gravedad;
posY = constrain(posY, -250, 0);
//frame = 1;
}
boolean chocaCon(Obstaculo obstaculo) {
if (dist(porcentajeX(posX), porcentajeY(posY), porcentajeX(obstaculo.posX), porcentajeX(obstaculo.posY)) <= tam/2) {
return true ;
} else {
return false;
}
}
boolean haPerdido(Vida vidas) {
println(vidas.cantVidas);
return vidas.cantVidas <= 0;
}
boolean haGanado() {
return porcentajeX(posX) >= porcentajeX(800);
}
}
class Vida {
int cantVidas;
float posX, posY;
Vida(int p_cantVidas, float p_posX, float p_posY) {
cantVidas = p_cantVidas;
posX = p_posX;
posY = p_posY;
}
void dibujar() {
fill(255);
textSize(26);
text("Vidas:" + cantVidas, posX, posY);
}
void decrementar() {
cantVidas--;
}
}
class VideoJuego {
int cantidadObjetos = 5;
int posX, posY, tamX, tamY;
int tam;
Vida vidas;
Pulgarcito pulgarcito;
Fondo fondo;
Obstaculo [] obstaculo = new Obstaculo [cantidadObjetos];
VideoJuego(int p_posX, int p_posY, int p_tamX, int p_tamY) {
posX = p_posX;
posY = p_posY;
tamX = p_tamX;
tamY = p_tamY;
tam = tamX/cantidadObjetos;
inicializar();
}
void dibujar() {
dibujoVideoJuego();
}
void dibujarObstaculosYOgro() {
for (int i = 1; i < cantidadObjetos; i++ ) {
obstaculo[i].dibujar();
if (pulgarcito.chocaCon(obstaculo[i])) {
vidas.decrementar();
}
/* if (pulgarcito.chocaCon(ogro)) {
}*/
if (obstaculo[i].saleDelaPantalla()) {
obstaculo[i].moverEnX(posObstaculoVolver());
}
}
}
/* void dibujarOgro() { //lo llamo en juego
ogro.dibujar();
}
void correogro() {
ogro.correr();
}*/
void teclaPresionada() {
pulgarcito.correr();
pulgarcito.saltar();
//ogro.correr();
}
void dibujoVideoJuego() {
fondo.dibujar();
dibujarObstaculos();
vidas.dibujar ();
pulgarcito.dibujar();
pulgarcito.caer();
}
int controlarGanarOPerder() {
// if (pulgarcito.chocaCon(obstaculo[1]) || pulgarcito.chocaCon(obstaculo[2]) || pulgarcito.chocaCon(obstaculo[3]) || pulgarcito.chocaCon(obstaculo[4]) ) {
if (pulgarcito.haPerdido(vidas)) {
return 3;
} else if (pulgarcito.haGanado()) {
return 2;
}
return 0;
}
void dibujarObstaculos() {
for (int i = 1; i < cantidadObjetos; i++ ) {
obstaculo[i].dibujar();
if (obstaculo[i].saleDelaPantalla()) {
obstaculo[i].moverEnX(posObstaculoVolver());
}
if (pulgarcito . chocaCon (obstaculo [i])) {
obstaculo[i].moverEnX(posObstaculoVolver());
vidas.decrementar();
}
}
}
int posObstaculoVolver() {
return round (random(800, 2000));
}
void inicializar() {
fondo = new Fondo();
pulgarcito= new Pulgarcito(porcentajeX(50), porcentajeY(0), width/16);
pulgarcito.posY = constrain(posY, - 280, 0 );
vidas = new Vida (3, porcentajeX(50), porcentajeX(tam));
for (int i=1; i< cantidadObjetos; i ++) {
int tipoObstaculo = floor(random(1, 5));
int posObstaculo = floor(random(1, 5));
obstaculo[i] = new Obstaculo(posObstaculo, 0, tipoObstaculo);
}
}
}Dicho trabajo consistió en crear un circulo cromantico. Este trabajo tuvo como objetivo lograr que gane experiencia en los siguientes temas: Conocer el Entorno de Desarrollo Integrado (IDE) de Processing. Entender el espacio de coordenadas. Primeras aproximaciones a la sintaxis del lenguaje. Instrucciones de dibujo de figuras básicas y sus parámetros. Cómo establecer propiedades de las figuras. Modelado del color en espacios informáticos.
import processing.sound.*;
Controlador controlador1;
void setup() {
size(800, 600);
controlador1 = new Controlador(this);
}
void draw() {
background(200);
controlador1.dibujar();
}
void mouseClicked() {
controlador1.mouseClicked();
}
void keyPressed() {
controlador1.keyPressed();
}
class Boton {
int posX, posY, ancho, alto, pantallaAIr;
String texto;
PImage boton;
Resize resize = new Resize();
Controlador controlador;
Boton(String texto, int posX, int posY, int pantallaAIr, Resize resize, Controlador controlador) {
this.texto = texto;
this.posX = posX;
this.posY = posY;
this.pantallaAIr = pantallaAIr;
this.resize = resize;
this.controlador = controlador;
boton = loadImage("boton.png");
ancho = 100;
alto = 50;
}
void dibujar() {
image(boton, resize.porcentajeX(posX - 8), resize.porcentajeY(posY - 8));
text(texto, resize.porcentajeX (posX + 5), resize.porcentajeY(posY + (alto/2)));
}
int mouseClicked() {
if (mouseX > resize.porcentajeX(posX) && mouseX < resize.porcentajeX(posX + ancho) && mouseY > resize.porcentajeY(posY) && mouseY < resize.porcentajeY(posY + alto) ) {
if (pantallaAIr == 28) {
controlador.Musica.play();
controlador.Musica.loop();
}
if (pantallaAIr == 1) {
controlador.Musica.stop();
}
return pantallaAIr;
}
return -1;
}
}class Controlador {
SoundFile Musica;
Pantalla pantallaActual;
Juego juego;
Textos textos = new Textos();
Creditos creditos;
Resize resize = new Resize();
int cantidadPantallas = 29;
Pantalla [] pantallas = new Pantalla [cantidadPantallas];
PImage [] fondos = new PImage [cantidadPantallas];
int pantalla;
Controlador(PApplet pro) {
Musica = new SoundFile(pro, "Musica.wav");
Boton boton1, boton2;
cargarFondos();
pantallas = new Pantalla [cantidadPantallas];
pantalla = 1;
boton1 = new Boton(textos.getTextoParaBoton(1), 500, 450, 2, resize, this); //continuar
boton2 = new Boton(textos.getTextoParaBoton(2), 200, 450, 28, resize, this);//creditos pantalla28
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, boton2, null, null);
pantalla = 2;
boton1 = new Boton(textos.getTextoParaBoton(1), 500, 450, 3, resize, this );
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, null, null, null);
pantalla = 3;
boton1 = new Boton(textos.getTextoParaBoton(1), 500, 450, 4, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, null, null, null);
pantalla = 4;
boton1 = new Boton(textos.getTextoParaBoton(4), 500, 450, 6, resize, this);
boton2 = new Boton(textos.getTextoParaBoton(3), 200, 450, 5, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, boton2, null, null);
pantalla = 5;
boton1 = new Boton(textos.getTextoParaBoton(4), 500, 450, 6, resize, this);
boton2 = new Boton(textos.getTextoParaBoton(3), 200, 450, 7, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, boton2, null, null);
//final derecho
boton1 = new Boton(textos.getTextoParaBoton(1), 500, 450, 28, resize, this);
pantallas[6] = new Pantalla(fondos[6], textos.getTextoParaPantalla(6), boton1, null, null, null);
pantallas[8] = new Pantalla(fondos[8], textos.getTextoParaPantalla(8), boton1, null, null, null);
pantallas[10] = new Pantalla(fondos[10], textos.getTextoParaPantalla(10), boton1, null, null, null);
pantallas[12] = new Pantalla(fondos[12], textos.getTextoParaPantalla(12), boton1, null, null, null);
pantallas[14] = new Pantalla(fondos[14], textos.getTextoParaPantalla(14), boton1, null, null, null);
pantallas[16] = new Pantalla(fondos[16], textos.getTextoParaPantalla(16), boton1, null, null, null);
pantallas[20] = new Pantalla(fondos[20], textos.getTextoParaPantalla(20), boton1, null, null, null);
pantallas[23] = new Pantalla(fondos[23], textos.getTextoParaPantalla(23), boton1, null, null, null);
pantallas[27] = new Pantalla(fondos[27], textos.getTextoParaPantalla(27), boton1, null, null, null);
pantalla = 7;
boton1 = new Boton(textos.getTextoParaBoton(4), 500, 450, 8, resize, this);
boton2 = new Boton(textos.getTextoParaBoton(3), 200, 450, 9, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, boton2, null, null);
pantalla = 9;
boton1 = new Boton(textos.getTextoParaBoton(4), 500, 450, 10, resize, this);
boton2 = new Boton(textos.getTextoParaBoton(3), 200, 450, 11, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, boton2, null, null);
pantalla = 11;
boton1 = new Boton(textos.getTextoParaBoton(4), 500, 450, 12, resize, this);
boton2 = new Boton(textos.getTextoParaBoton(3), 200, 450, 13, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, boton2, null, null);
pantalla = 13;
boton1 = new Boton(textos.getTextoParaBoton(4), 500, 450, 14, resize, this);
boton2 = new Boton(textos.getTextoParaBoton(3), 200, 450, 15, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, boton2, null, null);
pantalla = 15;
boton1 = new Boton(textos.getTextoParaBoton( 4), 500, 450, 16, resize, this);
boton2 = new Boton(textos.getTextoParaBoton(3), 200, 450, 17, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, boton2, null, null);
pantalla = 17;
boton1 = new Boton(textos.getTextoParaBoton(1), 500, 450, 18, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, null, null, null);
pantalla = 18;
boton1 = new Boton(textos.getTextoParaBoton(4), 500, 450, 21, resize, this);
boton2 = new Boton(textos.getTextoParaBoton(3), 200, 450, 20, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, boton2, null, null);
pantalla = 20;
juego = new Juego(this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, boton2, null, juego);
pantalla = 19;
boton1 = new Boton(textos.getTextoParaBoton(1), 500, 450, 28, resize, this);
// boton2 = new Boton(textos.getTextoParaBoton(3), 200, 450, 20);
pantallas[pantalla] = new Pantalla(fondos[20], textos.getTextoParaPantalla(pantalla), boton1, null, null, null);
pantalla = 21;
boton1 = new Boton(textos.getTextoParaBoton(1), 500, 450, 12, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, null, null, null);
pantalla = 22;
boton1 = new Boton(textos.getTextoParaBoton(4), 500, 450, 23, resize, this);
boton2 = new Boton(textos.getTextoParaBoton(3), 200, 450, 24, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, boton2, null, null);
pantalla = 24;
boton1 = new Boton(textos.getTextoParaBoton(4), 500, 450, 25, resize, this);
boton2 = new Boton(textos.getTextoParaBoton(3), 200, 450, 6, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, boton2, null, null);
pantalla = 25;
boton1 = new Boton(textos.getTextoParaBoton(1), 500, 450, 26, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, null, null, null);
pantalla = 26;
boton1 = new Boton(textos.getTextoParaBoton(1), 500, 450, 27, resize, this);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, null, null, null);
pantalla = 28;
boton1 = new Boton(textos.getTextoParaBoton(1), 500, 450, 1, resize, this);
creditos = new Creditos(textos.getTextoCreditos(), 300, 600, resize, Musica);
pantallas[pantalla] = new Pantalla(fondos[pantalla], textos.getTextoParaPantalla(pantalla), boton1, null, creditos, null);
//Al terminar de crear las pantallas, indico la actual.
pantallaActual = pantallas[1];
}
void dibujar() {
pantallaActual.dibujar();
pantallaActual.dibujarMouse();
}
void cargarFondos() {
for (int i=1; i
class Creditos {
int posX, posY, ancho, alto, pantallaAIr;
String texto;
Resize resize = new Resize();
SoundFile Musica;
Creditos(String texto, int posX, int posY, Resize resize, SoundFile Musica) {
this.texto = texto;
this.posX = posX;
this.posY = posY;
this.resize = resize;
this.Musica = Musica;
}
void dibujar() {
fill(255);
text(texto, resize.porcentajeX(posX), resize.porcentajeY(posY));
mover();
//Musica.play();
}
void mover() {
if (resize.porcentajeY(posY) > 200) {
resize.porcentajeY (posY--);
}
}
void reiniciarcreditos() {
if (mouseX > resize.porcentajeX(500)&& mouseX < resize.porcentajeX(600) && mouseY > resize.porcentajeY(460) && mouseY < resize.porcentajeY(510)) {
posY = resize.porcentajeY(600);
}
}
}
class Fondo {
// PImage [] imagenes = new PImage [3];
int posX, posY, X, Y, posXInicial;
int velocidad, tamanio;
PImage fondomovil1, fondomovil2;
PImage fondo;
PImage arboles;
Resize resize = new Resize();
Fondo(Resize resize) {
//posicion fondo fijo
X = resize.porcentajeX(-5);
Y = resize.porcentajeY(-5);
//posicion fondo movil
posX = resize.porcentajeX(801);
posXInicial = resize.porcentajeX(1400);
posY = resize.porcentajeY(0);
velocidad = resize.porcentajeX(-5);
tamanio = resize.porcentajeX(10);
fondomovil1 = loadImage("f1.png");
fondomovil1.resize(resize.porcentajeX(900), resize.porcentajeY(480));
fondomovil2 = loadImage("f2.png");
fondomovil2.resize(resize.porcentajeX(900), resize.porcentajeY(480));
arboles = loadImage("arboles.png");
arboles.resize(resize.porcentajeX(810), resize.porcentajeY(560));
fondo = loadImage("fondo.png");
fondo.resize(resize.porcentajeX(815), resize.porcentajeY(610));
}
void dibujar() {
image(fondo, resize.porcentajeX(X), resize.porcentajeY(Y));
//imageMode(CENTER);
image(fondomovil1, resize.porcentajeX(posX), resize.porcentajeY(posY));
posX = resize.porcentajeX(posX + velocidad);
image(fondomovil2, resize.porcentajeX(posXInicial), resize.porcentajeY(posY));
posXInicial = posXInicial + velocidad;
if ( resize.porcentajeX(posX) <- resize.porcentajeX(540)) {
posX = resize.porcentajeX(780);
}
if (resize.porcentajeX(posXInicial) <- resize.porcentajeX(540)) {
posXInicial = resize.porcentajeX(800);
}
//imageMode(CORNER);
image(arboles, resize.porcentajeX(X), resize.porcentajeY(Y));
}
}
class Juego {
int estado;
PImage ganaste, perdiste, boton;
VideoJuego videoJuego;
PFont tipo = createFont("Acme-Regular.ttf", 20);
Controlador controlador;
Resize resize = new Resize();
Juego(Controlador controlador) {
this.controlador = controlador;
inicializar();
}
void dibujar() {
textFont(tipo);
textSize(20);
fill(255);
if (estado == 1) {
dibujoVideoJuego();
} else if (estado == 2) {
dibujoPantallaGanaste();
} else if (estado == 3) {
dibujoPantallaPerdiste();
}
println(estado);
}
void dibujoPantallaGanaste() {
//22
controlador.pantallaActual = controlador.pantallas[22];
}
void dibujoPantallaPerdiste() {
//19
controlador.pantallaActual = controlador.pantallas[19];
}
void teclaPresionada() {
if (estado == 1) {
videoJuego.teclaPresionada();
}
if (estado == 2) {
controlador.pantallaActual = controlador.pantallas[22];
inicializar();
}
if (estado == 3) {
controlador.pantallaActual = controlador.pantallas[19];
inicializar();
}
}
void dibujoVideoJuego() {
videoJuego.dibujar();
if (videoJuego.controlarGanarOPerder() == 2) { //gana
estado = 2;
} else if (videoJuego.controlarGanarOPerder() == 3) { //pierde
estado = 3;
}
}
void reiniciarJuego() {
if (controlador.pantallaActual == controlador.pantallas[18]) {
if (mouseX > resize.porcentajeX(200)&& mouseX < resize.porcentajeX(300) && mouseY > resize.porcentajeY(460) && mouseY < resize.porcentajeY(510)) {
inicializar();
//estado = 1;
}
}
}
void inicializar() {
videoJuego = new VideoJuego(0, 0, resize.porcentajeX(800), resize.porcentajeY(600));
estado = 1;
videoJuego.vidas.cantVidas = 3;
}
}
class Obstaculo {
int posX, posY, tam;
int velocidad, tipo;
PImage imagen ;
Resize resize = new Resize();
Obstaculo(int p_posX, int p_posY, int p_nImagen, Resize resize) {
posX = p_posX;
posY = p_posY;
tipo = p_nImagen;
velocidad = resize.porcentajeX(-8);
if (tipo == 1) {
imagen = loadImage("O1.png");
imagen.resize(resize.porcentajeX(119), resize.porcentajeY(569));
} else if (tipo == 2) {
imagen = loadImage("O2.png");
imagen.resize(resize.porcentajeX(90), resize.porcentajeY(569));
} else if (tipo == 3) {
imagen = loadImage("O3.png");
imagen.resize(resize.porcentajeX(174), resize.porcentajeY(569));
} else if (tipo == 4) {
imagen = loadImage("O4.png");
imagen.resize(resize.porcentajeX(190), resize.porcentajeY(569));
}
if (posX == resize.porcentajeX(1)) {
posX =resize.porcentajeX(800);
} else if (posX == resize.porcentajeX(2)) {
posX = resize.porcentajeX(1000);
} else if (posX == resize.porcentajeX(3)) {
posX = resize.porcentajeX(1300);
} else if (posX== resize.porcentajeX(4)) {
posX = resize.porcentajeX(1700);
}
}
void dibujar() {
image(imagen, posX, posY);
posX = posX + velocidad;
}
void moverEnX( int p_posX) {
posX = p_posX;
}
boolean saleDelaPantalla() {
return posX <= resize.porcentajeX(0) ;
}
}
class Pulgarcito {
int posX, posY, tam, VelY, gravedad;
float frame = 1;
PImage [] imagenes = new PImage [7];
int imagenAleatoria;
int vidas;
Resize resize = new Resize();
Pulgarcito(int p_posX, int p_posY, int p_tam) {
for (int i = 1; i < imagenes.length; i ++) {
imagenes [i] = loadImage("p" + i + ".png");
}
imagenes[1].resize(resize.porcentajeX(188), resize.porcentajeY(570));
imagenes[2].resize(resize.porcentajeX(174), resize.porcentajeY(570));
imagenes[3].resize(resize.porcentajeX(96), resize.porcentajeY(570));
imagenes[4].resize(resize.porcentajeX(138), resize.porcentajeY(570));
imagenes[5].resize(resize.porcentajeX(197), resize.porcentajeY(570));
imagenes[6].resize(resize.porcentajeX(188), resize.porcentajeY(570));
frameRate(15);
posX = p_posX; //50;
posY = p_posY;//400
tam = p_tam;
imagenAleatoria = round(random(1, 6));
VelY = resize.porcentajeY(0);
gravedad = resize.porcentajeY(3);
}
void dibujar() {
if ( frame < 5) {
image(imagenes[int (frame)], posX, posY);
} else {
image(imagenes[imagenAleatoria], posX, posY);
}
frame += 0.5;
//println(posY);
// println(posY);
}
void correr() {
if (keyCode == RIGHT) {
posX = resize.porcentajeX(posX + tam);
frame = 1;
}
}
void saltar() {
if (keyCode == ' ') {
if (posY == resize.porcentajeY(0)) {
VelY = resize.porcentajeY(- 25);
}
frame = 1;
}
}
void caer() {
posY += VelY;
VelY += gravedad;
posY = constrain(posY, resize.porcentajeY(-250), resize.porcentajeY(0));
//frame = 1;
}
boolean chocaCon(Obstaculo obstaculo) {
if (dist(resize.porcentajeX(posX), resize.porcentajeY(posY), resize.porcentajeX(obstaculo.posX), resize.porcentajeX(obstaculo.posY)) <= tam/2) {
return true ;
} else {
return false;
}
}
boolean haPerdido(Vida vidas) {
// println(vidas.cantVidas);
return vidas.cantVidas <= 0;
}
boolean haGanado() {
return resize.porcentajeX(posX) >= resize.porcentajeX(800);
}
}
class Vida {
int cantVidas;
float posX, posY;
Vida(int p_cantVidas, float p_posX, float p_posY) {
cantVidas = p_cantVidas;
posX = p_posX;
posY = p_posY;
}
void dibujar() {
fill(255);
textSize(26);
text("Vidas:" + cantVidas, posX, posY);
}
void decrementar() {
cantVidas--;
}
}
class VideoJuego {
int cantidadObjetos = 5;
int posX, posY, tamX, tamY;
int tam;
Vida vidas;
Pulgarcito pulgarcito;
Fondo fondo;
Obstaculo [] obstaculo = new Obstaculo [cantidadObjetos];
Resize resize = new Resize();
VideoJuego(int p_posX, int p_posY, int p_tamX, int p_tamY) {
posX = p_posX;
posY = p_posY;
tamX = p_tamX;
tamY = p_tamY;
tam = tamX/cantidadObjetos;
inicializar();
}
void dibujar() {
dibujoVideoJuego();
}
void dibujarObstaculosYOgro() {
for (int i = 1; i < cantidadObjetos; i++ ) {
obstaculo[i].dibujar();
if (pulgarcito.chocaCon(obstaculo[i])) {
vidas.decrementar();
}
if (obstaculo[i].saleDelaPantalla()) {
obstaculo[i].moverEnX(posObstaculoVolver());
}
}
}
void teclaPresionada() {
pulgarcito.correr();
pulgarcito.saltar();
}
void dibujoVideoJuego() {
fondo.dibujar();
dibujarObstaculos();
vidas.dibujar ();
pulgarcito.dibujar();
pulgarcito.caer();
}
int controlarGanarOPerder() {
if (pulgarcito.haPerdido(vidas)) {
return 3;
} else if (pulgarcito.haGanado()) {
return 2;
}
return 0;
}
void dibujarObstaculos() {
for (int i = 1; i < cantidadObjetos; i++ ) {
obstaculo[i].dibujar();
if (obstaculo[i].saleDelaPantalla()) {
obstaculo[i].moverEnX(posObstaculoVolver());
}
if (pulgarcito . chocaCon (obstaculo [i])) {
obstaculo[i].moverEnX(posObstaculoVolver());
vidas.decrementar();
}
}
}
int posObstaculoVolver() {
return round (random(resize.porcentajeX(800), resize.porcentajeX(2000)));
}
void inicializar() {
fondo = new Fondo(resize);
pulgarcito= new Pulgarcito(resize.porcentajeX(50), resize.porcentajeY(0), width/16);
pulgarcito.posY = constrain(posY, resize.porcentajeY(- 280),resize.porcentajeY(0) );
vidas = new Vida (3, resize.porcentajeX(50), resize.porcentajeX(tam));
for (int i=1; i< cantidadObjetos; i ++) {
int tipoObstaculo = floor(random(1, 5));
int posObstaculo = floor(random(1, 5));
obstaculo[i] = new Obstaculo(posObstaculo, resize.porcentajeY(0), tipoObstaculo, resize);
}
}
}
class Pantalla {
Boton[] botones;
PImage fondo;
Creditos creditos;
Boton boton1;
Boton boton2;
Juego juego;
String textoPantalla;
PFont tipo = createFont("Acme-Regular.ttf", 20);
Resize resize = new Resize();
Pantalla(PImage fondo, String textoPantalla, Boton boton1, Boton boton2, Creditos creditos, Juego juego) {
this.fondo = fondo;
this.boton1 = boton1;
this.boton2 = boton2;
this.creditos = creditos;
this.juego = juego;
this.textoPantalla = textoPantalla;
}
void dibujar() {
image(this.fondo, resize.porcentajeX(0), resize.porcentajeY(0), width, height);
textFont(tipo);
textSize(20);
fill(255);
text(this.textoPantalla, resize.porcentajeX(50), resize.porcentajeY(50));
if (boton1 != null) {
boton1.dibujar();
}
if (boton2 != null) {
boton2.dibujar();
}
if ( creditos != null) {
creditos.dibujar();
}
if ( juego != null) {
juego.dibujar();
}
}
void dibujarMouse() {
PImage mouse = loadImage("mouse.png");
image(mouse, mouseX, mouseY);
noCursor();
}
int mouseClicked() {
int pantallaAIr = -1;
if (boton1 != null) {
pantallaAIr = boton1.mouseClicked();
}
if (boton2 != null && pantallaAIr == -1) {
pantallaAIr = boton2.mouseClicked();
}
return pantallaAIr;
}
}class Resize {
Resize(){
}
int porcentajeX(int valor) {
return round(map(valor, 0, 800, 0, width));
}
int porcentajeY(int valor) {
return round(map(valor, 0, 600, 0, height));
}
}
class Textos {
String textosPantallas [];
String textBoton[];
String creditos[];
Textos() {
textosPantallas = new String [29];
//textosPantallaBotones = new String [29][2];
textBoton = new String [6];
creditos = new String [1];
inicializarTextosPantallas();
// inicializarTextosBotones();
inicializarTextoBotones();
creditos();
}
void inicializarTextosPantallas() {
textosPantallas[1] = "";
textosPantallas[2] = "Pulgarcito era el hijo más pequeño de una familia muy humilde, \n la cual estaba conformada por 6 hermanos mellizos."+
" \n Lo llamaban así porque cuando nació no era mas grande que el dedo pulgar";
textosPantallas[3] = "Los padres de Pulgarcito ya no tenían dinero, no les alcanzaba para la comida de sus hijos, \n " +
"debido a esto planean salir de excursión y abandonarlos en el bosque, \n" +
" de esta manera no tendrían que ver como sus hijos morían de hambre. \n"+
" Pulgarcito al escuchar la conversación de sus padres se horroriza.\n"+
"Por ese motivo decide armar un plan.";
textosPantallas[4] = "Los padres de Pulgarcito ya se han ido, pero sus hermanos aún no saben lo que sucede. \n Pulgarcito había creado el plan de dejar migajas de pan desde su casa hasta el bosque \n" +
"¿Pulgarcito debería contarle sobre ello a sus hermanos?";
textosPantallas[5] = "¡Oh no! las migas de pan ya no están. \n" +
"¡Mira! Pulgarcito podría subirse al árbol y buscar su casa, pero se ve muy peligroso \n" +
"¿Debería arriesgarse y trepar el árbol?";
textosPantallas[6] = "¡Oh no! las migas de pan ya no están. \n" +
"Pulgarcito y sus hermanos se pierden en el bosque, no logran salvarse. \n" +
"La próxima será.";
textosPantallas[7] = "¡Hurra! Hay una casa a la vista \n" +
"¿Deberían ir allí?";
textosPantallas[8] = "Pulgarcito y sus hermanos deciden refugiarse debajo de este árbol,\n" +
"y buscar su casa luego de que haya terminado la lluvia";
textosPantallas[9] = "¡Oh no! es la casa de los ogros.\n" +
"La señora Ogra les ofrece a los niños quedarse hasta que pase la lluvia, \n" +
"o hasta que llegue su marido, el señor Ogro, porque si él los encontrara en su casa, \n se los comería\n"+
"¿Deberían quedarse Pulgarcito y sus hermanos?";
textosPantallas[10] = "Pulgarcito y sus hermanos vuelven al bosque, con la esperanza de encontrar su casa. \n Por desgracia no lo consiguen, quedando atrapados allí por siempre.";
textosPantallas[11] = "¡El ogro ya regresó! \n" +
"La señora Ogra les pide a los niños que se escondan en la pieza de sus hijas\n" +
"Pulgarcito tiene sus dudas sobre quedarse, teme que el Ogro los encuentre \n ¿Deberían pasar la noche allí?";
textosPantallas[12] = "¡Oh no! el Ogro a entrado a la habitación mientras todos dormían y se los a comido. \n";
textosPantallas[13] = "El ogro los encuentra y desea comerlos, pero para la suerte de ellos, \n la señora Ogra lo convence de no hacerlo \n" +
"Pulgarcito no confía en el Ogro ¿Debería quedarse despierto por las dudas?";
textosPantallas[14] = "¡Oh no! el Ogro a entrado a la habitación mientras todos dormían y se los a comido. \n";
textosPantallas[15] = "¿Pulgarcito debería elaborar un plan por seguridad?";
textosPantallas[16] = "¡Oh no! el Ogro a entrado a la habitación mientras todos dormían y se los a comido.";
textosPantallas[17] = "A pulgarcito se le a ocurrido la brillante idea de cambiar las coronas \n de las hijas del Ogro por los gorros de sus hermanos.";
textosPantallas[18] = "¡El Ogro se comió a sus hijas! el plan funciono. \n Pero ahora el Ogro esta muy enojado ¿Deberían huir los niños?";
textosPantallas[19] = "¡Oh no! El Ogro capturó a pulgarcito y sus hermanos.";
textosPantallas[20] = "Pulgarcito junto con sus hermanos salieron corriendo de la casa. \n" +
"¡El Ogro agarro las botas de siete leguas para correr más rápido! \n" +
"¿Deberían esconderse los niños?";
textosPantallas[21] = "Pulgarcito y sus hermanos se hacen los dormidos \n esperando que el enojo del Ogro se le pase.";
textosPantallas[22] = "¡Felicidades! Lograste escapar. \n El ogro se canso de tanto buscar a los niños, \n"+
"Se a echado a dormir una siesta del cansancio...¡con las botas puestas! \n" +
"¿Debería robarlas Pulgarcito?";
textosPantallas[23] = "Pulgarcito junto a sus hermanos vuelven al bosque en búsqueda de su casa.";
textosPantallas[24] = "¡Eureka! Pulgarcito logró robar las botas, \n ¿Debería ir con sus hermanos en búsqueda de su casa? \n ";
textosPantallas[25] = "Pulgarcito va de regreso a la casa del Ogro para engañar a su esposa y robarle todo el oro \n y así poder ayudar económicamente a sus padres. \n"+
"Al llegar a la casa, le miente a la Ogra, \n diciéndole que su marido fue capturado, y que a cambio de su liberación, \n sus raptores exigen oro.\n";
textosPantallas[26] = "La señora Ogra inmediatamente le entrega todo el oro, \n con la esperanza de salvar a su marido \n"+
"Pulgarcito regresa con sus hermanos contento con el oro y las botas.";
textosPantallas[27] = " ";
textosPantallas[28] = "";
}
void inicializarTextoBotones() {
textBoton[0] = ("Inicio");
textBoton[1] = ("Continuar");
textBoton[2] = ("Creditos");
textBoton[3] = ("Si");
textBoton[4] = ("No");
}
void creditos() {
creditos[0]= "Esto fue realizado para Tecno1 \n en la Com. 4 \n Por Jazmin Gonzalez";
}
String getTextoParaPantalla(int pantalla) {
return textosPantallas[pantalla];
}
/* String getTextoParaPantallaBoton(int pantalla, int boton) {
return textosPantallaBotones[pantalla][boton];
}*/
String getTextoParaBoton(int boton) {
return textBoton[boton];
}
String getTextoCreditos() {
return creditos[0];
}
}