if ("hola" == "adios") { println("se cumple!");} else { println("que se va a cumplir...");}
if ("hola" == "adios") { println("se cumple!");} else { println("que se va a cumplir...");}// Este bucle imprimirá 10 veces la frase "hola mundo"/* Otra forma de comentar hasta que cerramos el tagsi, si no lo cerramos podemos seguir comentando */for (int i = 0; i < 10; i++ ) { println("hola mundo!"); // Comentamos esta línea de código así}
if (Ax1 >= Ax2 && Ax1 < Bx2 && Ay1 >= Ay2 && Ay1 <= Ay2) { return true;} else { return false;}
if(Ax1>=Ax2&&Ax1<Bx2&&Ay1>=Ay2&&Ay1<=Ay2){
<!DOCTYPE html><html> <head> <title>Pruebas Processing.js</title> <script src="processing-1.3.6.min.js"></script> <!-- Cargamos la librería de processing.js --> </head> <body> <h1>Pruebas con Processing.js</h1> <p>Este será nuestro programa que podremos ver desde el navegador!:</p> <!-- Entre las etiquetas de CANVAS podemos poner textos, imágenes... que se visualizarán si el navegador NO soporta CANVAS --> <canvas data-processing-sources="nuestro_archivo.pde"><p style="font-style:italic;">Tu navegador no soporta CANVAS (HTML5)</p></canvas> </body></html>
// Variables globales // ... aquí declaramos las variables globales que vamos a utilizar ... // void setup() { // ... aquí inicializamos aspectos de nuestro programa ... // // ... ejemplo el refresco de pantalla ... // }void draw() { // ... aquí añadimos instrucciones que se ejecutarán de forma continuada ... // }
// Variables globalesint posX, posY; // Variables de posición de nuestro personaje // Función que usamos para inicializar algunos parámetros de nuestro programavoid setup() { size(400, 400); // Asignamos un tamaño de 400x400 píxeles a nuestro programa frameRate(30); // Indicamos que la pantalla se refreque 30 veces por segunda (por defecto es 60) // La posición inicial de nuestro personaje será en medio de la pantalla posX = width/2; // width es una variable de sistema que nos indica el ancho de la pantalla posY = height/2; // height es una variable de sistema que nos indica la altura de la pantalla }// Main (Función principal)void draw() { background(0); // Pintaremos el fondo de pantalla de color negro strokeWeight(2); // Indicamos que las líneas de dibujo sea de 2 píxeles de grosor stroke(100); // Seleccionamos un color gris para el borde (línea) de las formas fill(255); // Rellenaremos las formas dibujadas con el color blanco rect(posX, posY, 20, 20); // Dibujamos un cuadrado en la posición indicada con un tamaño 20x20 píxeles (anchura/altura)}
rect(posX-10, posY-10, 20, 20); // Restamos la mitad del tamaño a la posición para que esté centrado realmente
translate(-10, -10); // Desplazamos el punto de dibujo (se aplicará a todo lo que se dibuje después) rect(posX, posY, 20, 20);
rectMode(CENTER);//rectMode(CORNER); // Por defecto está este modo
pushMatrix(); translate(-10, -10); // Desplazamos el punto de dibujo (se aplicará a todo lo que se dibuje después) rect(posX, posY, 20, 20); popMatrix();
// Función que detecta cuando se pulsa un botón del ratón (cualquier botón)void mouseClicked() { posX = mouseX; posY = mouseY; }
// Main (Función principal)void draw() { background(0); // Pintaremos el fondo de pantalla de color negro drawHero(); // Dibujamos a nuestro personaje}void drawHero() { strokeWeight(2); // Indicamos que las líneas de dibujo sea de 2 píxeles de grosor stroke(100); // Seleccionamos un color gris para el borde (línea) de las formas fill(255); // Rellenaremos las formas dibujadas con el color blanco pushMatrix(); translate(-10, -10); // Desplazamos el punto de dibujo (se aplicará a todo lo que se dibuje después) rect(posX, posY, 20, 20); popMatrix();}
// Clase Humanoclass Human { int posX, posY; // Atributos de esta clase // Función constructora, que utilizaremos para inicializar los objetos de esta clase Human(int x, int y) { this.posX = x; this.posY = y; } // Método (función) de esta clase que se encargará de dibujar por pantalla a nuestro personaje void drawHuman() { // Realizamos varios cambios para dibujar formas strokeWeight(2); // Tamaño del borde de las formas dibujadas stroke(50, 205, 50); // Color del borde de las formas dibujadas (LimeGreen) fill(173, 255, 47); // Color de relleno de las formas dibujadas (GreenYellow) ellipse(this.posX, this.posY, 40, 40); // Dibujamos un círculo (será el cuerpo del jugador) noStroke(); // No dibujaremos los bordes de la formas fill(0); // Relleno de color negro pushMatrix(); // Salvamos la configuración translate(-8, -6); ellipse(this.posX, this.posY, 8, 8); // Ojo derecho translate(16, 0); ellipse(this.posX, this.posY, 8, 8); // Ojo izquierdo popMatrix(); noFill(); // No rellenaremos las formas strokeWeight(1); // Ancho del borde de las formas de 1 píxel stroke(0); // Color negro del borde arc(this.posX, this.posY+5, 20, 10, 0, PI); // Con la instrucción de dibujar un arco hacemos la boca } }
// Método (función) que se encargará de mover al personaje void moveHuman(int x, int y) { this.posX = x; this.posY = y; }
// Variables globalesHuman player; // player tendrá un datatype de clase Human
player = new Human(width/2, height/2); // Creamos (o "instanciamos") el objeto player (jugador)
player.drawHuman(); // Llamámos al método de dibujar a nuestro personaje
// Función que detecta cuanso de pulsa un botón del ratón (cualquier botón)void mouseClicked() { player.moveHuman(mouseX, mouseY); // Llamámos al método de desplazar a nuestro personaje }
// Función que detecta cuanso de pulsa un botón del ratón (cualquier botón)void mouseClicked() { player.posX = mouseX; player.posY = mouseY; }
// Variables globalesHuman player; // player tendrá un datatype de clase Human// Función de configuraciónvoid setup() { size(400, 400); // Asignamos un tamaño de 400x400 píxeles a nuestro programa frameRate(30); // Indicamos que la pantalla se refreque 30 veces por segunda (por defecto es 60) smooth(); // Aplicamos el filtro anti-aliasing !!! Cuidado !!! que puede relentizar la máquina player = new Human(width/2, height/2); // Creamos el objeto player (jugador) y lo colocaremos en el centro de la pantalla }// Función principalvoid draw() { background(0); player.drawHuman(); // Llamámos al método de dibujar a nuestro personaje}// Función que detecta cuanso de pulsa un botón del ratón (cualquier botón)void mouseClicked() { player.moveHuman(mouseX, mouseY); // Llamámos al método de desplazar a nuestro personaje }// Clase Humanoclass Human { int posX, posY; // Atributos de la clase // Función constructora, que utilizaremos para inicializar los objetos de esta clase Human(int x, int y) { this.posX = x; this.posY = y; } // Método (función) de esta clase que se encargará de dibujar por pantalla a nuestro personaje void drawHuman() { // Realizamos varios cambios para dibujar formas strokeWeight(2); // Tamaño del borde de las formas dibujadas stroke(50, 205, 50); // Color del borde de las formas dibujadas (LimeGreen) fill(173, 255, 47); // Color de relleno de las formas dibujadas (GreenYellow) ellipse(this.posX, this.posY, 40, 40); // Dibujamos un círculo que será la cara del jugador noStroke(); // No dibujaremos los bordes de la formas fill(0); // Relleno de color negro pushMatrix(); // Salvamos la configuración translate(-8, -6); ellipse(this.posX, this.posY, 8, 8); translate(16, 0); ellipse(this.posX, this.posY, 8, 8); popMatrix(); noFill(); // No rellenaremos las formas strokeWeight(1); // Ancho del borde de las formas de 1 píxel stroke(0); // Color negro del borde arc(this.posX, this.posY+5, 20, 15, 0, PI); // Con la instrucción de dibujar un arco hacemos la boca } // Método (función) que se encargará de mover al personaje void moveHuman(int x, int y) { this.posX = x; this.posY = y; } }
// Variables globalesHuman player; // player tendrá un datatype de clase HumanBoard board; // board tendrá un dataype de clase Board// Función de configuraciónvoid setup() { size(400, 400); // Asignamos un tamaño de 400x400 píxeles a nuestro programa frameRate(30); // Indicamos que la pantalla se refreque 30 veces por segunda (por defecto es 60) smooth(); // Aplicamos el filtro anti-aliasing !!! Cuidado !!! que puede relentizar la máquina board = new Board(40, 10, 10); // Creamos un tablero de 10x10 casillas (las casillas serán de 40x40 píxeles) player = new Human(0, 0, 40); // Creamos el objeto player (jugador) y lo colocaremos en la casilla 0 (0,0) }// Función principalvoid draw() { board.drawBoard(); // Dibujamos el tablero player.drawHuman(); // Llamámos al método de dibujar a nuestro personaje }// Función que detecta cuanso de pulsa un botón del ratón (cualquier botón)void mouseClicked() { player.moveHuman(mouseX, mouseY); // Llamámos al método de desplazar a nuestro personaje }// Clase Humanoclass Human { // Atributos de la clase int posX, posY; // Indicará en que casillas está (no será el valor X e Y del lienzo) int sizeSquare; // Para poder ajustar la posición // Función constructora, que utilizaremos para inicializar los objetos de esta clase Human(int x, int y, int sizeSquare) { this.posX = x + sizeSquare/2; this.posY = y + sizeSquare/2; this.sizeSquare = sizeSquare; } // Método (función) de esta clase que se encargará de dibujar por pantalla a nuestro personaje void drawHuman() { // Realizamos varios cambios para dibujar formas strokeWeight(2); // Tamaño del borde de las formas dibujadas stroke(50, 205, 50); // Color del borde de las formas dibujadas (LimeGreen) fill(173, 255, 47); // Color de relleno de las formas dibujadas (GreenYellow) ellipse(this.posX, this.posY, 40, 40); // Dibujamos un círculo que será la cara del jugador noStroke(); // No dibujaremos los bordes de la formas fill(0); // Relleno de color negro pushMatrix(); // Salvamos la configuración translate(-8, -6); ellipse(this.posX, this.posY, 8, 8); translate(16, 0); ellipse(this.posX, this.posY, 8, 8); popMatrix(); noFill(); // No rellenaremos las formas strokeWeight(1); // Ancho del borde de las formas de 1 píxel stroke(0); // Color negro del borde arc(this.posX, this.posY+5, 20, 15, 0, PI); // Con la instrucción de dibujar un arco hacemos la boca } // Método (función) que se encargará de mover al personaje void moveHuman(int x, int y) { float tempX = x/this.sizeSquare; float tempY = y/this.sizeSquare; this.posX = floor(tempX) * this.sizeSquare + this.sizeSquare/2; this.posY = floor(tempY) * this.sizeSquare + this.sizeSquare/2; } }class Board { int squareSize, columns, rows; // Atributos de la clase // Función constructora Board(int squareSize, int columns, int rows) { this.squareSize = squareSize; this.columns = columns; this.rows = rows; } // Función que dibujará el tablero void drawBoard() { background(0); // Color del fondo del tablero // Configuramos el grosor y color de las líneas de dibujo fill(100); // Color de relleno strokeWeight(1); // Ancho del borde de las formas de 1 píxel stroke(0); // Color negro del borde // Dibujamos las casillas del interior del tablero for (int y = 0; y < rows; y++) { for (int x = 0; x < columns; x++) { rect(x * this.squareSize, y * this.squareSize, this.squareSize, this.squareSize); } } } }
// Función que dibujará el tablero void drawBoard() { background(0); // Color del fondo del tablero // Configuramos el grosor y color de las líneas de dibujo fill(100); // Color de relleno strokeWeight(1); // Tamaño de la línea stroke(0); // Color de la línea (negro) // Dibujamos las casillas del interior del tablero for (int y = 0; y < rows; y++) { for (int x = 0; x < columns; x++) { rect(x * this.squareSize, y * this.squareSize, this.squareSize, this.squareSize); } } }
// Método (función) que se encargará de mover al personaje void moveHuman(int x, int y) { float tempX = x/this.sizeSquare; float tempY = y/this.sizeSquare; this.posX = floor(tempX) * this.sizeSquare + this.sizeSquare/2; this.posY = floor(tempY) * this.sizeSquare + this.sizeSquare/2; }
// Método (función) que se encargará de mover al personaje void moveHuman(int direction) { this.direction = direction; switch (this.direction) { case 1: // ARRIBA this.posY -= this.squareSize; break; case 5: // ABAJO this.posY += this.squareSize; break; case 7: // IZQUIERDA this.posX -= this.squareSize; break; case 3: // DERECHA this.posX += this.squareSize; break; } }
// Función que se ejecuta si se detecta que se ha pulsado una teclavoid keyPressed() { switch(keyCode) { // MOVIMIENTO DEL PERSONAJE (JUGADOR) case 38: // keyCode => tecla UP player.moveHuman(1); break; case 39: // keyCode => tecla RIGHT player.moveHuman(3); break; case 40: // keyCode => tecla DOWN player.moveHuman(5); break; case 37: // keyCode => tecla LEFT player.moveHuman(7); break; } }
// Clase Humanoclass Human { // Atributos de la clase int posX, posY; // Indicará en que casillas está (no será el valor X e Y del lienzo) int squareSize; // Para poder ajustar la posición int direction; // Nos idndica hacia donde mira nuestro personaje (y se desplazará). Útil para cuando disparemos int timeHuman; // Muestreo del tiempo para controlar la velocidad del movimiento int speedMovement; // Velocidad de movimiento de nuestro personaje // Función constructora, que utilizaremos para inicializar los objetos de esta clase Human(int x, int y, int squareSize) { this.direction = 5; // Por defecto, la dirección (hacia donde mira nuestro personaje) es abajo. this.speedMovement = 500; // Por defecto hacemos que la velocidad de movimiento sea de 500 milisegundos (medio segundo) this.posX = x + squareSize/2; this.posY = y + squareSize/2; this.squareSize = squareSize; } // Método (función) de esta clase que se encargará de dibujar por pantalla a nuestro personaje void drawHuman() { // Realizamos varios cambios para dibujar formas strokeWeight(2); // Tamaño del borde de las formas dibujadas stroke(50, 205, 50); // Color del borde de las formas dibujadas (LimeGreen) fill(173, 255, 47); // Color de relleno de las formas dibujadas (GreenYellow) ellipse(this.posX, this.posY, 40, 40); // Dibujamos un círculo que será la cara del jugador noStroke(); // No dibujaremos los bordes de la formas fill(0); // Relleno de color negro pushMatrix(); // Salvamos la configuración translate(-8, -6); ellipse(this.posX, this.posY, 8, 8); // Ojo izquierdo translate(16, 0); ellipse(this.posX, this.posY, 8, 8); // Ojo derecho popMatrix(); noFill(); // No rellenaremos las formas strokeWeight(1); // Ancho del borde de las formas de 1 píxel stroke(0); // Color negro del borde arc(this.posX, this.posY + 5, 20, 15, 0, PI); // Con la instrucción de dibujar un arco hacemos la boca } // Método (función) que se encargará de mover al personaje void moveHuman(int direction) { this.direction = direction; int tempTime = millis(); // Capturamos el milisegundo actual del reloj if (tempTime > this.timeHuman + this.speedMovement) { // Intentamos relentizar el movimiento a X milisegundos! // Selector de movimiento switch (this.direction) { case 1: // ARRIBA if (this.posY > this.squareSize) { this.posY -= this.squareSize; } break; case 5: // ABAJO if (this.posY < this.squareSize * (board.rows - 1)) { // NOTA: Restamos un valor (constante) 1 porque la casilla 1 es la casilla 0 realmente this.posY += this.squareSize; } break; case 7: // IZQUIERDA if (this.posX > this.squareSize) { this.posX -= this.squareSize; } break; case 3: // DERECHA if (this.posX < this.squareSize * (board.columns - 1)) { this.posX += this.squareSize; } break; } this.timeHuman = millis(); // Capturamos el valor en milisegundos actual del reloj } } }
// Variables globalesHuman player; // player tendrá un datatype de clase HumanBoard board; // board tendrá un dataype de clase Board// Función de configuraciónvoid setup() { size(400, 400); // Asignamos un tamaño de 400x400 píxeles a nuestro programa frameRate(30); // Indicamos que la pantalla se refreque 30 veces por segunda (por defecto es 60) smooth(); // Aplicamos el filtro anti-aliasing !!! Cuidado !!! que puede relentizar la máquina board = new Board(40, 10, 10); // Creamos un tablero de 10x10 casillas (las casillas serán de 40x40 píxeles) player = new Human(0, 0, 40); // Creamos el objeto player (jugador) y lo colocaremos en la casilla 0 (0,0) }// Función principalvoid draw() { board.drawBoard(); // Dibujamos el tablero player.drawHuman(); // Llamámos al método de dibujar a nuestro personaje }// Función que se ejecuta si se detecta que se ha pulsado una teclavoid keyPressed() { switch(keyCode) { // MOVIMIENTO DEL PERSONAJE (JUGADOR) case 38: // keyCode => tecla UP player.moveHuman(1); break; case 39: // keyCode => tecla RIGHT player.moveHuman(3); break; case 40: // keyCode => tecla DOWN player.moveHuman(5); break; case 37: // keyCode => tecla LEFT player.moveHuman(7); break; // ACCIONES ESPECIALES DEL PERSONAJE (JUGADOR) // Guiñamos el ojo case 107: // keyCode => tecla ADD => *+] player.wink(); break; // Realizamos un ataque case 191: // keyCode => tecla / => ç} player.attack(); break; } }// Clase Humanoclass Human { // Atributos de la clase int posX, posY; // Indicará en que casillas está (no será el valor X e Y del lienzo) int squareSize; // Para poder ajustar la posición int direction; // Nos idndica hacia donde mira nuestro personaje (y se desplazará). Útil para cuando disparemos int timeHuman; // Muestreo del tiempo para controlar la velocidad del movimiento int speedMovement; // Velocidad de movimiento de nuestro personaje boolean closeEye; // Para indicar si cerramos el ojo de nuestro personaje (valores true o false) // Función constructora, que utilizaremos para inicializar los objetos de esta clase Human(int x, int y, int squareSize) { this.direction = 5; // Por defecto, la dirección (hacia donde mira nuestro personaje) es abajo. this.speedMovement = 500; // Por defecto hacemos que la velocidad de movimiento sea de 500 milisegundos (medio segundo) this.closeEye = 0; // Ojo abierto por defecto this.posX = x + squareSize/2; this.posY = y + squareSize/2; this.squareSize = squareSize; } // Método (función) de esta clase que se encargará de dibujar por pantalla a nuestro personaje void drawHuman() { // Realizamos varios cambios para dibujar formas strokeWeight(2); // Tamaño del borde de las formas dibujadas stroke(50, 205, 50); // Color del borde de las formas dibujadas (LimeGreen) fill(173, 255, 47); // Color de relleno de las formas dibujadas (GreenYellow) ellipse(this.posX, this.posY, 40, 40); // Dibujamos un círculo que será la cara del jugador noStroke(); // No dibujaremos los bordes de la formas fill(0); // Relleno de color negro pushMatrix(); // Salvamos la configuración translate(-8, -6); // Comprobamos si queremos guiñar el ojo (cerrarlo o abrirlo) if (this.closeEye == 0) { ellipse(this.posX, this.posY, 8, 8); // Ojo izquierdo abierto } else { ellipse(this.posX, this.posY, 8, 2); // Ojo izquierdo cerrrado } translate(16, 0); ellipse(this.posX, this.posY, 8, 8); // Ojo derecho popMatrix(); noFill(); // No rellenaremos las formas strokeWeight(1); // Ancho del borde de las formas de 1 píxel stroke(0); // Color negro del borde arc(this.posX, this.posY + 5, 20, 15, 0, PI); // Con la instrucción de dibujar un arco hacemos la boca } // Método (función) que se encargará de mover al personaje void moveHuman(int direction) { this.direction = direction; int tempTime = millis(); // Capturamos el milisegundo actual del reloj if (tempTime > this.timeHuman + this.speedMovement) { // Intentamos relentizar el movimiento a X milisegundos! // Selector de movimiento switch (this.direction) { case 1: // ARRIBA if (this.posY > this.squareSize) { this.posY -= this.squareSize; } break; case 5: // ABAJO if (this.posY < this.squareSize * (board.rows - 1)) { // NOTA: Restamos un valor (constante) 1 porque la casilla 1 es la casilla 0 realmente this.posY += this.squareSize; } break; case 7: // IZQUIERDA if (this.posX > this.squareSize) { this.posX -= this.squareSize; } break; case 3: // DERECHA if (this.posX < this.squareSize * (board.columns - 1)) { this.posX += this.squareSize; } break; } this.timeHuman = millis(); // Capturamos el valor en milisegundos actual del reloj } } // Método sencillo para indicar si cerramos un ojo // Podremos perfeccionarlo si queremos para indicar que ojo, como lo cerramos... void wink() { if (this.closeEye == true) { this.closeEye = false; } else { this.closeEye = true; } } // Método para realizar ataque del jugador void attack() { } }class Board { // Atributos de la clase int squareSize, columns, rows; // Función constructora Board(int squareSize, int columns, int rows) { this.squareSize = squareSize; this.columns = columns; this.rows = rows; } // Función que dibujará el tablero void drawBoard() { background(0); // Color del fondo del tablero // Configuramos el grosor y color de las líneas de dibujo fill(100); // Color de relleno strokeWeight(1) // Tamaño de la línea stroke(0); // Color de la línea (negro) // Dibujamos las casillas del interior del tablero for (int y = 0; y < rows; y++) { for (int x = 0; x < columns; x++) { rect(x * this.squareSize, y * this.squareSize, this.squareSize, this.squareSize); } } } }
// by fre3men (HeroQuest.es) // Clase que actúa como temporizador // CC BY-NC-SA // Variables Globales Timer timer; int trigger; int seconds = 0; // Setup del programa void setup() { size(200, 200); // Tamaño de la pantalla frameRate(60); // Refresco de pantalla //smooth(); // anti-aliasing!!! cuidado que puede relentizar la aplicación //imageMode(CENTER); // Forzosamente en setup // (en java va bien repetirlo... pero en canvas peta si no está aquí) timer = new Timer(1000); // Creamos un temporizador de 1 segundo (1000 milisegundos) //timer = new Timer(1,1); // Igual que arriba en modo segundos } // Main void draw() { background(100, 100, 100); trigger = timer.run(); if (trigger == 1) { seconds += 1; } text(seconds, 100, 100); } // Clase Temporizador class Timer { int startClock, stopClock; int timeClock; // Tiempo actual int modeClock = 1; // Por defecto estará en milisegundos // Constructor Timer(int stopClock) { this.startClock = millis(); // Inicializamos el temporizador this.stopClock = stopClock; // Tiempo límite del temporizador } Timer(int stopClock, int modeClock) { // Sobre carga de funciones (segunda función constructora) this.startClock = millis(); this.stopClock = stopClock; this.setup(modeClock); // Cambiamos el modo del tiempo pasado (en milis o segundos) } int run() { this.timeClock = millis(); int triggerClock = 0; if (this.timeClock - this.startClock >= this.stopClock * this.modeClock) { triggerClock = 1; this.startClock = millis(); // Volvemos a actualizar el temporizador } return triggerClock; } void setup(int modeClock) { //0 -> millis ; 1 -> seconds switch(modeClock) { case 0: this.modeClock = 1; // El múltiplo ser&#38;#225; de 1 break; case 1: this.modeClock = 1000; // El mútliplo será de 1000 para pasar a segundos. break; } } }