These 4 if statements in this KeyListener check what arrow key was entered. I would like to make this more efficient by combining the 4 if statements into a more concise switch statement or conditional statement.
How can I combine the 4 if statements into 1 conditional or switch statement?
class MyKeyListener implements KeyListener {
public void keyReleased(KeyEvent e) { }
public void keyTyped(KeyEvent e) {}
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
for (int i=0; i < a.length;i++){
for (int k=0; k < a[i].length;k++){
Contents tileLeft = lr.getTile(levelData, i-1, k);
Contents tileUp = lr.getTile(levelDate, i, k+1);
Contents tileRight = lr.getTile(levelDate, i+1, k);
Contents tileDown = lr.getTile(levelData, i, k-1);
if(keyCode == KeyEvent.VK_LEFT) {
if (tileLeft == Contents.EMPTY || tileLeft == Contents.GOAL) {
levelData[i][k] = Contents.EMPTY;
levelData[i-1][k] = Contents.PLAYER;
}
}
if(keyCode == KeyEvent.VK_UP) {
if (tileUp == Contents.EMPTY || tileUp == Contents.GOAL) {
levelData[i][k] = Contents.EMPTY;
levelData[i][k+1] = Contents.PLAYER;
}
}
if(keyCode == KeyEvent.VK_RIGHT) {
if (tileRight == Contents.EMPTY || tileRight == Contents.GOAL) {
levelData[i][k] = Contents.EMPTY;
levelData[i+1][k] = Contents.PLAYER;
}
}
if(keyCode == KeyEvent.VK_DOWN) {
if (tileDown == Contents.EMPTY || tileDown == Contents.GOAL) {
levelData[i][k] = Contents.EMPTY;
levelData[i][k-1] = Contents.PLAYER;
}
}
}
}
}
}