Page 3 of 5
2.óra
Péda: random walker
float posX, posY, meret;
void setup()
{
size(600, 400);
posX = random(width);
posY = random(height);
meret = random(5, 20);
}
void draw()
{
posX += random(-5, 5);
posY += random(-5, 5);
ellipse(posX, posY, meret, meret);
}
Feltétel vizsgálat
void setup()
{
size(600, 400);
background(255, 255, 255);
}
void draw()
{
if (mousePressed == true)
{
float d = dist(pmouseX, pmouseY, mouseX, mouseY);
fill(0, 0, 0, 20);
noStroke();
ellipse(mouseX, mouseY, d + 15, d + 15);
fill(255, 255, 255);
stroke(0);
ellipse(mouseX, mouseY, d, d);
line(pmouseX, pmouseY, mouseX, mouseY);
}
}
Feltétel vizsgálat (összetett feltétel)
void setup()
{
size(600, 400);
}
void draw()
{
background(255, 255, 255);
if (mouseX < 200)
{
// 0 - 199
fill(255, 0, 0);
ellipse(mouseX, mouseY, 50, 50);
}
// ha az egerX nagyobb, mint 199 ES kisebb, mint 401, akkor...
if (mouseX > 199 && mouseX < 401)
{
// 200 - 400
fill(0, 0, 255);
ellipse(mouseX, mouseY, 50, 50);
}
if (mouseX > 400)
{
// 401 - ....
fill(0, 255, 0);
ellipse(mouseX, mouseY, 50, 50);
}
}
Egy egyszerű játék, egy összetettebb probléma szemléltetésére
float x, y;
float ellensegX, ellensegY;
int pontszam;
PFont font;
void setup ()
{
size (600, 400);
// kezdoertekek megadasa
x = random (0, width);
y = random (0, height);
ellensegX = random (0, width);
ellensegY = random (0, height);
pontszam = 0;
// font betoltese :: Tools->Create Font !!!
font = loadFont ("Detonator-48.vlw");
textFont (font);
textSize (24);
}
void draw ()
{
background (0, 100, 20);
// az ellenseg mozgatasa
ellensegX += random (-2, 2);
ellensegY += random (-2, 2);
// az ellenseg es a jatekos nem hagyhatja el a kepernyot
// ha ez tortenne a visszakerulnek az ellenkezo oldalra
if ( x > width)
{
x = 0;
}
if (x < 0)
{
x = width;
}
if ( y > height)
{
y = 0;
}
if (y < 0)
{
y = height;
}
if ( ellensegX > width)
{
ellensegX = 0;
}
if (ellensegX < 0)
{
ellensegX = width;
}
if ( ellensegY > height)
{
ellensegY = 0;
}
if (ellensegY < 0)
{
ellensegY = height;
}
// pont szerzes, ha a jatekos es az ellenseg
// kozotti tavolsag kevesebb mint 10 pixel
// az ellenseg ujraszuletik egy veletlenszeru helyen
if (dist(x, y, ellensegX, ellensegY) < 10 )
{
pontszam += 1;
ellensegX = random (0, width);
ellensegY = random (0, height);
}
// a grafika kirajzolasa
// pontszamok
fill (255, 255, 255);
text ("pontszamok: " + pontszam, 10, 20 );
// jatekos
noStroke ();
fill (0, 0, 0);
ellipse (x, y, 10, 10);
// ellenseg
noStroke ();
fill (255, 0, 0);
ellipse (ellensegX, ellensegY, 5, 5);
}
// a keyPressed programresz akkor fut le, ha lenyomtunk egy billentyut
// ha a nyilakat nyomtuk le, a jatekos poziciojat
// novelni, vagy csokkenteni kell
void keyPressed ()
{
if (keyCode == 37)
//balra nyil
{
x -= 5;
}
if (keyCode == 39)
//jobbra nyil
{
x += 5;
}
if (keyCode == 38)
//lefele nyil
{
y -= 5;
}
if (keyCode == 40)
//felfele nyil
{
y += 5;
}
}
|