Răsfoiți Sursa

Added basic game functionality

Kenneth van Ewijk 10 ani în urmă
părinte
comite
b4380e8407

+ 1 - 0
src/main/Window.java

@@ -19,6 +19,7 @@ public class Window extends JFrame {
 	{
 		super("Bubble Trouble");
 		setSize(WIDTH, HEIGHT);
+		setResizable(false);
 		setDefaultCloseOperation(3);
 		
 		GameStateManager gsm = new GameStateManager();

+ 9 - 0
src/model/objects/DrawObject.java

@@ -85,4 +85,13 @@ public class DrawObject {
 	{
 		return scale;
 	}
+	
+	public int getWidth()
+	{
+		return image.getWidth();
+	}
+	public int getHeigth()
+	{
+		return image.getHeight();
+	}
 }

+ 36 - 4
src/model/state/PlayState.java

@@ -36,7 +36,23 @@ public class PlayState extends State{
 	/* UPDATE */
 	@Override
 	public void update() {		
-			player.setPosition(player.getX() + 1, player.getY()+1);
+			if(player.getX() + player.getWidth() >= Window.WIDTH)
+			{
+				player.setX(Window.WIDTH - player.getWidth());
+			}
+			if(player.getY() + player.getHeigth() >= Window.HEIGHT)
+			{
+				player.setY(Window.HEIGHT - player.getHeigth());
+			}
+			
+			if(player.getX() <= 0)
+			{
+				player.setX(0);
+			}
+			if(player.getY() <= 0)
+			{
+				player.setY(0);
+			}
 	}
 
 	@Override
@@ -50,14 +66,30 @@ public class PlayState extends State{
 	/* EVENTS */
 	@Override
 	public void keyPressed(KeyEvent e) {
-		if(e.getKeyCode() == KeyEvent.VK_ESCAPE)
+		switch(e.getKeyCode())
 		{
-			gsm.setState("menu");
+		case KeyEvent.VK_RIGHT:
+			player.setX(player.getX()+5);
+			break;
+		case KeyEvent.VK_LEFT:
+			player.setX(player.getX()-5);
+			break;
+		case KeyEvent.VK_UP:
+			player.setY(player.getY()-5);
+			break;
+		case KeyEvent.VK_DOWN:
+			player.setY(player.getY()+5);
+			break;
 		}
 	}
 	@Override
 	public void keyReleased(KeyEvent e) {
-		
+		switch(e.getKeyCode())
+		{
+		case KeyEvent.VK_ESCAPE:
+			gsm.setState("menu");
+			break;
+		}
 	}
 	@Override
 	public void keyTyped(KeyEvent e) {}