]> git.scottworley.com Git - planeteer/blobdiff - planeteer.go
Move the BeaconOn check out from the inner loop
[planeteer] / planeteer.go
index 71a85dc9158e235dd508cf6fd1ebe18e59682c61..6c8f087feef72dff1eea89d4ee37d5006e66cdd9 100644 (file)
@@ -373,14 +373,12 @@ func CellValue(data planet_data, dims LogicalIndex, table []State, addr LogicalI
                other[Traded] = 1 /* Travel from states that have done trading. */
 
                /* Travel here via a 2-fuel unit jump */
                other[Traded] = 1 /* Travel from states that have done trading. */
 
                /* Travel here via a 2-fuel unit jump */
-               if addr[Fuel]+2 < dims[Fuel] {
+               if data.Planets[data.i2p[addr[Location]]].BeaconOn && addr[Fuel]+2 < dims[Fuel] {
                        other[Fuel] = addr[Fuel] + 2
                        hole_index := (dims[Fuel] - 1) - (addr[Fuel] + 2)
                        if hole_index >= len(flight_plan()) || addr[Location] != PlanetIndex(data, flight_plan()[hole_index]) {
                                for other[Location] = 0; other[Location] < dims[Location]; other[Location]++ {
                        other[Fuel] = addr[Fuel] + 2
                        hole_index := (dims[Fuel] - 1) - (addr[Fuel] + 2)
                        if hole_index >= len(flight_plan()) || addr[Location] != PlanetIndex(data, flight_plan()[hole_index]) {
                                for other[Location] = 0; other[Location] < dims[Location]; other[Location]++ {
-                                       if data.Planets[data.i2p[addr[Location]]].BeaconOn {
-                                               Consider(data, dims, table, other, 0, &best_value, best_source)
-                                       }
+                                       Consider(data, dims, table, other, 0, &best_value, best_source)
                                }
                        }
                        other[Location] = addr[Location]
                                }
                        }
                        other[Location] = addr[Location]
@@ -633,14 +631,14 @@ func FighterAndShieldCost(data planet_data, dims LogicalIndex, table []State, be
                final_state[BuyFighters] = 0
                alt_best := FindBestState(data, dims, table, final_state)
                cost := table[alt_best].value - table[best].value
                final_state[BuyFighters] = 0
                alt_best := FindBestState(data, dims, table, final_state)
                cost := table[alt_best].value - table[best].value
-               fmt.Println("\rDrones were", float64(cost)/float64(*drones), "each")
+               fmt.Printf("\rDrones were %.2f each\n", float64(cost)/float64(*drones))
        }
        if *batteries > 0 {
                final_state := FinalState(dims)
                final_state[BuyShields] = 0
                alt_best := FindBestState(data, dims, table, final_state)
                cost := table[alt_best].value - table[best].value
        }
        if *batteries > 0 {
                final_state := FinalState(dims)
                final_state[BuyShields] = 0
                alt_best := FindBestState(data, dims, table, final_state)
                cost := table[alt_best].value - table[best].value
-               fmt.Println("\rBatteries were", float64(cost)/float64(*batteries), "each")
+               fmt.Printf("\rBatteries were %.2f each\n", float64(cost)/float64(*batteries))
        }
 }
 
        }
 }
 
@@ -807,7 +805,7 @@ func main() {
        best := FindBestState(data, dims, table, final_state)
        print("\n")
        if best == -1 {
        best := FindBestState(data, dims, table, final_state)
        print("\n")
        if best == -1 {
-               print("Cannot acheive success criteria\n")
+               print("Cannot achieve success criteria\n")
                return
        }
        description := DescribePath(data, dims, table, best)
                return
        }
        description := DescribePath(data, dims, table, best)