Хорошо, сначала.
Если я сделаю System.out.println (e);
это печатает, когда я нажимаю клавишу. Однако я не могу на всю жизнь понять, как сохранить это в Int. Моя IDE не дает мне ошибок, если я делаю
int selected = e.KEY_PRESSED (); или intressed = e.getKeyCode ();
но если я попытаюсь напечатать, ничего не произойдет.
Я пытался заставить это работать часами, и обработчики Googling KeyEvent и Javadocs, кажется, мне мало помогают в этом.
public void keyPressed(KeyEvent e) {
pressed = e.getKeyCode();
System.out.println(pressed);
}
do{
time = System.currentTimeMillis();
do{
if(pressed == 37||pressed==38||pressed==39||pressed==40){
lastvalid=pressed;
}
}
while(System.currentTimeMillis() < time + speed);
switch(lastvalid){
case 37: catarloc.set(0, (Integer)catarloc.get(0)-1); break;
case 38: catarloc.set(1, (Integer)catarloc.get(1)-1); break;
case 39: catarloc.set(0, (Integer)catarloc.get(0)+1); break;
case 40: catarloc.set(1, (Integer)catarloc.get(1)+1); break;
}
if(Math.random() > .95 || apples < 1){
applearray[(int)(Math.random()*100/2.8)][(int)(Math.random()*100/4)] = true;
apples++;
}
score+=catarloc.size()-1;
label.setText("Score "+ score);
mainWindow.repaint();
}
while(win == false || lose == false);