Exemplo n.º 1
0
def spawn(width):
    for i in range(width):
        for j in range(width):
            new_player = Player(i * width + j, 'Jake' + str(i + 1))
            new_village = Village(new_player.name, i, j)
            new_player.villages += [new_village]
            players[new_player.id] = new_player
Exemplo n.º 2
0
 def __init__(self, coordinates):
     self.coordinates = coordinates
     self.n_villages = constants.WORLD['n_villages4zone']
     self.villages = []
     for i in xrange(self.n_villages):
         coord = self.coordinates
         coord['village'] = i
         self.villages.append(Village(coordinates=coord))
Exemplo n.º 3
0
def pr2(ind):
    village = Village()
    s = '|'
    for b in ind:
        building = village.get_buildings()[b]
        building.level_up()
        s += building.get_name() + ('%02d' % building.get_level()) + "|"
    return s
Exemplo n.º 4
0
 def setup_agents(self):
     """
     Creates a village, adds land to its territory and records
     its start date.
     """
     village = Village(self, **self.params)
     self.agents[village._id] = village
     self.grid[village.coords]['agent'] = village._id
     village.claim_land(village.coords)
     village.record_date()
Exemplo n.º 5
0
def test_transmit_neighbors():

    v0 = Village(loc=(0.2, 0.3), N=10, vaccinated_fraction=0.5)

    v1 = Village(loc=(0.2, 0.3), N=10, vaccinated_fraction=0.5)

    v0.neighbors = [v1]  # only v0-towards-v1 transmissions between villages

    v0.challenge(2)

    generation = 0
    while (v0.S + v1.S) > 0 and (v0.infecteds or v1.infecteds):
        print('\n=========\ngeneration-%d\n=========' % generation)

        for v in (v0, v1):
            v.update()

        for v in (v0, v1):
            v.transmit()
            print(v.summary())

        print('=========')

        generation += 1
Exemplo n.º 6
0
def test_accumulate_susceptibles():

    v1 = Village(loc=(0.2, 0.3),
                 N=100,
                 vaccinated_fraction=0.2,
                 neighbors=set())

    v1.S = 0  # start from transiently low susceptibles
    n_generations = 26 * 300

    S_timeseries = []
    for t in range(n_generations):
        v1.update()
        S_timeseries.append(v1.S)

    plt.plot(range(n_generations), S_timeseries)
Exemplo n.º 7
0
def test_transmit_infections():

    v0 = Village(loc=(0.2, 0.3),
                 N=10,
                 vaccinated_fraction=0.5,
                 neighbors=set())

    v0.challenge(2)

    generation = 0
    while v0.S > 0 and v0.infecteds:
        print('\n=========\ngeneration-%d\n=========' % generation)
        v0.update()
        v0.transmit()
        print(v0.summary())
        generation += 1
Exemplo n.º 8
0
def obtainTableRows(html):
    table = html('table')[1]  # Cojo la tabla con los datos (la 0 tiene el formulario de envío)
    tableRows = table('tr')
    print(len(tableRows))
    villages = []

    for row in tableRows[1:2]:
        cells = row('td')
        # Regex para sacar coordenadas
        coords = re.findall('showOpenTipCity\((-?\d*),(-?\d*),this\)', str(cells[1]))
        coordX = coords[0][0]
        coordY = coords[0][1]

        timeCell = str(cells[9])  # la celda 9 tiene la info del viaje
        time = timeCell[4:len(timeCell) - 5]
        villages.append(Village(coordX, coordY, time))
    return villages
Exemplo n.º 9
0
    def __init__(self,
                 build_template,
                 village=None,
                 supply_resources=False,
                 world='pl100',
                 target_resources=(0, 0, 0)):
        self.build_template = build_template[:]
        self.village = village or Village(world)
        self.supply_resources = supply_resources
        self.world = world
        self.target_wood, self.target_stone, self.target_iron = target_resources

        self.build_time = 0
        self.need_wood, self.need_stone, self.need_iron = 0, 0, 0
        self.template = []
        self.generate_build_time()
        self.verbose_build_time = datetime.datetime.now() - datetime.timedelta(
            seconds=self.build_time)
Exemplo n.º 10
0
    def __init__(self):
        self.menu = """
        Меню:
            1) Показать общую статистику о деревне
            2) Следующий день
            3) Изменить погоду
            4) Закончить игру
        """

        self.day = 1

        self.village = Village()
        self.player = Player()
        self.nature = Nature()
        self.world = World()
        self.world.add_nature(self.nature)
        self.world.add_player(self.player)
        self.village.add_player(self.player)

        for i in range(5):
            house = House()
            self.village.add_house(house)

        index = 1
        start_specialization = specialization
        list_spec = []
        for house in self.village.houses:
            for i in range(2):
                human = Human()
                spec = random.choice(start_specialization)
                list_spec.append(spec)
                if list_spec.count(spec) >= 4:
                    start_specialization.remove(spec)

                human.specialization = spec
                index += 1
                house.add_people(human)

        self.world.add_worker(self.village.get_people())
