Skip to content

Commit

Permalink
Changed window size for level two
Browse files Browse the repository at this point in the history
fixed key press for level two

rocket dog goes to level two when 'p' is pressed in level one

enemies and rocket dog starting positions have been changed
  • Loading branch information
NoahSefcik committed Mar 15, 2016
1 parent bdcfc6d commit 3731592
Show file tree
Hide file tree
Showing 9 changed files with 4,078 additions and 76 deletions.
2 changes: 1 addition & 1 deletion nbproject/UPDATED.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Project RocketDog build script updated
Project build script file jfx-impl.xml in nbproject sub-directory has not been recognized
as compliant with this version of NetBeans JavaFX support module. To ensure correct
and complete functionality within this NetBeans installation the script file has been
backed up to jfx-impl_backup_2.xml and then updated to the currently supported state.
backed up to jfx-impl_backup_3.xml and then updated to the currently supported state.

FX Project build script auto-update may be triggered on project open either after
NetBeans installation update or by manual changes in jfx-impl.xml. Please note that
Expand Down
3 changes: 1 addition & 2 deletions nbproject/jfx-impl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3678,7 +3678,6 @@
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
<jvmarg line="${debug-args-line}"/>
<jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
<jvmarg value="-Dglass.disableGrab=true"/>
<jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
<redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
<jvmarg line="${run.jvmargs}"/>
Expand Down Expand Up @@ -3817,7 +3816,7 @@
<target name="-debug-javaws-debuggee" depends="-init-debug-args">
<echo message="Executing ${jfx.deployment.jnlp} in debug mode using ${active.webstart.executable}"/>
<exec executable="${active.webstart.executable}">
<env key="JAVAWS_VM_ARGS" value="${debug-args-line} -Xrunjdwp:transport=${debug-transport},address=${jpda.address} -Dglass.disableGrab=true"/>
<env key="JAVAWS_VM_ARGS" value="${debug-args-line} -Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
<arg value="-wait"/>
<arg file="${jfx.deployment.jnlp}"/>
</exec>
Expand Down
4,008 changes: 4,008 additions & 0 deletions nbproject/jfx-impl_backup_3.xml

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions src/edu/uco/sdd/rocketdog/controller/DefaultKeyMapping.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import edu.uco.sdd.rocketdog.model.Animations.SpitzDeadAnimateStrategy;
import edu.uco.sdd.rocketdog.model.FullHealthState;
import edu.uco.sdd.rocketdog.model.Level;
import edu.uco.sdd.rocketdog.model.SplashLevel;
import javafx.geometry.Point2D;
import javafx.scene.input.KeyEvent;
import javafx.scene.paint.Color;
Expand Down Expand Up @@ -81,6 +82,8 @@ public void handleKeyPressed(Level currentLevel, KeyEvent keyEvent, double speed
case H:
currentLevel.setVisibleHitBoxes(!currentLevel.getVisibleHitBoxes());
break;
case P:
currentLevel.setDone(true);
case O:
//game.displayOptionsScreen();
break;
Expand Down
2 changes: 1 addition & 1 deletion src/edu/uco/sdd/rocketdog/controller/RocketDogGame.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public class RocketDogGame extends Application {
public static final int GAME_SCREEN_WIDTH = 1000;
public static final int GAME_SCREEN_HEIGHT = 924;
private GamePlayLoop gamePlayLoop;
private Scene currentLevel;
public Scene currentLevel;
private ILevel updateableLevel;
Stage currentStage;

Expand Down
54 changes: 34 additions & 20 deletions src/edu/uco/sdd/rocketdog/model/Level.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ public class Level extends Scene implements Observer, ILevel {
//final private LaserWeapon weapon;
final private ArrayList<LargeLaserAttack> largeWeapon;

public Level(Group root, int width, int height) {
this(root, new ImageView(), width, height);
}

public Level(Group root, ImageView background, int width, int height) {
super(root, width, height);
this.root = root;
Expand All @@ -50,7 +54,8 @@ public Level(Group root, ImageView background, int width, int height) {
enemies = new ArrayList<>();
AidItems = new ArrayList<>();
ActiveAidItems = new ArrayList<>();
Hazards = new ArrayList<>(); Hazards = new ArrayList<>();
Hazards = new ArrayList<>();
Hazards = new ArrayList<>();

Obstructions = new ArrayList<>();
projectiles = new ArrayList<>();
Expand All @@ -64,7 +69,7 @@ public Level(Group root, ImageView background, int width, int height) {
//root.setAlignment(Pos.TOP_LEFT);

//Hero information added to game
rocketDog.setPosition(new Point2D(350, 300));
rocketDog.setPosition(new Point2D(150, 550));
rocketDog.addEntityClass(player, 1);
rocketDog.getHitbox().setWidth(130);
rocketDog.getHitbox().setHeight(130);
Expand Down Expand Up @@ -103,14 +108,6 @@ public Level(Group root, ImageView background, int width, int height) {
scoreText.setText("Score : " + rocketDog.getScore() + " Health: " + rocketDog.getCurrentHealth());
scoreText.setFont(new Font(20));

//Keyboard Handling
this.setOnKeyPressed((KeyEvent event) -> {
keyMapping.getKeyMapping().handleKeyPressed(this, event, 3.0d + rocketDog.getAgilityAttribute());
});

this.setOnKeyReleased((KeyEvent event) -> {
keyMapping.getKeyMapping().handleKeyReleased(this, event, 0.0d);
});
}

public LaserAttack getLaserWeapon(int i) {
Expand Down Expand Up @@ -384,6 +381,14 @@ public int checkFiredLargerLaser() {

@Override
public void levelUpdate() {
//Keyboard Handling
this.setOnKeyPressed((KeyEvent event) -> {
keyMapping.getKeyMapping().handleKeyPressed(this, event, 3.0d + rocketDog.getAgilityAttribute());
});

this.setOnKeyReleased((KeyEvent event) -> {
keyMapping.getKeyMapping().handleKeyReleased(this, event, 0.0d);
});

//Update RocketDog
rocketDog.update();
Expand All @@ -399,7 +404,7 @@ public void levelUpdate() {
//Update the weapon attack
weapon.stream().forEach((laser) -> {
//checkFiredLaser();
if(laser.getPosition().getX() > super.getWidth() || laser.getPosition().getX() < 0){
if (laser.getPosition().getX() > super.getWidth() || laser.getPosition().getX() < 0) {
laser.setPos(0, -45);
laser.setDead(false);
laser.setVisableOff();
Expand All @@ -414,7 +419,7 @@ public void levelUpdate() {
//weapon.getHitbox().setVisible(visibleHitBoxes);
//Update the large weapon attack
largeWeapon.stream().forEach((largeLaser) -> {
if(largeLaser.getPosition().getX() > super.getWidth() || largeLaser.getPosition().getX() < 0){
if (largeLaser.getPosition().getX() > super.getWidth() || largeLaser.getPosition().getX() < 0) {
largeLaser.setPos(0, -150);
largeLaser.setDead(false);
largeLaser.setVisableOff();
Expand Down Expand Up @@ -496,11 +501,11 @@ public void levelUpdate() {

//Check for collision
aidItem.processCollision(rocketDog);
if (aidItem.isDead()){ //aid item has been collected

if (aidItem.isDead()) { //aid item has been collected
rocketDog.setScore(rocketDog.getScore() + 5);
rocketDog.setPowerAttribute(25);
rocketDog.setAgilityAttribute(15);
rocketDog.setAgilityAttribute(5);
update(rocketDog.getCurrentHealth());
removeAidItem(aidItem);
} else if (aidItem.isColliding() && aidItem.getClass() == edu.uco.sdd.rocketdog.model.BoostItem.class) {
Expand All @@ -513,14 +518,19 @@ public void levelUpdate() {
//Update active power ups
activeAidItem.update();
activeAidItem.getState().doAction(activeAidItem);

//Set active power up hitbox visibility
activeAidItem.getHitbox().setVisible(visibleHitBoxes);

//Check for collision
enemies.forEach((enemy) -> activeAidItem.processCollision(enemy));
projectiles.forEach((projectile) -> activeAidItem.processCollision(projectile));
if (!activeAidItem.isActive()) removeActiveAidItem(activeAidItem);
if (!activeAidItem.isActive()) {
rocketDog.setPowerAttribute(0);
rocketDog.setAgilityAttribute(1);
update(rocketDog.getCurrentHealth());
removeActiveAidItem(activeAidItem);
}
});

Hazards.stream().forEach((hazard) -> {
Expand All @@ -532,7 +542,7 @@ public void levelUpdate() {

//Check for collision
hazard.processCollision(rocketDog);

});

Obstructions.stream().forEach((obstruction) -> {
Expand All @@ -544,7 +554,7 @@ public void levelUpdate() {

//Check for collision
obstruction.processCollision(rocketDog);

});

surfaces.stream().forEach(surface -> {
Expand Down Expand Up @@ -573,12 +583,16 @@ public void levelUpdate() {
@Override
public void update(double currentHealth) {
//Update score
this.scoreText.setText("Score : " + rocketDog.getScore() + " Health: " + rocketDog.getCurrentHealth() + " \nMoving: " + rocketDog.getMoving()
this.scoreText.setText("Score : " + rocketDog.getScore() + " Health: " + rocketDog.getCurrentHealth()
+ "\nPower: " + rocketDog.getPowerAttribute() + "\nAgility: " + rocketDog.getAgilityAttribute());
}

@Override
public boolean isDone() {
return isDone;
}

public void setDone(boolean value) {
isDone = value;
}
}
4 changes: 2 additions & 2 deletions src/edu/uco/sdd/rocketdog/model/LevelOne.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ public LevelOne(Group root, ImageView background, int width, int height) {
// Bad Guys
EntityClass enemy = new EntityClass("Enemy");
enemy.setRelationship(getPlayer(), EntityClass.Relationship.ENEMY);
addEnemy(new Enemy.Builder("/Ugly Dog.png", 64, 64).setX(300).setY(200).setEntityClass(enemy).setLevel(this).build(), 64, 64);
addEnemy(new Enemy.Builder("/Ugly Dog.png", 32, 32).setX(200).setY(175).setEntityClass(enemy).setLevel(this).build(), 32, 32);
addEnemy(new Enemy.Builder("/Ugly Dog.png", 64, 64).setX(400).setY(400).setEntityClass(enemy).setLevel(this).build(), 64, 64);
addEnemy(new Enemy.Builder("/Ugly Dog.png", 32, 32).setX(300).setY(350).setEntityClass(enemy).setLevel(this).build(), 32, 32);

//done
finishLevel();
Expand Down
61 changes: 16 additions & 45 deletions src/edu/uco/sdd/rocketdog/model/LevelTwo.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import edu.uco.sdd.rocketdog.controller.KeyMappingContext;
import edu.uco.sdd.rocketdog.controller.RocketDogGame;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.input.KeyEvent;
import edu.uco.sdd.rocketdog.view.Props;
import java.util.AbstractMap;
Expand All @@ -14,10 +13,10 @@
*
* @author Dubs
*/
public class LevelTwo extends Scene implements ILevel {
public class LevelTwo extends Level{

public static final double LEVEL_WIDTH = 8000;
public static final double LEVEL_HEIGHT = 600;
public static final int LEVEL_WIDTH = 8000;
public static final int LEVEL_HEIGHT = 924;

/**
* This is the game play speed of the level. Background objects
Expand All @@ -28,20 +27,12 @@ public class LevelTwo extends Scene implements ILevel {

AbstractMap<Group, Double> backgrounds; // Group followed by speed of scroll
Group levelItems = new Group(); // Everything besides RocketDog and Backgrounds

private KeyMappingContext keyMapping;

private RocketDog rocketdog;

public LevelTwo(Group root, double width, double height) {
super(root, width, height);
public LevelTwo(Group root, int width, int height) {
super(root,width,height);
root.setAutoSizeChildren(false);
backgrounds = new LinkedHashMap<>(); // Linked hash map keeps iteration order

rocketdog = new RocketDog();
ImageView rocketdogSprite = rocketdog.getSprite();
rocketdog.getSprite().setId("Rocketdog");

makeBackgrounds(); // Fills background with content

Enemy e = new Enemy.Builder("/Ugly Dog.png", 24, 24)
Expand All @@ -54,27 +45,7 @@ public LevelTwo(Group root, double width, double height) {
.setY(500)
.build();

this.setOnKeyPressed((KeyEvent event) -> {
double rddx = rocketdog.getVelocity().getX();
double rddy = rocketdog.getVelocity().getY();
switch (event.getCode()) {
case LEFT:
rocketdog.setVel(-focalSpeed, rddy);
break;
case RIGHT:
rocketdog.setVel(focalSpeed, rddy);
break;
case DOWN:
rocketdog.setVel(rddx, 1);
break;
case UP:
rocketdog.setVel(rddx, -1);
break;
case SPACE:
rocketdog.setVel(0,0);
break;
}
});


// Add items to levelItems
levelItems.getChildren().add(Props.house(300, 600 - 245));
Expand Down Expand Up @@ -104,16 +75,16 @@ public LevelTwo(Group root, double width, double height) {
// Add Everything else
root.getChildren().add(levelItems);
// Add RocketDog to root
root.getChildren().add(rocketdog.getSprite());
root.getChildren().add(super.getRocketDog().getSprite());
}

public void positionScreen() {
boolean screenMoving = false;
double width = RocketDogGame.GAME_SCREEN_WIDTH;
double height = RocketDogGame.GAME_SCREEN_HEIGHT;

double rdx = rocketdog.getSprite().getBoundsInParent().getMinX();
double rdy = rocketdog.getPosition().getY();
double rdx = super.getRocketDog().getSprite().getBoundsInParent().getMinX();
double rdy = super.getRocketDog().getPosition().getY();

/**
* Divide the screen into 10 zones
Expand All @@ -132,12 +103,12 @@ public void positionScreen() {

if (rdx >= zoneWidth[2]) {
scrollRight();
rocketdog.setPos(zoneWidth[2] + 1, rdy);
super.getRocketDog().setPos(zoneWidth[2] + 1, rdy);
}

if (rdx < zoneWidth[0]) {
scrollLeft();
rocketdog.setPos(zoneWidth[0] - 1, rdy);
super.getRocketDog().setPos(zoneWidth[0] - 1, rdy);

}
}
Expand All @@ -149,18 +120,18 @@ public boolean isDone() {

@Override
public void levelUpdate() {
rocketdog.update();
super.levelUpdate();
positionScreen();

}

private void stopScrolling() {
rocketdog.setVel(0, 0);
super.getRocketDog().setVel(0, 0);
}

private void scrollRight() {
double rddx = rocketdog.getVelocity().getX();
double rddy = rocketdog.getVelocity().getY();
double rddx = super.getRocketDog().getVelocity().getX();
double rddy = super.getRocketDog().getVelocity().getY();

if (rddx < 1) {
return;
Expand All @@ -177,7 +148,7 @@ private void scrollRight() {
}

private void scrollLeft() {
double rddx = rocketdog.getVelocity().getX();
double rddx = super.getRocketDog().getVelocity().getX();
backgrounds.forEach((group, scrollSpeed) -> {
group.setTranslateX(group.getTranslateX() + scrollSpeed );
});
Expand Down
Loading

0 comments on commit 3731592

Please sign in to comment.