diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index dde6fa0..e2222bb 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -6,6 +6,7 @@
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index accd629..4b661a5 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,7 +8,7 @@
-
+
\ No newline at end of file
diff --git a/src/main/java/BurnDataStream.java b/src/main/java/BurnDataStream.java
index 051be0a..a442257 100644
--- a/src/main/java/BurnDataStream.java
+++ b/src/main/java/BurnDataStream.java
@@ -3,7 +3,7 @@ public class BurnDataStream implements BurnStream {
// change them to see if you can get the lander to make a soft landing.
// burns are between 0 and 200. This burn array usually crashes.
- int burnArray[] = {100, 100, 200, 200, 100, 100, 0, 0, 200, 100, 100, 0, 0, 0, 0};
+ int burnArray[] = {0,0,200,200,200,200,200,200,200,200,200,200,200,170,100,100,130,95,104,100,100,100,100};
int burnIdx = -1;
public BurnDataStream() { }
diff --git a/src/main/java/OnBoardComputer.java b/src/main/java/OnBoardComputer.java
index b219803..369a199 100644
--- a/src/main/java/OnBoardComputer.java
+++ b/src/main/java/OnBoardComputer.java
@@ -1,11 +1,15 @@
public class OnBoardComputer implements BurnStream {
+ int burnArray[] = {0,0,200,200,200,200,200,200,200,200,200,200,200,170,100,100,130,95,104,100,100,100,100};
+ int burnIdx = -1;
@Override
public int getNextBurn(DescentEvent status) {
- int burn = 0;
-
- System.out.println(burn); /*hack!*/
- return burn;
+ if (burnIdx < burnArray.length) {
+ burnIdx++;
+ System.out.println(burnArray[burnIdx]); /*hack!*/
+ return burnArray[burnIdx];
+ }
+ return 0;
}
}
diff --git a/src/main/java/Simulation.java b/src/main/java/Simulation.java
index 482634f..0ee34ce 100644
--- a/src/main/java/Simulation.java
+++ b/src/main/java/Simulation.java
@@ -1,6 +1,7 @@
public class Simulation {
private final Vehicle vehicle;
+
public Simulation(Vehicle v) {
this.vehicle = v;
}
@@ -29,8 +30,8 @@ public String gameHeader() {
public String getHeader() {
String s = "";
s = s + "\nTime\t";
- s = s + "Velocity\t\t"; s = s + "Fuel\t\t";
- s = s + "Altitude\t\t"; s = s + "Burn\n";
+ s = s + "Velocity\t"; s = s + "Fuel\t\t";
+ s = s + "Altitude\t"; s = s + "Burn\n";
s = s + "----\t";
s = s + "-----\t\t";
s = s + "----\t\t";
@@ -73,9 +74,11 @@ public int runSimulation(BurnStream burnSource) {
}
public static void main(String[] args) {
- // create a new Simulation object with a random starting altitude
- // create a new BurnInputStream
- // pass the new BurnInputStream to the runSimulation method
+ Vehicle ship = new Vehicle(9000);
+ Simulation newSim = new Simulation(ship);// create a new Simulation object with a random starting altitude
+ //BurnInputStream bis = new BurnInputStream();// create a new BurnInputStream
+ OnBoardComputer computer = new OnBoardComputer();
+ newSim.runSimulation(computer);// pass the new BurnInputStream to the runSimulation method
}
}
diff --git a/src/main/java/Vehicle.java b/src/main/java/Vehicle.java
index e67f2c0..10b8d75 100644
--- a/src/main/java/Vehicle.java
+++ b/src/main/java/Vehicle.java
@@ -19,8 +19,8 @@ public Vehicle(int InitialAltitude) {
public static final int FLYING = 1;
// this is initial vehicle setup
- int Altitude= 8000;
- int PrevAltitude= 8000;
+ int Altitude= 9000;
+ int PrevAltitude= 9000;
int Velocity= 1000;
int Fuel = 12000;
@@ -54,30 +54,34 @@ public String checkFinalStatus() {
public int computeDeltaV() {
// return velocity + gravity - burn amount
- return 0;
+ return Velocity + Gravity - Burn;
}
public void adjustForBurn(int burnAmount) {
- // set burn to burnamount requested
- // save previousAltitude with current Altitude
- // set new velocity to result of computeDeltaV function.
- // subtract speed from Altitude
- // subtract burn amount fuel used from tank
+ Burn = burnAmount;// set burn to burnamount requested
+ PrevAltitude = Altitude;// save previousAltitude with current Altitude
+ Velocity = computeDeltaV();// set new velocity to result of computeDeltaV function.
+ Altitude -= Velocity;// subtract speed from Altitude
+ Fuel -= burnAmount;// subtract burn amount fuel used from tank
}
public boolean stillFlying() {
- // return true if altitude is positive
+ if(Altitude > 0) {// return true if altitude is positive
+ return true;
+ }
return false;
}
public boolean outOfFuel() {
- // return true if fuel is less than or equal to zero
- return true;
+ if(Fuel <= 0) {// return true if fuel is less than or equal to zero
+ return true;
+ }
+ return false;
}
public DescentEvent getStatus(int tick) {
- // create a return a new DescentEvent object
+ DescentEvent var = new DescentEvent(tick, Velocity, Fuel, Altitude, Flying);// create a return a new DescentEvent object
// filled in with the state of the vehicle.
- return null;
+ return var;
}
}