Added limits to movement to prevent player from leaving screen; reduced game dimensions

master
Aaron Johnon 1 year ago
parent fc715d2d11
commit a927b8089f

@ -19,9 +19,9 @@ public class Player extends JPanel implements KeyListener, ActionListener {
private boolean debug = true;
private Image sprite;
private int x = 400;
private int y = 512;
private int spd = 1;
private int x = 320;
private int y = 400;
private int spd = 2;
private int fdelay = 850; //Time in ms between shots
//Movement bools
@ -43,7 +43,7 @@ public class Player extends JPanel implements KeyListener, ActionListener {
sprite = icon.getImage();
setFocusable(true);
addKeyListener(this);
setPreferredSize(new Dimension(800, 600));
setPreferredSize(new Dimension(640, 480));
//Timer to set target framerate to 60 (~16ms/frame)
gameTimer = new Timer(1000 / 60, this);
gameTimer.start();
@ -58,10 +58,10 @@ public class Player extends JPanel implements KeyListener, ActionListener {
});
}
private void updatePosition() {
if (leftPressed) x -= spd;
if (rightPressed) x += spd;
if (upPressed) y -= spd;
if (downPressed) y += spd;
if (leftPressed && x > 12) x -= spd;
if (rightPressed && x < getWidth() - sprite.getWidth(null) - 12) x += spd;
if (upPressed && y > 12) y -= spd;
if (downPressed && y < getHeight() - sprite.getHeight(null) - 12) y += spd;
if (shootPressed) playerShoot();
//Update bullet positions
@ -161,6 +161,9 @@ public class Player extends JPanel implements KeyListener, ActionListener {
case KeyEvent.VK_SPACE:
shootPressed = false;
break;
case KeyEvent.VK_ESCAPE:
System.exit(0);
break;
}
}

@ -16,7 +16,7 @@ public class Main {
mainframe.setResizable(false);
mainframe.setTitle("Tank Game");
mainframe.setLocationRelativeTo(null);
mainframe.setSize(800, 600);
mainframe.setSize(640, 480);
//JLabel label = new JLabel("Label test!", JLabel.CENTER);
//mainframe.add(label);

Loading…
Cancel
Save