Hogyan lehet egy parametere tobb valtozot deklaralni?
processingben irok programot amely ugy mukodik hogy van 2 kör amelyek feketek a belsejuk. Emelett van egy harmadik kor az belul ures csak egy szegely latszik ez a kor azonban tud mozogni 4 kocka segitsegevel 4 iranyba fel le bal jobb. Azt szeretnem elerni hogy ha a szegelyel rendelkezo kor odaer az egyik fekete korhoz es megnyomom a szokozt akkor legyen feher ha a masik korhoz er oda akkor es ott nyomom meg a szokozt akkor az legyen feher.
az elso lepest megcsinaltam vagyis hogy az elso kor csak akkor valtozik feherre ha ott a szegelyes kor es meegnyomom a szokozt
int x = 0;
int y = 0;
int value1 = 0;
int value2= 0;
void setup () {
size(200,200);
}
void draw() {
background(255);
rect(100,120,10,10);
rect(100,150,10,10);
rect(80,135,10,10);
rect(120,135,10,10);
fill(value1);
ellipse(20,10,20,20);
fill(value2);
ellipse(50,10,20,20);
translate(x,y);
noFill();
ellipse(20,10,22,22);
strokeWeight(1);
}
void mousePressed() {
if (mouseX > 100 && mouseX < 110 && mouseY > 120 && mouseY < 130) {
y = y - 30;
}
if (mouseX > 100 && mouseX < 110 && mouseY > 150 && mouseY < 160) {
y = y + 30;
}
if (mouseX > 80 && mouseX < 90 && mouseY > 135 && mouseY < 145) {
x = x - 30;
}
if (mouseX > 120 && mouseX < 130 && mouseY > 135 && mouseY < 145) {
x = x + 30;
}
}
void keyPressed(){
if (key == ' ') if (value1 == 0 ){
if ( y == 0) if ( x == 0)
value1 = 255;
} else {
if ( y == 0) if ( x == 0)
value1 = 0;
}
}
de hogy ugyanezt megcsinaljam a masodik korrel is az mar nem mukodik.eoszor else if-re gondoltam vagy tobbszorosen beagyazott if fugvenyre
if (key == ' ') if (value1 == 0 ) {
if ( y == 0) if ( x == 0)
value1 = 255;
} else if (value2 == 0 ) {
if ( y == 0) if ( x == 30)
value2 = 255;
} else {
if ( y == 0) if ( x == 0) value1 = 0;
if ( y == 0) if ( x == 30) value2 = 0;
}
de nem jo.
Mi ez a borzalom???
Csodálkozol, hogy nem jó?
> Hogyan lehet egy parametere tobb valtozot deklaralni?
Struktúrával / objektummal.
> if (key == ' ') if (value1 == 0 ){
Az ÉS operátort már fentebb ismerted, itt is azt kéne használni, mert ez így áttekinthetetlen.
> annak elenere hogy szerintetek ez atekinthetetlen a program az elso valtozatot remekul ertette
Az, hogy valami interpretálódik a GÉPben, nem egyenlő azzal, hogy áttekinthető az EMBERnek.
A minify-olt JS is ugyanúgy működik, mint a sortörésekkel és behúzásokkal formázott változat. Ellenben csak az utóbbit látod át.
Az, hogy "if (a) if (b)" persze, hogy lefut, de NEM áttekinthető és nélkülözi a programozás lényegét: a logikát.
> a kritika nem segitseg
Pedig ha valaki megérti, akkor igenis az. De ettől függetlenül javaslatokat is tettem a kritika mellett, vedd észre.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!