Entradas

Mostrando entradas de septiembre, 2025

Coches con Array

Car[] myCars; int numCoches = 40; void setup() {   size(800, 600);   myCars = new Car[numCoches];    for (int i = 0; i < numCoches; i++) {     color c = color(random(255), random(255), random(255));     float xpos = random(width-5);     float ypos = random(height-5);     float xspeed = random(-6, 6);       if (xspeed == 0){         xspeed = 1;}     myCars[i] = new Car(c, xpos, ypos, xspeed);   } } void draw() {   background(255);   for (int i = 0; i < numCoches; i++) {     myCars[i].drive();     myCars[i].display();   } } class Car {   color c;   float xpos;   float ypos;   float xspeed;   Car(color tempC, float tempXpos, float tempYpos, float tempXspeed) {     c = tempC;     xpos = tempXpos;     ypos = tempYpos;     xspeed = tempXspeed;   }   void display() { ...

Objetos: ejemplo coche vertical

Car myCar1; Car myCar2; // Two objects! void setup() {   size(800,600);   // Parameters go inside the parentheses when the object is constructed.   myCar1 = new Car(color(255,0,0),500,400,-5);   myCar2 = new Car(color(0,0,255),300,300,5); } void draw() {   background(255);   myCar1.drive();   myCar1.display();   text(myCar1.ypos,400,200);   myCar2.drive();   myCar2.display(); } // Even though there are multiple objects, we still only need one class. // No matter how many cookies we make, only one cookie cutter is needed. class Car {   color c;   float xpos;   float ypos;   float yspeed;   // The Constructor is defined with arguments.   Car(color tempC, float tempXpos, float tempYpos, float tempYspeed) {     c = tempC;     xpos = tempXpos;     ypos = tempYpos;     yspeed = tempYspeed;   }   void display() {     stroke(0);     fill(c); ...

Objetos: ejemplo coche

Car myCar1; Car myCar2;  void setup() {   size(800,600);   myCar1 = new Car(color(255,0,0),800,400,-5);   myCar2 = new Car(color(0,0,255),0,300,5); } void draw() {   background(255);   myCar1.drive();   myCar1.display();   text(myCar1.xpos,400,200);   myCar2.drive();   myCar2.display(); } class Car {   color c;   float xpos;   float ypos;   float xspeed;   Car(color tempC, float tempXpos, float tempYpos, float tempXspeed) {     c = tempC;     xpos = tempXpos;     ypos = tempYpos;     xspeed = tempXspeed;   }   void display() {     stroke(0);     fill(c);     rectMode(CENTER);     rect(xpos,ypos,20,10);   }   void drive() {     xpos = xpos + xspeed;     if (xpos > width && xspeed>0) {       xpos = 0;     }     xpos = xpos + xspeed;     if...

Explicación de funciones

Una función es un bloque con código que realiza una tarea específica. Solo van a funcionar si las invocamos con antelación. Las funciones sirven para que el programa este mucho más ordenado, para declarar variables temporales o para que nos devuelvan parámetros. Hay diferentes tipos de funciones clasificadas por el tipo de dato que devuelve: -Void: no devuelve ningún dato. -String: devuelve un dato de tipo letra. -Float: devuelve un dato de un número decimal. -Int: devuelve un dato de un número entero. -Color: te devuelve un dato de tipo color. Hay dos pasos para crear una función. Lo primero es invocarla , se puede invocar dentro del void draw (si queremos que se repita) o fuera del draw (si no queremos que se repita). Lo segundo es escribir el código, fuera del draw. Un ejemplo de función seria el siguiente: boolean r,l,u,d; //Creamos las variables con tipo boolean: solo puede ser verdadero o falso (1 o 0). int x,y=60; void setup(){   size(800,600);  frameRate(1000); }...

Función que devuelve el valor de la línea

float l; void setup(){   size(800,600);   fill(255);   frameRate(100);   strokeWeight(4);   stroke(255);   textSize(60); } void draw(){   background(0);   l=linea(100,100,500,400);   line(100,100,500,400);   text(l,400,300); //Quiero que escribas el comando l en las coordenadas (400,300). } float linea(int cx,int cy,int cx2, int cy2){   float h;   h=sqrt((cx2-cx)*(cx2-cx)+(cy2-cy)*(cy2-cy));   return h; }

Bola movida por las flechas

boolean r,l,u,d; int x,y=60; void setup(){   size(800,600);  frameRate(1000); } void draw(){   background(0);   muevebola();   dibujabola(); } void muevebola(){   if (r){     x=x+1;   }   if (l){     x=x-1;   }   if (u){     y=y-1;   }   if (d){     y=y+1;   } } void keyPressed(){   if (keyCode==RIGHT){     r=true;   }   if (keyCode==LEFT){     l=true;   }   if (keyCode==UP){     u=true;   }   if (keyCode==DOWN){     d=true;   } } void keyReleased(){   if (keyCode==RIGHT){     r=false;   }   if (keyCode==LEFT){     l=false;   }   if (keyCode==UP){     u=false;   }   if (keyCode==DOWN){     d=false;   } } void dibujabola(){   circle(x,y,60); }