Jestem programistą-samoukiem, więc nie znam właściwych sposobów robienia rzeczy. Stworzyłem proste gry, takie jak asteroidy i wąż, ale w tych grach można łatwo modyfikować zmienne w ramach kluczowych funkcji. Oto jak to zrobiłem w mojej prostej grze Asteroids:
/*
* key listener events
*/
public void keyReleased(KeyEvent k){
int keyCode = k.getKeyCode();
switch(keyCode){
case KeyEvent.VK_LEFT:
turnLeft = false;
break;
case KeyEvent.VK_RIGHT:
turnRight = false;
break;
case KeyEvent.VK_UP:
accel = false;
break;
case KeyEvent.VK_1:
cls = true;
break;
case KeyEvent.VK_ENTER:
break;
case KeyEvent.VK_SPACE:
fire = false;
}
}
public void keyTyped(KeyEvent K){}
public void keyPressed(KeyEvent k){
int keyCode = k.getKeyCode();
switch(keyCode){
case KeyEvent.VK_LEFT:
turnLeft = true;
break;
case KeyEvent.VK_RIGHT:
turnRight = true;
break;
case KeyEvent.VK_UP:
accel = true;
break;
case KeyEvent.VK_1:
cls = false;
break;
case KeyEvent.VK_ENTER:
clearAllBullets();
break;
case KeyEvent.VK_SPACE:
fire = true;
}
}
Jeśli miałbym stworzyć bardziej zaawansowaną grę (z menu głównym, opcjami, grą główną itp.), Jak powinienem wprowadzić dane za pomocą klawiszy / myszy?
Ponadto, jeśli miałbym przejść do trybu dla jednego gracza, czy powinienem umieścić cały kod rozgrywki w jednej klasie? Czy istnieje sposób na umieszczenie kodu dla pojedynczego gracza w osobnej klasie i jakoś wprowadzenie klucza nadal modyfikuje zmienne i tym podobne?