Skip to content
Snippets Groups Projects
Unverified Commit 1f445935 authored by Oscar Wiberg's avatar Oscar Wiberg Committed by GitHub
Browse files

Merge pull request #1 from Oscarwib/testb

Testb
parents e2cee244 556cb85f
Branches
Tags
No related merge requests found
Showing
with 164 additions and 10 deletions
49
\ No newline at end of file
src/Images1/apple.png

28.1 KiB

src/Images1/blixt.png

33.4 KiB

src/Images1/dinosaur.png

115 KiB

src/Images1/fly.png

72.2 KiB

src/Images1/heart.png

886 B

src/Images1/heart2.png

410 KiB

src/Images1/lorry.png

24.1 KiB

src/Images1/player2.png

90.7 KiB

src/Images1/player2_sliding.png

99 KiB

src/Images1/player_sliding.png

124 KiB

src/Images1/runner.png

18.5 KiB

src/Images1/saucer.png

16.8 KiB

src/Images1/woman-running.png

19.4 KiB

src/Images1/zap.png

9.29 KiB

package constants;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javafx.scene.image.Image;
public interface Constants {
/**
......@@ -16,16 +21,31 @@ public interface Constants {
/*
* Define the size of the window
*/
int SCREEN_WIDTH = 1000;
int SCREEN_HEIGHT = 800;
final int screenWidth = 1000;
final int screenHeight = 500;
// Player
String slidingPlayerImg = "src/Images1/player_sliding.png";
// String playerImg = "src/Images1/runner.png";
String playerImg = "src/Images1/player.png";
String slidingPlayerImg2 = "src/Images1/player2_sliding.png";
// String playerImg2 = "src/Images1/woman-running.png";
String playerImg2 = "src/Images1/player2.png";
double playerWidth = 100;
double playerHeight = 100;
//colours
String Bluebackground = "-fx-background-color: #34495E;";
String Blackbackground = "-fx-background-color: #111111;";
//enemies
String enemyImg = "src/Images1/lorry.png";
String flyingEnemyImg = "src/Images1/saucer.png";
double enemyWidth = 100;
double enemyHeight = 100;
// powerups
String lifeImg = "src/Images1/heart2.png";
String powerImge = "src/Images1/blixt.png";
}
package main;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import states.GameModel;
/**
......
package main;
import states.GameModel;
import constants.Constants;
import javafx.animation.AnimationTimer;
......@@ -9,7 +10,7 @@ import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.input.KeyEvent;
import javafx.stage.Stage;
//FFfffffffff
/**
* This Class is the entry point of the application.
* <p>
......@@ -32,6 +33,11 @@ import javafx.stage.Stage;
* @author magni54, alomi60
*/
public class Main extends Application {
private GameModel model;
private Scene gameScene;
private GameFrame frame;
public static void main(String[] args) {
launch(args);
......@@ -39,13 +45,16 @@ public class Main extends Application {
@Override
public void start(Stage gameStage) throws Exception {
gameStage.setTitle("TotallyAwesomeGame, sort of");
gameStage.setWidth(Constants.SCREEN_WIDTH);
gameStage.setHeight(Constants.SCREEN_HEIGHT);
gameStage.setWidth(Constants.screenWidth);
gameStage.setHeight(Constants.screenHeight);
GameModel model = new GameModel();
GameFrame frame = new GameFrame(model, 1000, 800);
// GameFrame frame = new GameFrame(model, 1000, 800);
GameFrame frame = new GameFrame(model, Constants.screenWidth, Constants.screenHeight);
Scene gameScene = new Scene(frame);
// Set the target number of frames per second
final double targetFps = 50.0;
// Calculate frequency in nano seconds
final double nanoPerUpdate = 1000000000.0 / targetFps;
......@@ -55,6 +64,7 @@ public class Main extends Application {
// We set up a setOnKeyPressed, to handle keyboard input,
// like we had a onMouseClick in the canvas for the paint lab.
gameScene.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
// We send it on to the model, to handle it in the various
......@@ -62,6 +72,8 @@ public class Main extends Application {
model.keyPressed(event);
}
});
// We set an AnimationTimer, to control the flow of the game.
new AnimationTimer() {
......@@ -86,4 +98,4 @@ public class Main extends Application {
gameStage.show();
}
}
}
\ No newline at end of file
package states;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javafx.scene.image.Image;
public abstract class Antagonist {
protected double x;
protected double y;
protected Image img;
protected boolean collisionDetected;
public Antagonist(String image, double x, double y) {
this.x = x;
this.y = y;
this.collisionDetected = false;
try {
this.img = new Image(new FileInputStream(image));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public Antagonist(String image) {
this.collisionDetected = false;
try {
this.img = new Image(new FileInputStream(image));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public abstract boolean playerAntagonistCollision(Player player);
public void setAntagonistX(double pos) {
this.x = pos;
}
public double getX() {
return x;
}
public abstract double getY();
public Image getImage() {
return img;
}
}
package states;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import constants.Constants;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
public class Enemy extends Antagonist{
private double enemyX = -100.00;
private double enemyY = 250.00;
private Image image;
private ImageView enemyView;
public Enemy(String enemyImg, double x, double y) {
super(enemyImg, x, y);
}
// if (collided && enemy.getEnemyX() < player.getPlayerX()) {
// collided = false;
// }
@Override
public boolean playerAntagonistCollision(Player player) {
// boolean hit = false;
boolean collisionX = player.getPlayerX() < (x + 60.00) && (player.getPlayerX() + 60.00) > x;
// Check for collision on the y-axis
boolean collisionY = player.getPlayerY() < (y + 45.00) && (player.getPlayerY() + 60.00) > y;
if (collisionY && collisionX && !collisionDetected) {
player.decreaseLives();
collisionDetected = true;
return true;
}
if (!collisionX) {
collisionDetected = false;
}
return false;
}
@Override
public double getY() {
return y;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment