Ejemplo n.º 1
0
    def populatefleet(
            self,
            fleetname: str) -> fleet.Fleet:  # Output is a populated fleet
        """

        :param fleetname: normally a string
        :return: fleet.Fleet object
        """
        new_fleet = fleet.Fleet(str(self.name) + " " + str(fleetname))
        fleetfile = open(str(fleetname), 'r')  # Read fleet file
        lines = fleetfile.readlines()
        # 2nd line is number of fleets
        for i in range(0, int(lines[1])):
            parsed_fleet = lines[i + 2].split(" ")  # Form is ["Muninn", "10"]
            for j in range(0, int(parsed_fleet[1])):
                """ 
                This gets the amount of ships into fleet
                """
                new_fleet.add_ship_to_fleet(
                    self.parse_ship_and_into_fleet(parsed_fleet))
            # should be put into its own fleet somewhere
        # 3rd+ are fleets
        # make a ship
        # generate ship
        return new_fleet
Ejemplo n.º 2
0
 def __init__(self, starmap, empires):
     self.empires = empires
     self.starmap = starmap
     for name in empires:
         emp = empires[name]
         # Put out starting ships
         f = fleet.Fleet('Alpha', ship.defaultCarrier, emp)
         f.addShip(ship.defaultShip)
         f.moveTo(10, 100)
         f.setDest(emp.getStars()[0])
         emp.addFleet(f)
         starmap.add(f)
Ejemplo n.º 3
0
    def __init__(self, fleet_size, bounds, start_loc):
        self.bounds = bounds
        self.fleet = pev.Fleet(fleet_size, bounds, start_loc)

        ## TODO support time chunks?
        self.sim_end = 0

        ## time series data bucketed by 10 minutes
        self.util = []
        self.emissions = []
        self.wait_times = []

        self.trips = []
Ejemplo n.º 4
0
    def spawn_fleets(self):
        for s in self.stars:
            if s.owner and s.name != "Sol":
                for b in s.bodies:
                    if isinstance(b, Planet) or isinstance(b, Station):
                        chance = random.randint(1, 100)
                        if chance <= config.probability_fleet_spawn:
                            f = fleet.Fleet(self, b, None)
                            self.fleets.append(f)

                            n = news.LocalNews_NewFleet(1, f)
                            self.news[f.home.star.name].append(n)
                            if f.orders == fleet.Orders.ATTACK:
                                self.news[f.destination.name].append(n)
Ejemplo n.º 5
0
    def spawn_investigator_fleet(self):
        n = 0
        while self.stars[n].name == "Sol" \
            or not self.stars[n].owner \
            or len(self.stars[n].bodies) == 0 \
            or ( \
                not isinstance(self.stars[n].bodies[0], Planet)
                and \
                not isinstance(self.stars[n].bodies[0], Station) \
            ):
            n = random.randrange(len(self.stars))

        f = fleet.Fleet(self, self.stars[n].bodies[0],
                        fleet.Orders.INVESTIGATE)
        self.fleets.append(f)
        self.news["global"].append(news.LocalNews_NewFleet(0, f))
Ejemplo n.º 6
0
    def __init__(self, fleet_size, bounds, starting_locs):
        self.bounds = bounds
        self.fleet_size = fleet_size
        self.starting_locs = starting_locs
        self.fleet = pev.Fleet(fleet_size, bounds, starting_locs)
        # starting locations of all vehicles in fleet
        self.sim_start = 0
        self.sim_end = 0

        ## time series data bucketed by 10 minutes
        self.util = []
        self.emissions = []
        self.wait_times = []
        self.ongoing = True

        self.trips = []

        self.sim_uid = str(hashlib.sha224(os.urandom(160)).hexdigest())
        self.setFleetSize(fleet_size)
Ejemplo n.º 7
0
def setup_test_fleet_and_player():
    tested_fleet = fleet.Fleet("TEST Fleet Please Ignore")
    tested_player = players.Players_c("Sajuuk", "127.0.0.1", "7398")
    return tested_fleet, tested_player
Ejemplo n.º 8
0
def setup_player_and_connected_fleet():
    tested_fleet = fleet.Fleet("TEST Fleet Please Ignore")
    tested_player = players.Players_c("Sajuuk", "127.0.0.1\n", "7398")
    tested_player.add_fleet(tested_fleet)
    return tested_fleet, tested_player
Ejemplo n.º 9
0
def make_fleet():
    return fleet.Fleet("Test")
Ejemplo n.º 10
0
 def add_fleet(self, name):
     self.fleets.append(fleet.Fleet(self, name))
Ejemplo n.º 11
0
        return all_attacks

    def get_hulls(self):
        #INCOMPLETE
        return

    def get_initiatives(self):
        #INCOMPLETE
        return

    def get_shields(self):
        #INCOMPLETE
        return

    def sort(self):
        self.Ofleet.sort()
        self.Dfleet.sort()
        self.Ofleet_backup.sort()
        self.Dfleet_backup.sort()


if __name__ == '__main__':
    Ofleet = fleet_object.Fleet(
        "Player A",
        [ships.Interceptor(), ships.Interceptor()])
    Dfleet = fleet_object.Fleet("Player A", [ships.Interceptor()])
    print Ofleet
    battle = Battle("Test battle", Ofleet, Dfleet)
    print battle
    print battle.get_attacks()
Ejemplo n.º 12
0
# Author: Amanda Lewis
# Program: run.py
# Purpose: to test and simulate real vehicles traveling routes.
# this program uses multithreading and the ThreadPoolExecutor to manage threads

import vehicle
from vehicle import Vehicle
from vehicle import Status
import json
import fleet
import threading

# instantiate a fleet
vehicleList = fleet.Fleet(1)


def main():

    try:
        answer = 0

        print("Welcome to the terminal tester for the vehicle simulator")
        while answer != 2:
            validAnswer = False
            print("What would you like to do?\n1. Create a vehicle \n2. Exit ")
            try:
                answer = int(input())
                if answer >= 1 and answer <= 2:
                    validAnswer = True
                else:
                    print("Please pick a number between 1 and 3")