From 1186354dcb1e41a3799ca4454681ff9ea807ae1c Mon Sep 17 00:00:00 2001 From: Oscar Wiberg <oscarwiberg@oscars-air-3.students.netlogon.liu.se> Date: Tue, 28 Nov 2023 14:30:37 +0100 Subject: [PATCH] =?UTF-8?q?Kollisions=20logik,=20h=C3=A4nder=20inget=20vid?= =?UTF-8?q?=20krock=20=C3=A4n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/states/PlayState.java | 14 ++++++++--- src/states/Player.java | 50 ++++++++++++++++++++------------------- 2 files changed, 37 insertions(+), 27 deletions(-) diff --git a/src/states/PlayState.java b/src/states/PlayState.java index 5b6d6bf..601cd26 100644 --- a/src/states/PlayState.java +++ b/src/states/PlayState.java @@ -37,9 +37,6 @@ public class PlayState extends GameState { private String informationText; private Color bgColor; private Color fontColor; - private Image obstacle; - private Double enemyPosX = -100.00; - private Double enemyPosY = 250.00; private boolean up = false; private Player player; private Enemy enemy; @@ -121,6 +118,17 @@ public class PlayState extends GameState { public void checkCollision() { + + if ((enemy.getEnemyX() <= (player.getPlayerX() + 80)) && (enemy.getEnemyX() > player.getPlayerX())) { +// System.out.println("helo"); + if((player.getPlayerY() + 60) >= enemy.getEnemyY() ) { + System.out.println("fäk"); + player.decreaseLives(); + } + } + + + // rita upp från player samt enemy x och y kordinater + eller - höjd och bredd, då får vi spannen som enemy och player bilderna befinner sig i // nästlade if satser, först kolla om enemy befinner sig i mitten av skärmen på players x position, sen kollar vi om players y är större än enemy diff --git a/src/states/Player.java b/src/states/Player.java index a7dedc6..6a73a96 100644 --- a/src/states/Player.java +++ b/src/states/Player.java @@ -37,8 +37,8 @@ public class Player { // TODO Auto-generated catch block e.printStackTrace(); } - - + + } @@ -53,12 +53,14 @@ public class Player { public int getLives() { - return lives; + return this.lives; } - public void setLives(int lives) { - this.lives = lives; + public void decreaseLives() { + + this.lives--; + System.out.println(this.lives); } @@ -71,30 +73,30 @@ public class Player { return playerY; } - - - - - + + + + + public void jump() { - - - if (!down) { - - playerY -= 10; - - if (playerY <= 110) { - - down = true; - + + + if (!down) { + + playerY -= 10; + + if (playerY <= 110) { + + down = true; + + } + } - } - if (down) { playerY += 10; - + if (playerY == 265) { down = false; } @@ -102,7 +104,7 @@ public class Player { } } - + public void setPlayerX(double playerX) { this.playerX = playerX; -- GitLab