diff --git a/BeginningJava8GamesDevelopment/AUDIO/down.aup b/BeginningJava8GamesDevelopment/AUDIO/down.aup
new file mode 100644
index 0000000..744d7af
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/AUDIO/down.aup
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BeginningJava8GamesDevelopment/AUDIO/down.wav b/BeginningJava8GamesDevelopment/AUDIO/down.wav
new file mode 100644
index 0000000..882c771
Binary files /dev/null and b/BeginningJava8GamesDevelopment/AUDIO/down.wav differ
diff --git a/BeginningJava8GamesDevelopment/AUDIO/downmono.wav b/BeginningJava8GamesDevelopment/AUDIO/downmono.wav
new file mode 100644
index 0000000..45d7355
Binary files /dev/null and b/BeginningJava8GamesDevelopment/AUDIO/downmono.wav differ
diff --git a/BeginningJava8GamesDevelopment/AUDIO/left.aup b/BeginningJava8GamesDevelopment/AUDIO/left.aup
new file mode 100644
index 0000000..b4d20ff
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/AUDIO/left.aup
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BeginningJava8GamesDevelopment/AUDIO/left.wav b/BeginningJava8GamesDevelopment/AUDIO/left.wav
new file mode 100644
index 0000000..b3ec827
Binary files /dev/null and b/BeginningJava8GamesDevelopment/AUDIO/left.wav differ
diff --git a/BeginningJava8GamesDevelopment/AUDIO/leftmono.wav b/BeginningJava8GamesDevelopment/AUDIO/leftmono.wav
new file mode 100644
index 0000000..d74e602
Binary files /dev/null and b/BeginningJava8GamesDevelopment/AUDIO/leftmono.wav differ
diff --git a/BeginningJava8GamesDevelopment/AUDIO/leftstereo.wav b/BeginningJava8GamesDevelopment/AUDIO/leftstereo.wav
new file mode 100644
index 0000000..349656d
Binary files /dev/null and b/BeginningJava8GamesDevelopment/AUDIO/leftstereo.wav differ
diff --git a/BeginningJava8GamesDevelopment/AUDIO/right.aup b/BeginningJava8GamesDevelopment/AUDIO/right.aup
new file mode 100644
index 0000000..dece34b
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/AUDIO/right.aup
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BeginningJava8GamesDevelopment/AUDIO/rightmono.wav b/BeginningJava8GamesDevelopment/AUDIO/rightmono.wav
new file mode 100644
index 0000000..bca41b9
Binary files /dev/null and b/BeginningJava8GamesDevelopment/AUDIO/rightmono.wav differ
diff --git a/BeginningJava8GamesDevelopment/AUDIO/s.aup b/BeginningJava8GamesDevelopment/AUDIO/s.aup
new file mode 100644
index 0000000..baec8cb
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/AUDIO/s.aup
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BeginningJava8GamesDevelopment/AUDIO/s.wav b/BeginningJava8GamesDevelopment/AUDIO/s.wav
new file mode 100644
index 0000000..4e01e5e
Binary files /dev/null and b/BeginningJava8GamesDevelopment/AUDIO/s.wav differ
diff --git a/BeginningJava8GamesDevelopment/AUDIO/smono.wav b/BeginningJava8GamesDevelopment/AUDIO/smono.wav
new file mode 100644
index 0000000..4ce9c14
Binary files /dev/null and b/BeginningJava8GamesDevelopment/AUDIO/smono.wav differ
diff --git a/BeginningJava8GamesDevelopment/AUDIO/up.aup b/BeginningJava8GamesDevelopment/AUDIO/up.aup
new file mode 100644
index 0000000..e0b410f
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/AUDIO/up.aup
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BeginningJava8GamesDevelopment/AUDIO/up.wav b/BeginningJava8GamesDevelopment/AUDIO/up.wav
new file mode 100644
index 0000000..d30c4fb
Binary files /dev/null and b/BeginningJava8GamesDevelopment/AUDIO/up.wav differ
diff --git a/BeginningJava8GamesDevelopment/AUDIO/upmono.wav b/BeginningJava8GamesDevelopment/AUDIO/upmono.wav
new file mode 100644
index 0000000..3ad288c
Binary files /dev/null and b/BeginningJava8GamesDevelopment/AUDIO/upmono.wav differ
diff --git a/BeginningJava8GamesDevelopment/AUDIO/w.aup b/BeginningJava8GamesDevelopment/AUDIO/w.aup
new file mode 100644
index 0000000..a9af761
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/AUDIO/w.aup
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BeginningJava8GamesDevelopment/AUDIO/w.wav b/BeginningJava8GamesDevelopment/AUDIO/w.wav
new file mode 100644
index 0000000..3297e4a
Binary files /dev/null and b/BeginningJava8GamesDevelopment/AUDIO/w.wav differ
diff --git a/BeginningJava8GamesDevelopment/AUDIO/wmono.wav b/BeginningJava8GamesDevelopment/AUDIO/wmono.wav
new file mode 100644
index 0000000..1c03809
Binary files /dev/null and b/BeginningJava8GamesDevelopment/AUDIO/wmono.wav differ
diff --git a/BeginningJava8GamesDevelopment/GIMP/enemy.xcf b/BeginningJava8GamesDevelopment/GIMP/enemy.xcf
new file mode 100644
index 0000000..c4179a7
Binary files /dev/null and b/BeginningJava8GamesDevelopment/GIMP/enemy.xcf differ
diff --git a/BeginningJava8GamesDevelopment/GIMP/sprite1.xcf b/BeginningJava8GamesDevelopment/GIMP/sprite1.xcf
new file mode 100644
index 0000000..63c9e9a
Binary files /dev/null and b/BeginningJava8GamesDevelopment/GIMP/sprite1.xcf differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/bullet.png b/BeginningJava8GamesDevelopment/IMAGES/bullet.png
new file mode 100644
index 0000000..2f7c5e7
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/bullet.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/cheese.png b/BeginningJava8GamesDevelopment/IMAGES/cheese.png
new file mode 100644
index 0000000..ecbe029
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/cheese.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/enemy.png b/BeginningJava8GamesDevelopment/IMAGES/enemy.png
new file mode 100644
index 0000000..ebd23de
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/enemy.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/invincibagelcreds.png b/BeginningJava8GamesDevelopment/IMAGES/invincibagelcreds.png
new file mode 100644
index 0000000..f0556ae
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/invincibagelcreds.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/invincibagelinstruct.png b/BeginningJava8GamesDevelopment/IMAGES/invincibagelinstruct.png
new file mode 100644
index 0000000..95f6190
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/invincibagelinstruct.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/invincibagelscores.png b/BeginningJava8GamesDevelopment/IMAGES/invincibagelscores.png
new file mode 100644
index 0000000..12d72b6
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/invincibagelscores.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/invincibagelsplash.png b/BeginningJava8GamesDevelopment/IMAGES/invincibagelsplash.png
new file mode 100644
index 0000000..df28196
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/invincibagelsplash.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/prop0.png b/BeginningJava8GamesDevelopment/IMAGES/prop0.png
new file mode 100644
index 0000000..bf39dad
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/prop0.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/prop1.png b/BeginningJava8GamesDevelopment/IMAGES/prop1.png
new file mode 100644
index 0000000..b380732
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/prop1.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/skycloud.png b/BeginningJava8GamesDevelopment/IMAGES/skycloud.png
new file mode 100644
index 0000000..c090ef2
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/skycloud.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/sprite0.png b/BeginningJava8GamesDevelopment/IMAGES/sprite0.png
new file mode 100644
index 0000000..8f29a13
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/sprite0.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/sprite1.png b/BeginningJava8GamesDevelopment/IMAGES/sprite1.png
new file mode 100644
index 0000000..a6e8d65
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/sprite1.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/sprite2.png b/BeginningJava8GamesDevelopment/IMAGES/sprite2.png
new file mode 100644
index 0000000..db0a33b
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/sprite2.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/sprite3.png b/BeginningJava8GamesDevelopment/IMAGES/sprite3.png
new file mode 100644
index 0000000..5726e21
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/sprite3.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/sprite4.png b/BeginningJava8GamesDevelopment/IMAGES/sprite4.png
new file mode 100644
index 0000000..b3d9ce1
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/sprite4.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/sprite5.png b/BeginningJava8GamesDevelopment/IMAGES/sprite5.png
new file mode 100644
index 0000000..58ac95c
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/sprite5.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/sprite6.png b/BeginningJava8GamesDevelopment/IMAGES/sprite6.png
new file mode 100644
index 0000000..07a8bc7
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/sprite6.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/sprite7.png b/BeginningJava8GamesDevelopment/IMAGES/sprite7.png
new file mode 100644
index 0000000..d057dfd
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/sprite7.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/sprite8.png b/BeginningJava8GamesDevelopment/IMAGES/sprite8.png
new file mode 100644
index 0000000..0d2f962
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/sprite8.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/treasure1.png b/BeginningJava8GamesDevelopment/IMAGES/treasure1.png
new file mode 100644
index 0000000..c7559a1
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/treasure1.png differ
diff --git a/BeginningJava8GamesDevelopment/IMAGES/treasure2.png b/BeginningJava8GamesDevelopment/IMAGES/treasure2.png
new file mode 100644
index 0000000..c92b691
Binary files /dev/null and b/BeginningJava8GamesDevelopment/IMAGES/treasure2.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/Thumbs.db b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/Thumbs.db
new file mode 100644
index 0000000..a991e3e
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/Thumbs.db differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/Thumbs.db b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/Thumbs.db
new file mode 100644
index 0000000..1bdc1ec
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/Thumbs.db differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/bullet.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/bullet.png
new file mode 100644
index 0000000..2f7c5e7
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/bullet.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/cheese.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/cheese.png
new file mode 100644
index 0000000..ecbe029
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/cheese.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/downmono.wav b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/downmono.wav
new file mode 100644
index 0000000..45d7355
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/downmono.wav differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/enemy.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/enemy.png
new file mode 100644
index 0000000..ebd23de
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/enemy.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Actor.java b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Actor.java
new file mode 100644
index 0000000..88ed84d
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Actor.java
@@ -0,0 +1,137 @@
+package invincibagel;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.scene.shape.SVGPath;
+public abstract class Actor {
+ protected List imageStates = new ArrayList<>();
+ protected ImageView spriteFrame;
+ protected SVGPath spriteBound;
+ protected double iX;
+ protected double iY;
+ protected double pX;
+ protected double pY;
+ protected boolean isAlive;
+ protected boolean isFixed;
+ protected boolean isBonus;
+ protected boolean hasValu;
+ protected boolean isFlipV;
+ protected boolean isFlipH;
+ public Actor(String SVGdata, double xLocation, double yLocation, Image... spriteCels) {
+ spriteBound = new SVGPath();
+ spriteBound.setContent(SVGdata);
+ spriteFrame = new ImageView(spriteCels[0]);
+ imageStates.addAll(Arrays.asList(spriteCels));
+ iX = xLocation;
+ iY = yLocation;
+ pX = pY = 0;
+ isFixed = true;
+ isAlive = isBonus = hasValu = isFlipV = isFlipH = false;
+ }
+ public abstract void update();
+ public List getImageStates() {
+ return imageStates;
+ }
+
+ public void setImageStates(List imageStates) {
+ this.imageStates = imageStates;
+ }
+
+ public ImageView getSpriteFrame() {
+ return spriteFrame;
+ }
+
+ public void setSpriteFrame(ImageView spriteFrame) {
+ this.spriteFrame = spriteFrame;
+ }
+
+ public SVGPath getSpriteBound() {
+ return spriteBound;
+ }
+
+ public void setSpriteBound(SVGPath spriteBound) {
+ this.spriteBound = spriteBound;
+ }
+
+ public double getiX() {
+ return iX;
+ }
+
+ public void setiX(double iX) {
+ this.iX = iX;
+ }
+
+ public double getiY() {
+ return iY;
+ }
+
+ public void setiY(double iY) {
+ this.iY = iY;
+ }
+
+ public double getpX() {
+ return pX;
+ }
+
+ public void setpX(double pX) {
+ this.pX = pX;
+ }
+
+ public double getpY() {
+ return pY;
+ }
+
+ public void setpY(double pY) {
+ this.pY = pY;
+ }
+
+ public boolean isAlive() {
+ return isAlive;
+ }
+
+ public void setIsAlive(boolean isAlive) {
+ this.isAlive = isAlive;
+ }
+
+ public boolean isFixed() {
+ return isFixed;
+ }
+
+ public void setIsFixed(boolean isFixed) {
+ this.isFixed = isFixed;
+ }
+
+ public boolean isBonus() {
+ return isBonus;
+ }
+
+ public void setIsBonus(boolean isBonus) {
+ this.isBonus = isBonus;
+ }
+
+ public boolean hasValu() {
+ return hasValu;
+ }
+
+ public void setHasValu(boolean hasValu) {
+ this.hasValu = hasValu;
+ }
+
+ public boolean isFlipV() {
+ return isFlipV;
+ }
+
+ public void setIsFlipV(boolean isFlipV) {
+ this.isFlipV = isFlipV;
+ }
+
+ public boolean isFlipH() {
+ return isFlipH;
+ }
+
+ public void setIsFlipH(boolean isFlipH) {
+ this.isFlipH = isFlipH;
+ }
+}
\ No newline at end of file
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Bagel.java b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Bagel.java
new file mode 100644
index 0000000..d55fc68
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Bagel.java
@@ -0,0 +1,155 @@
+package invincibagel;
+import static invincibagel.InvinciBagel.HEIGHT;
+import static invincibagel.InvinciBagel.WIDTH;
+import javafx.scene.image.Image;
+import javafx.scene.shape.SVGPath;
+import javafx.scene.shape.Shape;
+public class Bagel extends Hero {
+ InvinciBagel invinciBagel;
+ protected static final double SPRITE_PIXELS_X = 81;
+ protected static final double SPRITE_PIXELS_Y = 81;
+ protected static final double rightBoundary = WIDTH - SPRITE_PIXELS_X;
+ protected static final double leftBoundary = 0;
+ protected static final double bottomBoundary = HEIGHT - SPRITE_PIXELS_Y;
+ protected static final double topBoundary = 0;
+ boolean animator = false;
+ int framecounter = 0;
+ int runningspeed = 6;
+ public Bagel(InvinciBagel iBagel, String SVGdata, double xLocation, double yLocation, Image... spriteCels) {
+ super(SVGdata, xLocation, yLocation, spriteCels);
+ invinciBagel = iBagel;
+ }
+ @Override
+ public void update(){
+ setXYLocation();
+ setBoundaries();
+ setImageState();
+ moveInvinciBagel(iX,iY);
+// playAudioClip();
+ checkCollision();
+ }
+ private void setXYLocation() {
+ if(invinciBagel.isRight()) { iX+=vX; }
+ if(invinciBagel.isLeft()) { iX-=vX; }
+ if(invinciBagel.isDown()) { iY+=vY; }
+ if(invinciBagel.isUp()) { iY-=vY; }
+ }
+ private void setBoundaries(){
+ if(iX >= rightBoundary) { iX=rightBoundary; }
+ if(iX <= leftBoundary) { iX=leftBoundary; }
+ if(iY >= bottomBoundary) { iY=bottomBoundary; }
+ if(iY <= topBoundary) { iY=topBoundary; }
+ }
+ private void setImageState(){
+ if(!invinciBagel.isRight() && !invinciBagel.isLeft() && !invinciBagel.isDown() && !invinciBagel.isUp()){
+ spriteFrame.setImage(imageStates.get(0));
+ animator=false;
+ framecounter=0;
+ }
+ if(invinciBagel.isRight()) {
+ spriteFrame.setScaleX(1);
+ this.setIsFlipH(false);
+ if(!animator && (!invinciBagel.isDown() && !invinciBagel.isUp())) {
+ spriteFrame.setImage(imageStates.get(1));
+ if(framecounter >= runningspeed) {
+ animator=true;
+ framecounter=0;
+ } else { framecounter+=1; }
+ } else if(animator) {
+ spriteFrame.setImage(imageStates.get(2));
+ if(framecounter >= runningspeed) {
+ animator=false;
+ framecounter=0;
+ } else { framecounter+=1; }
+ }
+ }
+ if(invinciBagel.isLeft()) {
+ spriteFrame.setScaleX(-1);
+ this.setIsFlipH(true);
+ if(!animator && (!invinciBagel.isDown() && !invinciBagel.isUp())) {
+ spriteFrame.setImage(imageStates.get(1));
+ if(framecounter >= runningspeed) {
+ animator=true;
+ framecounter=0;
+ } else { framecounter+=1; }
+ } else if(animator) {
+ spriteFrame.setImage(imageStates.get(2));
+ if(framecounter >= runningspeed) {
+ animator=false;
+ framecounter=0;
+ } else { framecounter+=1; }
+ }
+ }
+ if(invinciBagel.isDown()) {
+ spriteFrame.setImage(imageStates.get(6));
+ }
+ if(invinciBagel.isUp()) {
+ spriteFrame.setImage(imageStates.get(4));
+ }
+ if(invinciBagel.iswKey()) {
+ spriteFrame.setImage(imageStates.get(5));
+ }
+ if(invinciBagel.issKey()) {
+ spriteFrame.setImage(imageStates.get(8));
+ }
+ }
+ private void moveInvinciBagel(double x, double y) {
+ spriteFrame.setTranslateX(x);
+ spriteFrame.setTranslateY(y);
+ }
+ private void playAudioClip(){
+ if(invinciBagel.isLeft()) { invinciBagel.playiSound0(); }
+ if(invinciBagel.isRight()) { invinciBagel.playiSound1(); }
+ if(invinciBagel.isUp()) { invinciBagel.playiSound2(); }
+ if(invinciBagel.isDown()) { invinciBagel.playiSound3(); }
+ if(invinciBagel.iswKey()) { invinciBagel.playiSound4(); }
+ if(invinciBagel.issKey()) { invinciBagel.playiSound5(); }
+ }
+ public void checkCollision(){
+ for (int i=0; i CURRENT_CAST;
+ private final List COLLIDE_CHECKLIST;
+ private final Set REMOVED_ACTORS;
+ public CastingDirector() {
+ CURRENT_CAST = new ArrayList<>();
+ COLLIDE_CHECKLIST = new ArrayList<>();
+ REMOVED_ACTORS = new HashSet<>();
+ }
+ public List getCurrentCast() {
+ return CURRENT_CAST;
+ }
+ public void addCurrentCast(Actor... actors) {
+ if (actors.length > 1) {
+ CURRENT_CAST.addAll(Arrays.asList(actors));
+ } else {
+ CURRENT_CAST.add(actors[0]);
+ }
+ }
+ public void removeCurrentCast(Actor... actors) {
+ CURRENT_CAST.removeAll(Arrays.asList(actors));
+ }
+ public void resetCurrentCast() {
+ CURRENT_CAST.clear();
+ }
+ public List getCollideCheckList() {
+ return COLLIDE_CHECKLIST;
+ }
+ public void resetCollideCheckList() {
+ COLLIDE_CHECKLIST.clear();
+ COLLIDE_CHECKLIST.addAll(CURRENT_CAST);
+ }
+ public Set getRemovedActors() {
+ return REMOVED_ACTORS;
+ }
+ public void addToRemovedActors(Actor... actors) {
+ if (actors.length > 1) {
+ REMOVED_ACTORS.addAll(Arrays.asList((Actor[]) actors));
+ } else {
+ REMOVED_ACTORS.add(actors[0]);
+ }
+ }
+ public void resetRemovedActors() {
+ CURRENT_CAST.removeAll(REMOVED_ACTORS);
+ REMOVED_ACTORS.clear();
+ }
+}
\ No newline at end of file
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Enemy.java b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Enemy.java
new file mode 100644
index 0000000..4ddfb22
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Enemy.java
@@ -0,0 +1,194 @@
+package invincibagel;
+import java.util.Random;
+import javafx.scene.image.Image;
+public class Enemy extends Actor {
+ protected static final Random randomNum = new Random();
+ int attackCounter = 0;
+ int attackFrequency = 250;
+ int attackBoundary = 300;
+ boolean takeSides = false;
+ boolean onScreen = false;
+ boolean callAttack = false;
+ boolean shootBullet = false;
+ int spriteMoveR, spriteMoveL, destination, randomLocation, bulletRange, bulletOffset;
+ double randomOffset;
+ double bulletGravity = 0.2;
+ double cheeseGravity = 0.1;
+ int pauseCounter = 0;
+ int iBagelLocation;
+ boolean launchIt = false;
+ boolean bulletType = false;
+ InvinciBagel invinciBagel;
+ public Enemy(InvinciBagel iBagel, String SVGdata, double xLocation, double yLocation, Image... spriteCels) {
+ super(SVGdata, xLocation, yLocation, spriteCels);
+ invinciBagel = iBagel;
+ spriteFrame.setTranslateX(xLocation);
+ spriteFrame.setTranslateY(yLocation);
+ isAlive = true;
+ isBonus = true;
+ hasValu = true;
+ }
+ @Override
+ public void update() {
+ if(!callAttack){
+ if(attackCounter >= attackFrequency) {
+ attackCounter=0;
+ spriteMoveR=700;
+ spriteMoveL=-70;
+ randomLocation = randomNum.nextInt(attackBoundary);
+ iBagelLocation = (int) invinciBagel.iBagel.getiY();
+ bulletType = randomNum.nextBoolean();
+ if(bulletType){
+ spriteFrame.setTranslateY(randomLocation);
+ randomOffset = randomLocation + 5;
+ } else {
+ spriteFrame.setTranslateY(iBagelLocation);
+ randomOffset = iBagelLocation + 5;
+ }
+ takeSides = randomNum.nextBoolean();
+ callAttack = true;
+ } else { attackCounter+=1; }
+ } else { initiateAttack(); }
+ if(shootBullet) {
+ shootProjectile();
+ if(pauseCounter >= 60) {
+ launchIt = true;
+ pauseCounter = 0;
+ } else {
+ pauseCounter++;
+ }
+ }
+ }
+ private void initiateAttack() {
+ if(!takeSides) {
+ spriteFrame.setScaleX(1);
+ setIsFlipH(false);
+ if(!onScreen) {
+ destination = 500;
+ if(spriteMoveR >= destination) {
+ spriteMoveR-=2;
+ spriteFrame.setTranslateX(spriteMoveR);
+ } else {
+ bulletOffset = 480;
+ shootBullet = true;
+ onScreen = true;
+ }
+ }
+ if(onScreen && launchIt) {
+ destination = 700;
+ if(spriteMoveR <= destination) {
+ spriteMoveR+=1;
+ spriteFrame.setTranslateX(spriteMoveR);
+ } else {
+ onScreen=false;
+ callAttack=false;
+ launchIt = false;
+ loadBullet();
+ loadCheese();
+ loadEnemy();
+ attackFrequency = 60 + randomNum.nextInt(480);
+ }
+ }
+ }
+ if(takeSides) {
+ spriteFrame.setScaleX(-1);
+ setIsFlipH(true);
+ if(!onScreen) {
+ destination = 100;
+ if(spriteMoveL <= destination) {
+ spriteMoveL+=2;
+ spriteFrame.setTranslateX(spriteMoveL);
+ } else {
+ bulletOffset = 120;
+ shootBullet = true;
+ onScreen=true;
+ }
+ }
+ if(onScreen && launchIt) {
+ destination = -70;
+ if(spriteMoveL >= destination) {
+ spriteMoveL-=1;
+ spriteFrame.setTranslateX(spriteMoveL);
+ } else {
+ onScreen=false;
+ callAttack=false;
+ launchIt = false;
+ loadBullet();
+ loadCheese();
+ loadEnemy();
+ attackFrequency = 60 + randomNum.nextInt(480);
+ }
+ }
+ }
+ }
+ private void shootProjectile(){
+ if(!bulletType && !takeSides) {
+ invinciBagel.iBullet.spriteFrame.setTranslateY(randomOffset);
+ invinciBagel.iBullet.spriteFrame.setScaleX(-0.5);
+ invinciBagel.iBullet.spriteFrame.setScaleY(0.5);
+ bulletRange = -50;
+ if(bulletOffset >= bulletRange) {
+ bulletOffset-=6;
+ invinciBagel.iBullet.spriteFrame.setTranslateX(bulletOffset);
+ randomOffset = randomOffset + bulletGravity;
+ } else { shootBullet = false; }
+ }
+ if(!bulletType && takeSides) {
+ invinciBagel.iBullet.spriteFrame.setTranslateY(randomOffset);
+ invinciBagel.iBullet.spriteFrame.setScaleX(0.5);
+ invinciBagel.iBullet.spriteFrame.setScaleY(0.5);
+ bulletRange = 624;
+ if(bulletOffset <= bulletRange) {
+ bulletOffset+=6;
+ invinciBagel.iBullet.spriteFrame.setTranslateX(bulletOffset);
+ randomOffset = randomOffset + bulletGravity;
+ } else { shootBullet = false; }
+ }
+ if(bulletType && !takeSides) {
+ invinciBagel.iCheese.spriteFrame.setTranslateY(randomOffset);
+ invinciBagel.iCheese.spriteFrame.setScaleX(-0.5);
+ invinciBagel.iCheese.spriteFrame.setScaleY(0.5);
+ bulletRange = -50;
+ if(bulletOffset >= bulletRange) {
+ bulletOffset-=4;
+ invinciBagel.iCheese.spriteFrame.setTranslateX(bulletOffset);
+ randomOffset = randomOffset + cheeseGravity;
+ } else { shootBullet = false; }
+ }
+ if(bulletType && takeSides) {
+ invinciBagel.iCheese.spriteFrame.setTranslateY(randomOffset);
+ invinciBagel.iCheese.spriteFrame.setScaleX(0.5);
+ invinciBagel.iCheese.spriteFrame.setScaleY(0.5);
+ bulletRange = 630;
+ if(bulletOffset <= bulletRange) {
+ bulletOffset+=4;
+ invinciBagel.iCheese.spriteFrame.setTranslateX(bulletOffset);
+ randomOffset = randomOffset + cheeseGravity;
+ } else { shootBullet = false; }
+ }
+ }
+ private void loadBullet() {
+ for (int i=0; i {
+ switch (event.getCode()) {
+ case UP: up = true; break;
+ case DOWN: down = true; break;
+ case LEFT: left = true; break;
+ case RIGHT: right = true; break;
+ case W: wKey = true; break;
+ case S: sKey = true; break;
+ case A: aKey = true; break;
+ case D: dKey = true; break;
+ }
+ });
+ scene.setOnKeyReleased((KeyEvent event) -> {
+ switch (event.getCode()) {
+ case UP: up = false; break;
+ case DOWN: down = false; break;
+ case LEFT: left = false; break;
+ case RIGHT: right = false; break;
+ case W: wKey = false; break;
+ case S: sKey = false; break;
+ case A: aKey = false; break;
+ case D: dKey = false; break;
+ }
+ });
+ }
+ private void loadAudioAssets() {
+ iAudioFile0 = getClass().getResource("/leftmono.wav");
+ iSound0 = new AudioClip(iAudioFile0.toString());
+ iAudioFile1 = getClass().getResource("/rightmono.wav");
+ iSound1 = new AudioClip(iAudioFile1.toString());
+ iAudioFile2 = getClass().getResource("/upmono.wav");
+ iSound2 = new AudioClip(iAudioFile2.toString());
+ iAudioFile3 = getClass().getResource("/downmono.wav");
+ iSound3 = new AudioClip(iAudioFile3.toString());
+ iAudioFile4 = getClass().getResource("/wmono.wav");
+ iSound4 = new AudioClip(iAudioFile4.toString());
+ iAudioFile5 = getClass().getResource("/smono.wav");
+ iSound5 = new AudioClip(iAudioFile5.toString());
+ }
+ private void loadImageAssets() {
+ splashScreen = new Image("/invincibagelsplash.png", 640, 400, true, false, true);
+ instructionLayer = new Image("/invincibagelinstruct.png", 640, 400, true, false, true);
+ legalLayer = new Image("/invincibagelcreds.png", 640, 400, true, false, true);
+ scoresLayer = new Image("/invincibagelscores.png", 640, 400, true, false, true);
+ skyCloud = new Image("/skycloud.png", 640, 400, true, false, true);
+ iB0 = new Image("/sprite0.png", 81, 81, true, false, true);
+ iB1 = new Image("/sprite1.png", 81, 81, true, false, true);
+ iB2 = new Image("/sprite2.png", 81, 81, true, false, true);
+ iB3 = new Image("/sprite3.png", 81, 81, true, false, true);
+ iB4 = new Image("/sprite4.png", 81, 81, true, false, true);
+ iB5 = new Image("/sprite5.png", 81, 81, true, false, true);
+ iB6 = new Image("/sprite6.png", 81, 81, true, false, true);
+ iB7 = new Image("/sprite7.png", 81, 81, true, false, true);
+ iB8 = new Image("/sprite8.png", 81, 81, true, false, true);
+ iP0 = new Image("/prop0.png", 72, 32, true, false, true);
+ iP1 = new Image("/prop1.png", 496, 92, true, false, true);
+ iT0 = new Image("/treasure1.png", 64, 64, true, false, true);
+ iT1 = new Image("/treasure2.png", 64, 64, true, false, true);
+ iE0 = new Image("/enemy.png", 64, 64, true, false, true);
+ iC0 = new Image("/bullet.png", 64, 24, true, false, true);
+ iC1 = new Image("/cheese.png", 32, 32, true, false, true);
+ }
+ private void createGameActors(){
+ iBagel = new Bagel(this,
+ "M57,10 L46,25 30,26 30,41 18,41 18,44 27,56 37,57 35,75 39,81 43,81 45,53 54,40 63,43 72,26 Z",
+ WIDTH/2, HEIGHT/2, iB0, iB1, iB2, iB3, iB4, iB5, iB6, iB7, iB8);
+ iBeagle = new Enemy(this, "M0 6 L0 52 70 52 70 70 70 93 115 45 115 0 84 0 68 16 Z", -116, 0, iE0);
+ iBullet = new Projectile("M0 4 L0 16 64 16 64 4 Z", -70, 0, iC0);
+ iCheese = new Projectile("M0 0 L0 32 32 32 32 0 Z", -32, 0, iC1);
+ iPR0 = new Prop( "M0 0 L0 32 72 32 72 0 Z", 30, 48, iP0);
+ iPH0 = new PropH("M0 0 L0 32 72 32 72 0 Z", 172, 248, iP0);
+ iPV0 = new PropV("M0 0 L0 32 72 32 72 0 Z", 396, 116, iP0);
+ iPB0 = new PropB("M0 0 L0 32 72 32 72 0 Z", 512, 316, iP0);
+ iTR0 = new Treasure("M0 0 L0 64 64 64 64 0 Z", 50, 105, iT0);
+ iTR1 = new Treasure("M0 0 L0 64 64 64 64 0 Z", 533, 206, iT1);
+// iPR1 = new Prop("M0 90 L0 92 496 92 496 90 Z", 0, 320, iP1);
+ }
+ private void addGameActorNodes(){
+ root.getChildren().add(iPR0.spriteFrame);
+ root.getChildren().add(iPH0.spriteFrame);
+ root.getChildren().add(iPV0.spriteFrame);
+ root.getChildren().add(iPB0.spriteFrame);
+ root.getChildren().add(iTR0.spriteFrame);
+ root.getChildren().add(iTR1.spriteFrame);
+ root.getChildren().add(iCheese.spriteFrame);
+ root.getChildren().add(iBullet.spriteFrame);
+ root.getChildren().add(iBeagle.spriteFrame);
+ root.getChildren().add(iBagel.spriteFrame);
+ }
+ private void createCastingDirection(){
+ castDirector = new CastingDirector();
+ castDirector.addCurrentCast(iPR0, iPH0, iPV0, iPB0, iTR0, iTR1, iCheese, iBullet, iBeagle);
+ }
+ private void createSplashScreenNodes() {
+ scoreText = new Text();
+ scoreText.setText(String.valueOf(gameScore));
+ scoreText.setLayoutY(385);
+ scoreText.setLayoutX(525);
+ scoreFont = new Font("Verdana", 20);
+ scoreText.setFont(scoreFont);
+ scoreText.setFill(Color.RED);
+ scoreLabel = new Text();
+ scoreLabel.setText("SCORE:");
+ scoreLabel.setLayoutY(385);
+ scoreLabel.setLayoutX(445);
+ scoreLabel.setFont(scoreFont);
+ scoreLabel.setFill(Color.BLACK);
+ buttonContainer = new HBox(12);
+ buttonContainer.setLayoutY(365);
+ buttonContainerPadding = new Insets(0, 0, 10, 16);
+ buttonContainer.setPadding(buttonContainerPadding);
+ gameButton = new Button();
+ gameButton.setText("PLAY GAME");
+ gameButton.setOnAction((ActionEvent) -> {
+ splashScreenBackplate.setImage(skyCloud);
+ splashScreenBackplate.setVisible(true);
+ splashScreenBackplate.toBack();
+ splashScreenTextArea.setVisible(false);
+ });
+ helpButton = new Button();
+ helpButton.setText("INSTRUCTIONS");
+ helpButton.setOnAction((ActionEvent) -> {
+ splashScreenBackplate.setImage(splashScreen);
+ splashScreenBackplate.toFront();
+ splashScreenBackplate.setVisible(true);
+ splashScreenTextArea.setVisible(true);
+ splashScreenTextArea.setImage(instructionLayer);
+ splashScreenTextArea.toFront();
+ buttonContainer.toFront();
+ });
+ scoreButton = new Button();
+ scoreButton.setText("HIGH SCORES");
+ scoreButton.setOnAction((ActionEvent) -> {
+ splashScreenBackplate.setImage(splashScreen);
+ splashScreenBackplate.toFront();
+ splashScreenBackplate.setVisible(true);
+ splashScreenTextArea.setVisible(true);
+ splashScreenTextArea.setImage(scoresLayer);
+ splashScreenTextArea.toFront();
+ buttonContainer.toFront();
+ });
+ legalButton = new Button();
+ legalButton.setText("LEGAL & CREDITS");
+ legalButton.setOnAction((ActionEvent) -> {
+ splashScreenBackplate.setImage(splashScreen);
+ splashScreenBackplate.toFront();
+ splashScreenBackplate.setVisible(true);
+ splashScreenTextArea.setVisible(true);
+ splashScreenTextArea.setImage(legalLayer);
+ splashScreenTextArea.toFront();
+ buttonContainer.toFront();
+ });
+ buttonContainer.getChildren().addAll(gameButton, helpButton, scoreButton, legalButton);
+ splashScreenBackplate = new ImageView();
+ splashScreenBackplate.setImage(splashScreen);
+ splashScreenTextArea = new ImageView();
+ splashScreenTextArea.setImage(instructionLayer);
+ }
+ private void addNodesToStackPane() {
+ root.getChildren().add(splashScreenBackplate);
+ root.getChildren().add(splashScreenTextArea);
+ root.getChildren().add(buttonContainer);
+ root.getChildren().add(scoreText);
+ root.getChildren().add(scoreLabel);
+ }
+ private void createStartGameLoop(){
+ gamePlayLoop = new GamePlayLoop(this);
+ gamePlayLoop.start();
+ }
+ public boolean isUp() {
+ return up;
+ }
+ public void setUp(boolean up) {
+ this.up = up;
+ }
+ public boolean isDown() {
+ return down;
+ }
+ public void setDown(boolean down) {
+ this.down = down;
+ }
+ public boolean isLeft() {
+ return left;
+ }
+ public void setLeft(boolean left) {
+ this.left = left;
+ }
+ public boolean isRight() {
+ return right;
+ }
+ public void setRight(boolean right) {
+ this.right = right;
+ }
+ public boolean iswKey() {
+ return wKey;
+ }
+ public void setwKey(boolean wKey) {
+ this.wKey = wKey;
+ }
+ public boolean isaKey() {
+ return aKey;
+ }
+ public void setaKey(boolean aKey) {
+ this.aKey = aKey;
+ }
+ public boolean issKey() {
+ return sKey;
+ }
+ public void setsKey(boolean sKey) {
+ this.sKey = sKey;
+ }
+ public boolean isdKey() {
+ return dKey;
+ }
+ public void setdKey(boolean dKey) {
+ this.dKey = dKey;
+ }
+ public void playiSound0() {
+ this.iSound0.play();
+ }
+ public void playiSound1() {
+ this.iSound1.play();
+ }
+ public void playiSound2() {
+ this.iSound2.play();
+ }
+ public void playiSound3() {
+ this.iSound3.play();
+ }
+ public void playiSound4() {
+ this.iSound4.play();
+ }
+ public void playiSound5() {
+ this.iSound5.play();
+ }
+}
\ No newline at end of file
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Projectile.java b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Projectile.java
new file mode 100644
index 0000000..5f1099b
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Projectile.java
@@ -0,0 +1,19 @@
+package invincibagel;
+
+import javafx.scene.image.Image;
+
+public class Projectile extends Actor {
+
+ public Projectile(String SVGdata, double xLocation, double yLocation, Image... spriteCels) {
+ super(SVGdata, xLocation, yLocation, spriteCels);
+ spriteFrame.setTranslateX(xLocation);
+ spriteFrame.setTranslateY(yLocation);
+ isFixed = false;
+ isBonus = true;
+ hasValu = true;
+ }
+ @Override
+ public void update() {
+ // Empty Method
+ }
+}
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Prop.java b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Prop.java
new file mode 100644
index 0000000..2db659b
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Prop.java
@@ -0,0 +1,18 @@
+package invincibagel;
+
+import javafx.scene.image.Image;
+
+public class Prop extends Actor {
+
+ public Prop(String SVGdata, double xLocation, double yLocation, Image... spriteCels){
+ super(SVGdata, xLocation, yLocation, spriteCels);
+ spriteFrame.setTranslateX(xLocation);
+ spriteFrame.setTranslateY(yLocation);
+ }
+
+ @Override
+ public void update() {
+ //empty method
+ }
+
+}
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/PropB.java b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/PropB.java
new file mode 100644
index 0000000..5f501c0
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/PropB.java
@@ -0,0 +1,22 @@
+package invincibagel;
+
+import javafx.scene.image.Image;
+
+public class PropB extends Actor {
+
+ public PropB(String SVGdata, double xLocation, double yLocation, Image... spriteCels){
+ super(SVGdata, xLocation, yLocation, spriteCels);
+ this.setIsFlipH(true);
+ spriteFrame.setScaleX(-1);
+ this.setIsFlipV(true);
+ spriteFrame.setScaleY(-1);
+ spriteFrame.setTranslateX(xLocation);
+ spriteFrame.setTranslateY(yLocation);
+ }
+
+ @Override
+ public void update() {
+ //empty method
+ }
+
+}
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/PropH.java b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/PropH.java
new file mode 100644
index 0000000..df34287
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/PropH.java
@@ -0,0 +1,19 @@
+package invincibagel;
+
+import javafx.scene.image.Image;
+
+public class PropH extends Actor {
+
+ public PropH(String SVGdata, double xLocation, double yLocation, Image... spriteCels){
+ super(SVGdata, xLocation, yLocation, spriteCels);
+ this.setIsFlipH(true);
+ spriteFrame.setScaleX(-1);
+ spriteFrame.setTranslateX(xLocation);
+ spriteFrame.setTranslateY(yLocation);
+ }
+
+ @Override
+ public void update() {
+ //empty method
+ }
+}
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/PropV.java b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/PropV.java
new file mode 100644
index 0000000..21896b3
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/PropV.java
@@ -0,0 +1,19 @@
+package invincibagel;
+
+import javafx.scene.image.Image;
+
+public class PropV extends Actor {
+
+ public PropV(String SVGdata, double xLocation, double yLocation, Image... spriteCels){
+ super(SVGdata, xLocation, yLocation, spriteCels);
+ this.setIsFlipV(true);
+ spriteFrame.setScaleY(-1);
+ spriteFrame.setTranslateX(xLocation);
+ spriteFrame.setTranslateY(yLocation);
+ }
+
+ @Override
+ public void update() {
+ //empty method
+ }
+}
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Treasure.java b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Treasure.java
new file mode 100644
index 0000000..12a8316
--- /dev/null
+++ b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagel/Treasure.java
@@ -0,0 +1,17 @@
+package invincibagel;
+
+import javafx.scene.image.Image;
+
+public class Treasure extends Actor {
+ public Treasure(String SVGdata, double xLocation, double yLocation, Image... spriteCels){
+ super(SVGdata, xLocation, yLocation, spriteCels);
+ spriteFrame.setTranslateX(xLocation);
+ spriteFrame.setTranslateY(yLocation);
+ hasValu = true;
+ isBonus = true;
+ }
+ @Override
+ public void update() {
+ // Empty Method
+ }
+}
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagelcreds.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagelcreds.png
new file mode 100644
index 0000000..f0556ae
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagelcreds.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagelinstruct.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagelinstruct.png
new file mode 100644
index 0000000..95f6190
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagelinstruct.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagelscores.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagelscores.png
new file mode 100644
index 0000000..12d72b6
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagelscores.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagelsplash.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagelsplash.png
new file mode 100644
index 0000000..df28196
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/invincibagelsplash.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/leftmono.wav b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/leftmono.wav
new file mode 100644
index 0000000..d74e602
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/leftmono.wav differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/prop0.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/prop0.png
new file mode 100644
index 0000000..bf39dad
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/prop0.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/prop1.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/prop1.png
new file mode 100644
index 0000000..b380732
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/prop1.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/rightmono.wav b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/rightmono.wav
new file mode 100644
index 0000000..bca41b9
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/rightmono.wav differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/skycloud.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/skycloud.png
new file mode 100644
index 0000000..c090ef2
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/skycloud.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/smono.wav b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/smono.wav
new file mode 100644
index 0000000..4ce9c14
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/smono.wav differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite0.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite0.png
new file mode 100644
index 0000000..8f29a13
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite0.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite1.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite1.png
new file mode 100644
index 0000000..a6e8d65
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite1.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite2.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite2.png
new file mode 100644
index 0000000..db0a33b
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite2.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite3.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite3.png
new file mode 100644
index 0000000..5726e21
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite3.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite4.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite4.png
new file mode 100644
index 0000000..b3d9ce1
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite4.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite5.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite5.png
new file mode 100644
index 0000000..58ac95c
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite5.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite6.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite6.png
new file mode 100644
index 0000000..07a8bc7
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite6.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite7.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite7.png
new file mode 100644
index 0000000..d057dfd
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite7.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite8.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite8.png
new file mode 100644
index 0000000..0d2f962
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/sprite8.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/treasure1.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/treasure1.png
new file mode 100644
index 0000000..c7559a1
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/treasure1.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/treasure2.png b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/treasure2.png
new file mode 100644
index 0000000..c92b691
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/treasure2.png differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/upmono.wav b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/upmono.wav
new file mode 100644
index 0000000..3ad288c
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/upmono.wav differ
diff --git a/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/wmono.wav b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/wmono.wav
new file mode 100644
index 0000000..1c03809
Binary files /dev/null and b/BeginningJava8GamesDevelopment/NetBeansProjects/InvinciBagel/src/wmono.wav differ