/* Versión del juego clássico SPACE INVADERS programado para el taller Processing y Arduino en CAMON de Alacant, que el autor impartido por Quelic Berga, Daniel García i Joan Soler-Adillon http://www.tucamon.es/contenido/processing-y-arduino Autor: Joan Soler-Adillon [www.joan.cat] Enero 2009 Licencia: Creative Commons, Attribution-Noncommercial-Share Alike 3.0 Unported http://creativecommons.org/licenses/by-nc-sa/3.0/ Este programa está diseñado para ser utilitzado tanto por usuarios noveles como avanzados. Para los primeros, existen una serie de variables al principio de todo (bajo el título de "variables principales" que determinan todos los aspectos importantes de juego. Sólo manipulando estos valores se verán cambios importantes en el juego. */ ////////////////////// // VARIABLES PRINCIPALES // //------PANTALLA------------: // //Ancho de la pantalla int theWidth = 600; //Alto de la pantalla int theHeight = 400; // //------INVASORES------------: // //velocidad de los invasores float invadersSpeed = 1; //incremento de la velocidad cada vez que cambian de dirección float invadersSpeedIncrement = 0.05; //pixels que bajan cada vez que cambian de dirección int invadersYStep = 4; // //------NAVE------------: // //distancia de la nave al borde inferior de la pantalla int spaceShipDistanceToBottom = 25; //velocidad a la que se mueve la nave int spaceShipSpeed = 5; // //------BALAS------------: // //Velocidad a la que van las balas int bulletSpeed = 4; //Tiempo (en milisegundos) que ha de pasar desde que se disparó una bala //hasta que se puede disparar otra int delayBetweenBullets = 500; // ////// FIN DE VARIABLES PRINCIPALES ////////////////////////////////////////////////// //creamos los objetos para el juego int numOfInvaders = 50; invader[] invaders = new invader[numOfInvaders]; spaceShip nave = new spaceShip(theWidth/2, theHeight-spaceShipDistanceToBottom,spaceShipSpeed, delayBetweenBullets); //imágenes PImage spaceShip, bulletImage,invadersFrameOne,invadersFrameTwo; ArrayList bulletsList = new ArrayList(); void setup(){ size(theWidth,theHeight); imageMode(CENTER); //cargamos imágenes spaceShip = loadImage("nau.gif"); invadersFrameOne = loadImage("bitxo1.gif"); invadersFrameTwo = loadImage("bitxo2.gif"); bulletImage = loadImage("bala.gif"); spaceShipSpeed = 5; bulletSpeed = 4; //INICIALIZACION (esto funciona para 50 invasores a 10x5) int invaderCount = 0; for(int i=50;i<200;i+=30){ for(int j=75;j<550;j+=50){ invaders[invaderCount]=new invader(j,i,invaderCount, invadersSpeed, invadersSpeedIncrement, invadersYStep); invaderCount++; } } } void draw(){ background(0); for(int i=0;i0){ for(int i=0; i