Пример #1
0
    def recount(self, RULES, colony_leader, PLAYERS):
        """
        recounts colony values, should be called after any change
        """
        print "$$$ colony::recount() ... colony_id = %i" % self.i_id
        start_clock = time.clock()

        self.i_bc = 0

        if not self.exists():
            self.i_population      = 0
            self.v_max_populations = Game_Rules.get_empty_max_populations()
            return

        if self.is_outpost():
            self.recount_outpost()
            self.v_max_populations = Game_Rules.get_empty_max_populations()
            return

        self.d_prod_summary      = Game_Rules.compose_prod_summary(RULES, self, colony_leader, PLAYERS)
        self.i_morale            = self.d_prod_summary['morale_total']
        self.i_food              = self.d_prod_summary['food_total']
        self.i_industry          = self.d_prod_summary['industry_total']
        self.i_pollution         = self.d_prod_summary['industry_pollution']
        self.i_research          = self.d_prod_summary['research_total']
        #self.i_bc                = self.d_prod_summary['bc_total']
        self.v_max_populations   = Game_Rules.compose_max_populations(RULES, self, PLAYERS)
        self.v_pop_grow          = Game_Rules.compose_pop_growth(RULES, self, colony_leader, PLAYERS)
        self.i_max_population    = max(self.v_max_populations)

        self.init_available_production(RULES, PLAYERS)

        end_clock = time.clock()
        print "$$$ colony::recount() ... clock elapsed = %f" % (end_clock-start_clock)
Пример #2
0
 def update_research(self, i_player_id, i_tech_id):
     print("Game_Main::update_research() ... player_id = %i, tech_id = %i" % (i_player_id, i_tech_id))
     o_player = self.d_players[i_player_id]
     o_player.i_research_tech_id     = i_tech_id
     o_player.i_research_area        = self.d_rules['tech_table'][i_tech_id]['area']
     o_player.i_research_cost        = Game_Rules.research_costs(self.d_rules['research_areas'], o_player.i_research_area, o_player.i_research)
     o_player.i_research_turns_left  = Game_Rules.research_turns(o_player.i_research_cost, o_player.i_research_progress, o_player.i_research)
     return True   # Checked by Network_Server
Пример #3
0
 def update_research(self, i_player_id, i_research_item):
     print("Game::update_research() ... player_id = %i, research_item = %i" % (i_player_id, i_research_item))
     o_player = self.d_players[i_player_id]
     o_player.research_item        = i_research_item
     o_player.research_area        = self.d_rules['tech_table'][i_research_item]['area']
     o_player.research_cost        = Game_Rules.research_costs(self.d_rules['research_areas'], o_player.i_research_area, o_player.i_research)
     o_player.research_turns_left  = Game_Rules.research_turns(o_player.i_research_cost, o_player.i_research_progress, o_player.i_research)
     return True
Пример #4
0
 def update_research(self, i_player_id, i_research_item):
     print(
         "Game::update_research() ... player_id = %i, research_item = %i" %
         (i_player_id, i_research_item))
     o_player = self.d_players[i_player_id]
     o_player.research_item = i_research_item
     o_player.research_area = self.d_rules['tech_table'][i_research_item][
         'area']
     o_player.research_cost = Game_Rules.research_costs(
         self.d_rules['research_areas'], o_player.i_research_area,
         o_player.i_research)
     o_player.research_turns_left = Game_Rules.research_turns(
         o_player.i_research_cost, o_player.i_research_progress,
         o_player.i_research)
     return True
Пример #5
0
    def recount(self, rules, colony_leader, players):
        """
        recounts colony values, should be called after any change
        """
        print "$$$ colony::recount() ... colony_id = %i" % self.i_id
        start_clock = time.clock()

        self.i_bc = 0

        if not self.exists():
            self.population      = 0
            self.max_populations = Game_Rules.get_empty_max_populations()
            return

        if self.is_outpost():
            self.recount_outpost()
            self.max_populations = Game_Rules.get_empty_max_populations()
            return

        self.morale_summary    = Game_Rules.compose_morale_summary(rules, self, colony_leader, players)
        self.morale            = Game_Rules.count_summary_result(self.morale_summary)
        self.food_summary      = Game_Rules.compose_food_summary(rules, self, players)
        self.i_food            = Game_Rules.count_summary_result(self.food_summary)
        self.industry_summary  = Game_Rules.compose_industry_summary(rules, self, colony_leader, players)
        self.i_industry        = Game_Rules.count_summary_result(self.industry_summary)
        self.pollution         = self.industry_summary['pollution']
        self.bc_summary        = Game_Rules.compose_bc_summary(rules, self, players)
        self.i_bc              = Game_Rules.count_summary_result(self.bc_summary)
        self.research_summary  = Game_Rules.compose_research_summary(rules, self, players)
        self.i_research        = Game_Rules.count_summary_result(self.research_summary)
        self.i_max_populations = Game_Rules.compose_max_populations(self, players)
        self.i_max_population  = max(self.max_populations)
        self.v_pop_grow        = self.get_population_growth(self.max_populations, players)

        self.init_available_production(rules, players)

        end_clock = time.clock()
        print "$$$ colony::recount() ... clock elapsed = %f" % (end_clock-start_clock)
Пример #6
0
    def recount(self, rules, colony_leader, players):
        """
        recounts colony values, should be called after any change
        """
        print "$$$ colony::recount() ... colony_id = %i" % self.i_id
        start_clock = time.clock()

        self.i_bc = 0

        if not self.exists():
            self.population = 0
            self.max_populations = Game_Rules.get_empty_max_populations()
            return

        if self.is_outpost():
            self.recount_outpost()
            self.max_populations = Game_Rules.get_empty_max_populations()
            return

        self.morale_summary = Game_Rules.compose_morale_summary(
            rules, self, colony_leader, players)
        self.morale = Game_Rules.count_summary_result(self.morale_summary)
        self.food_summary = Game_Rules.compose_food_summary(
            rules, self, players)
        self.i_food = Game_Rules.count_summary_result(self.food_summary)
        self.industry_summary = Game_Rules.compose_industry_summary(
            rules, self, colony_leader, players)
        self.i_industry = Game_Rules.count_summary_result(
            self.industry_summary)
        self.pollution = self.industry_summary['pollution']
        self.bc_summary = Game_Rules.compose_bc_summary(rules, self, players)
        self.i_bc = Game_Rules.count_summary_result(self.bc_summary)
        self.research_summary = Game_Rules.compose_research_summary(
            rules, self, players)
        self.i_research = Game_Rules.count_summary_result(
            self.research_summary)
        self.i_max_populations = Game_Rules.compose_max_populations(
            self, players)
        self.i_max_population = max(self.max_populations)
        self.v_pop_grow = self.get_population_growth(self.max_populations,
                                                     players)

        self.init_available_production(rules, players)

        end_clock = time.clock()
        print "$$$ colony::recount() ... clock elapsed = %f" % (end_clock -
                                                                start_clock)