topical media & game development
graphic-processing-learning-05-example-5-8-example-5-8.pde / pde
// Learning Processing
// Daniel Shiffman
// http://www.learningprocessing.com
// Example 5-8: Square following edge, uses a ÒstateÓ variable
int x = 0; // x location of square
int y = 0; // y location of square
int speed = 5; // speed of square
// A variable to keep track of the squareÕs "state."
// Depending on the value of its state, it will either move right, down, left, or up.
int state = 0;
void setup() {
size(200,200);
}
void draw() {
background(255);
// Display the square
stroke(0);
fill(175);
rect(x,y,9,9);
// If the state is 0, move to the right.
if (state == 0) {
x = x + speed;
// If, while the state is 0, it reaches the right side of the window, change the state to 1
// Repeat this same logic for all states!?
if (x > width-10) {
x = width-10;
state = 1;
}
} else if (state == 1) {
y = y + speed;
if (y > height-10) {
y = height-10;
state = 2;
}
} else if (state == 2) {
x = x - speed;
if (x < 0) {
x = 0;
state = 3;
}
} else if (state == 3) {
y = y - speed;
if (y < 0) {
y = 0;
state=0;
}
}
}
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.