14. Star Wars
Con ester código tendremos una pequeña animación con dos personajes. El cohete desciende sobre el escenario desde un punto aleatorio. El tanque lo podemos mover a derecha e izquierda con las teclas flecha derecha e izquierda. El tanque puede disparar hacia arriba pequeños círculos con la tecla ENTER.
int x = random(50,450);
int y = 420;
int x1 = 136;
int y1 = 82;
int dispara = 0;
int disparay = 450;
int nave1x = random(50,450);
int nave1y = 10;
int nave1An = 1;
int nave1Al = 3;
void setup() {
size(500, 500);
cohete = loadImage("https://1.bp.blogspot.com/-mAkAr__G2xo/Xsv1PHLHwdI/AAAAAAAA3S0/g6s8HIy6JUwElr7Zg9tbfEs2Ghx_G-SAgCLcBGAsYHQ/s1600/cohete.png");
marte = loadImage("https://1.bp.blogspot.com/-A2pGJAie6Q4/Xsv1PXuuXhI/AAAAAAAA3S4/ZwR5pdt9cXY-lcu_W6mkhyOcQl_DmJeTwCLcBGAsYHQ/s1600/Marte.png");
tanque = loadImage("https://1.bp.blogspot.com/-LYPVGwgQMwI/Xsv6YwFkU7I/AAAAAAAA3TE/2eJeIjsudNkyESXbQB0FsLjUGo6_rQNkQCLcBGAsYHQ/s320/tanque.png");
}
void draw() {
if (keyCode==38){//Flecha arriba
keyCode=0;
}
if (keyCode==40){//Flecha abajo
keyCode=0;
}
if (keyCode==39){//Flecha derecha
x = x +10;
keyCode=0;
}
if (keyCode==37){//Flecha izquierda
x = x -10;
keyCode=0;
}
if (keyCode==10){//RETURN
dispara = 1;
disparay = 450;
keyCode=0;
}
image(marte, 0, 0, 1300, 500);
nave1();
image(tanque, x, y, x1, y1);
if(dispara==1){
ellipse(x+70,disparay, 5,5);
disparay = disparay -1;
}
}
void nave1(){
image(cohete, nave1x, nave1y, nave1An, nave1Al);
nave1y = nave1y + 1;
nave1An = nave1An + 0.25;
nave1Al = nave1Al + 0.75;
if(nave1y>300){
nave1x = random(50,450);
nave1y = 10;
nave1An = 1;
nave1Al = 1;
}
}