Praktikum 7
This commit is contained in:
parent
f0d73b7cf0
commit
937d74a0db
@ -94,4 +94,21 @@ class GameObjectManager {
|
|||||||
public LinkedList<Harpoon> getHarpoons() {
|
public LinkedList<Harpoon> getHarpoons() {
|
||||||
return harpoons;
|
return harpoons;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adapts the position of all game objects.
|
||||||
|
*
|
||||||
|
* @param adaptX Adaption to the right.
|
||||||
|
* @param adaptY Adaption downwards.
|
||||||
|
*/
|
||||||
|
public void moveWorld(double adaptX, double adaptY) {
|
||||||
|
for (GameObject gameObject : gameObjects) {
|
||||||
|
if (gameObject.getClass() != LevelLabel.class
|
||||||
|
&& gameObject.getClass() != LevelProgressBar.class
|
||||||
|
&& gameObject.getClass() != LivesIcon.class
|
||||||
|
&& gameObject.getClass() != ScoreLabel.class){
|
||||||
|
gameObject.adaptPosition(adaptX, adaptY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -104,4 +104,22 @@ public class GamePlayManager {
|
|||||||
public void destroy(Harpoon harpoon){
|
public void destroy(Harpoon harpoon){
|
||||||
gameObjectManager.getHarpoons().remove(harpoon);
|
gameObjectManager.getHarpoons().remove(harpoon);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Moves the World to the left.
|
||||||
|
*
|
||||||
|
* @param speedInPixel Speed to move the World
|
||||||
|
*/
|
||||||
|
public void playerMovingRight(double speedInPixel) {
|
||||||
|
gameObjectManager.moveWorld(-speedInPixel, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Moves the World to the right.
|
||||||
|
*
|
||||||
|
* @param speedInPixel Speed to move the World
|
||||||
|
*/
|
||||||
|
public void playerMovingLeft(double speedInPixel) {
|
||||||
|
gameObjectManager.moveWorld(speedInPixel, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -71,4 +71,15 @@ public abstract class GameObject {
|
|||||||
return position;
|
return position;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adapts the position of this game object, in case the whole game world is moved.
|
||||||
|
*
|
||||||
|
* @param adaptX Adaption to the right.
|
||||||
|
* @param adaptY Adaption downwards.
|
||||||
|
*/
|
||||||
|
public void adaptPosition(double adaptX, double adaptY){
|
||||||
|
position.x += adaptX;
|
||||||
|
position.y += adaptY;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -10,9 +10,6 @@ import java.util.Random;
|
|||||||
*/
|
*/
|
||||||
public class Background extends GameObject {
|
public class Background extends GameObject {
|
||||||
|
|
||||||
|
|
||||||
private final String pixelArt;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a background object.
|
* Create a background object.
|
||||||
*
|
*
|
||||||
@ -24,24 +21,12 @@ public class Background extends GameObject {
|
|||||||
size = 1;
|
size = 1;
|
||||||
rotation = 0;
|
rotation = 0;
|
||||||
|
|
||||||
Random r = new Random();
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
for(int h=0;h<450;h++){
|
|
||||||
for(int i=0;i<960;i++){
|
|
||||||
if(r.nextBoolean()){
|
|
||||||
sb.append("y");
|
|
||||||
}else{
|
|
||||||
sb.append("o");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
sb.append("\n");
|
|
||||||
}
|
|
||||||
pixelArt = sb.toString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addToCanvas() {
|
public void addToCanvas() {
|
||||||
gameView.addBlockImageToCanvas(pixelArt,position.x,position.y,size, rotation);
|
gameView.addImageToCanvas("background.png",position.x,position.y,size,rotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -66,11 +66,19 @@ public class Player extends GameObject {
|
|||||||
|
|
||||||
/** Moves the character to the left */
|
/** Moves the character to the left */
|
||||||
public void left(){
|
public void left(){
|
||||||
position.left(speedInPixel);
|
if (position.x > 300) {
|
||||||
|
position.left(speedInPixel);
|
||||||
|
} else {
|
||||||
|
gamePlayManager.playerMovingLeft(speedInPixel);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/** Moves the character to the right */
|
/** Moves the character to the right */
|
||||||
public void right(){
|
public void right(){
|
||||||
position.right(speedInPixel);
|
if (position.x < GameView.WIDTH - width - 300) {
|
||||||
|
position.right(speedInPixel);
|
||||||
|
} else {
|
||||||
|
gamePlayManager.playerMovingRight(speedInPixel);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/** Moves the character upwards */
|
/** Moves the character upwards */
|
||||||
public void up(){
|
public void up(){
|
||||||
|
BIN
SuperPangWorld/src/resources/background.png
Normal file
BIN
SuperPangWorld/src/resources/background.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 305 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
out/production/SuperPangWorld/resources/background.png
Normal file
BIN
out/production/SuperPangWorld/resources/background.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 305 KiB |
Loading…
Reference in New Issue
Block a user