User Tools

Site Tools


dma:java13:assignment7

Table of Contents

Assignment 7

Create a project in your open processing with this code. Make sure you put your name at the top with the date and project description.

  1. Comment every line of the code to explain what it does
  2. Change the square to a ball
  3. When the user clicks the screen, reset the position of the ball to where the mouse is
// Credit: Ren Ervin Bettendorf 
 
/* SCREENSAVERS FER DAYS BROSKIES */
void setup(){
  size(600,500);  
  background(0);
  frameRate(60);
}
 
int dx = 2;
int dy = 3;
 
int x = 50;
int y = 50;
 
void draw(){
    fill(255);
    rect(x,y,25,25,5);
 
    x = x + dx;
    y = y + dy;
 
    if ( x< 0 || x > 475){
       dx = -1 * dx;
    }
 
    if ( y < 0 || y > 475){
       dy = -1 * dy;  
    }
 
}

If you get done early, check out this code from http://processing.org/tutorials/objects/:

// http://processing.org/tutorials/objects/
 
// Example: Two Car objects
Car myCar1;
Car myCar2; // Two objects!
 
void setup() {
  size(200,200);
  // Parameters go inside the parentheses when the object is constructed.
  myCar1 = new Car(color(255,0,0),0,100,2); 
  myCar2 = new Car(color(0,0,255),0,10,1);
}
 
void draw() {
  background(255);
  myCar1.drive();
  myCar1.display();
  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 xspeed;
 
  // The Constructor is defined with arguments.
  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) {
      xpos = 0;
    }
  }
}

Once you are done that, check this out: http://www.openprocessing.org/sketch/103348

/soe/sherol/.html/teaching/data/pages/dma/java13/assignment7.txt · Last modified: 2013/08/06 08:32 by ffpaladin