public void keyPressed(KeyEvent e) { currentTime = System.nanoTime(); if ((currentTime - latestTime) * 1000000 < 500) { } else { int gotoX = loadSprites.cfg.playerX; int gotoY = loadSprites.cfg.playerY; loadSprites.cfg.canMove = true; switch (e.getKeyCode()) { case 37: //left loadSprites.cfg.playerX = gotoX - 18; loadSprites.cfg.direction = "west"; break; case 38: //up loadSprites.cfg.playerY = gotoY - 18; loadSprites.cfg.direction = "north"; break; case 39: //right loadSprites.cfg.playerX = gotoX + 18; loadSprites.cfg.direction = "east"; break; case 40: //down loadSprites.cfg.playerY = gotoY + 18; loadSprites.cfg.direction = "south"; break; case 10: //enter loadSprites.commandToServer("test"); break; case 27: //escape try { Pokemon.sock.close(); } catch(Exception f) { } System.out.println("Closing application..."); System.exit(0); break; default: //other misc.print("Unknown Button Pushed. Button Code: " + e.getKeyCode()); } /*for (int i = 0; i < 3; i++) { System.out.println("Object " + i + " Coords: " + loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][2] + ", " + loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][3]); }*/ //loadSprites.cfg.canMove = true; for (int i = 0; i < loadSprites.cfg.maxObjects; i++) { if (loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][1] == 0) //Checks for walkable { if (loadSprites.cfg.direction == "north") { if (loadSprites.cfg.windowX == loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][2]) //Checks for x Position { if (loadSprites.cfg.windowY == loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][3] + 18) //Checks for y Position { loadSprites.cfg.playerX = gotoX; loadSprites.cfg.playerY = gotoY; loadSprites.cfg.canMove = false; } } } else if (loadSprites.cfg.direction == "east") { if (loadSprites.cfg.windowX == loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][2] - 18) //Checks for x Position { if (loadSprites.cfg.windowY == loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][3]) //Checks for y Position { loadSprites.cfg.playerX = gotoX; loadSprites.cfg.playerY = gotoY; loadSprites.cfg.canMove = false; } } } else if (loadSprites.cfg.direction == "south") { if (loadSprites.cfg.windowX == loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][2]) //Checks for x Position { if (loadSprites.cfg.windowY == loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][3] - 18) //Checks for y Position { loadSprites.cfg.playerX = gotoX; loadSprites.cfg.playerY = gotoY; loadSprites.cfg.canMove = false; } } } else if (loadSprites.cfg.direction == "west") { if (loadSprites.cfg.windowX == loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][2] + 18) //Checks for x Position { if (loadSprites.cfg.windowY == loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][3]) //Checks for y Position { loadSprites.cfg.playerX = gotoX; loadSprites.cfg.playerY = gotoY; loadSprites.cfg.canMove = false; } } } } } misc.print("Player X: " + loadSprites.cfg.playerX + ", Player Y: " + loadSprites.cfg.playerY + " Can Move: " + loadSprites.cfg.canMove); //Scrolling the objects if (loadSprites.cfg.canMove == true) { for (int i = 0; i < loadSprites.cfg.maxObjects; i++) { if (loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][2] != 0) { if (loadSprites.cfg.direction == "north") { loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][3] += 6; } else if (loadSprites.cfg.direction == "east") { loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][2] -= 6; } else if (loadSprites.cfg.direction == "south") { loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][3] -= 6; } else if (loadSprites.cfg.direction == "west") { loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][2] += 6; } } } } //Updating loadSprites.cfg.step = 1; loadSprites.updatePainting(); loadSprites.update(getGraphics()); if (loadSprites.cfg.canMove == true) { for (int i = 0; i < loadSprites.cfg.maxObjects; i++) { if (loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][2] != 0) { if (loadSprites.cfg.direction == "north") { loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][3] += 6; } else if (loadSprites.cfg.direction == "east") { loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][2] -= 6; } else if (loadSprites.cfg.direction == "south") { loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][3] -= 6; } else if (loadSprites.cfg.direction == "west") { loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][2] += 6; } } } } //Updating loadSprites.cfg.step = 2; loadSprites.updatePainting(); loadSprites.update(getGraphics()); if (loadSprites.cfg.canMove == true) { for (int i = 0; i < loadSprites.cfg.maxObjects; i++) { if (loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][2] != 0) { if (loadSprites.cfg.direction == "north") { loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][3] += 6; } else if (loadSprites.cfg.direction == "east") { loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][2] -= 6; } else if (loadSprites.cfg.direction == "south") { loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][3] -= 6; } else if (loadSprites.cfg.direction == "west") { loadSprites.cfg.object[loadSprites.cfg.playerRegion][i][2] += 6; } } } } //Updating loadSprites.cfg.step = 3; loadSprites.updatePainting(); loadSprites.update(getGraphics()); /*try { Thread.sleep(200); } catch(Exception f) { }*/ latestTime = System.nanoTime(); } }