Exemplo n.º 11
0
        action='store_true',
        help="Create a player save file. Stored to player.json by default")

    parser.set_defaults(create_player=False)
    args = parser.parse_args()

    # create gamedata object that holds game information
    gamedata = GameData()

    if args.savefile is not None:
        if args.b:
            gamedata.b = True
        else:
            gamedata.b = False
        gamedata.player = util.load_player(args.savefile)
        vil = Village(gamedata)
        vil_gd = vil.run()
    elif args.b is True:
        gamedata.b = True
        gamedata.player = Player()
        util.create_player_file(gamedata)
        char = CreateCharacter(gamedata)
        gd = char.run()
        vil = Village(gd)
        gd_vil = vil.run()
    else:
        if args.b is True:
            gamedata.b = True
        else:
            gamedata.b = False
        gamedata.b = False
Exemplo n.º 12
0
 def __init__(self):
     self.village = Village()
 def setUp(self):
     self.world = 'pl100'
     self.village = Village(self.world)
Exemplo n.º 14
0
def init_game(input):
    village = Village(input["village"])
    friendships = Friendships(input["wordlist"])
    return village, friendships
Exemplo n.º 15
0
from population import Population
from village import Village
from compute import list_add
from flask import Flask, request, render_template, Blueprint, send_from_directory
from config import DevConfig
import json
from jinja2 import Template

profile = Blueprint('opendata_final', __name__)

p = Population()
v = Village()


def multiply_population_data(population_data, proportion):
    result = dict()
    result["household_no"] = population_data["household_no"] * proportion
    result["people_total"] = population_data["people_total"] * proportion
    result["people_total_m"] = population_data["people_total_m"] * proportion
    result["people_total_f"] = population_data["people_total_f"] * proportion
    result["people_m"] = [t * proportion for t in population_data["people_m"]]
    result["people_f"] = [t * proportion for t in population_data["people_f"]]
    return result


def add_population_data(population_data1, population_data2):
    if population_data1 == {}:
        return population_data2
    else:
        result = dict()
        result["household_no"] = population_data1[
Exemplo n.º 16
0
def main():
    parser = argparse.ArgumentParser(description="P0 Adventure")
    parser.add_argument(
        "--savefile",
        dest="savefile",
        default="game.json",
        help="The save file. default: 'game.json'",
    )
    parser.add_argument(
        "--new-game",
        dest="new_game",
        default=False,
        action="store_true",
        help="Create a new save file.",
    )
    parser.add_argument(
        "-b",
        dest="bonus_tasks",
        default=False,
        action="store_true",
        help="enable bonus tasks",
    )
    parser.add_argument(
        "--print-bonus",
        dest="print_bonus",
        default=False,
        action="store_true",
        help="print bonus task list and exit",
    )
    args = parser.parse_args()

    if args.print_bonus:
        print_bonus_tasks()
        return

    # your code starts here
    save = args.savefile
    if args.new_game:
        user = Player()
        user.createNewCharacter()
        gamedata = GameData(player=user, savefile=save, bonus_tasks=args.bonus_tasks)
        if args.bonus_tasks:
            totengraeber = Gravedigger()
            gamedata.gravedigger = totengraeber
            truhe = Chest()
            gamedata.chest = truhe

    else:
        gamedata = load_gamedata(save)
        user = gamedata.player
        if args.bonus_tasks:
            totengraeber = gamedata.gravedigger
            truhe = gamedata.chest

    schmied = Shopkeeper(name="blacksmith", inventory=blacksmith_items)
    druide = Shopkeeper(name="druid", inventory=druid_items)
    prog0 = Village(
        player=user, bonus_tasks=args.bonus_tasks, blacksmith=schmied, druid=druide
    )

    if args.bonus_tasks:
        prog0.gravedigger = totengraeber
        prog0.chest = truhe

    while True:
        user_choice = village(prog0)

        if user_choice == 5:
            dung0 = Dungeon(player=user, bonus_tasks=args.bonus_tasks)
            if args.bonus_tasks:
                dung0.gravedigger = totengraeber
            dungeon(dung0)
        elif user_choice == 6:
            save_gamedata(gamedata, save),
            print("Game saved to {}".format(save))
        elif user_choice == 0:
            quit(gamedata, save)
            break
        else:
            raise KeyError(
                "main.py Something went wrong with the user choosing what to do!"
            )

    sys.exit(0)
Exemplo n.º 17
0
class CreateCharacter(StateHandler):
    def __init__(self, gamedata):
        StateHandler.__init__(self, CreateCharacter.start, [
            CreateCharacter.start, CreateCharacter.ask,
            CreateCharacter.strength, CreateCharacter.agility,
            CreateCharacter.speed, CreateCharacter.defense,
            CreateCharacter.confirm, CreateCharacter.store
        ], Quit(), gamedata)


CreateCharacter.start = Start()
CreateCharacter.ask = Ask()
CreateCharacter.strength = Strength()
CreateCharacter.agility = Agility()
CreateCharacter.speed = Speed()
CreateCharacter.defense = Defense()
CreateCharacter.confirm = Confirm()
CreateCharacter.store = Store()

if __name__ == '__main__':
    gamedata = GameData()
    player = Player()
    gamedata.player = player
    util.create_player_file(gamedata)
    gamedata.player = util.load_player("player.json")
    create_char = CreateCharacter(gamedata)
    create_char_gd = create_char.run()
    village = Village(create_char_gd)
    village_gd = village.run()