本文整理汇总了Python中world.World.populate_map方法的典型用法代码示例。如果您正苦于以下问题:Python World.populate_map方法的具体用法?Python World.populate_map怎么用?Python World.populate_map使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类world.World
的用法示例。
在下文中一共展示了World.populate_map方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _Game
# 需要导入模块: from world import World [as 别名]
# 或者: from world.World import populate_map [as 别名]
class _Game(object):
default_triggers = () # empty tuple; a tuple is immutable
game_type_name = None
record_replay = True
allow_cheatmode = True
must_apply_equivalent_type = False
def create_replay(self):
self._replay_file = open(os.path.join(REPLAYS_PATH, "%s.txt" % int(time.time())), "w")
self.replay_write(self.game_type_name)
players = " ".join([p.login for p in self.players])
self.replay_write(self.map.get_name() + " " + players)
self.replay_write(VERSION)
self.replay_write(res.mods)
self.replay_write(compatibility_version())
if self.game_type_name == "mission":
self.replay_write(self.map.campaign.path)
self.replay_write(str(self.map.id))
else:
self.replay_write(self.map.pack())
self.replay_write(players)
alliances = [p.alliance for p in self.players]
self.replay_write(" ".join(map(str, alliances)))
factions = [p.faction for p in self.players]
self.replay_write(" ".join(factions))
self.replay_write(str(self.seed))
def replay_write(self, s):
self._replay_file.write(s + "\n")
def _game_type(self):
return "%s/%s/%s" % (VERSION,
self.game_type_name + "-" + self.map.get_name(),
self.nb_human_players)
def _record_stats(self, world):
stats.add(self._game_type(), int(world.time / 1000))
def run(self, speed=config.speed):
if self.record_replay:
self.create_replay()
self.world = World(self.default_triggers, self.seed, must_apply_equivalent_type=self.must_apply_equivalent_type)
if self.world.load_and_build_map(self.map):
self.map.load_style(res)
try:
self.map.load_resources()
update_orders_list() # when style has changed
self.pre_run()
if self.world.objective:
voice.confirmation(mp.OBJECTIVE + self.world.objective)
self.interface = clientgame.GameInterface(self.me, speed=speed)
b = res.get_text_file("ui/bindings", append=True, localize=True)
b += "\n" + self.map.get_campaign("ui/bindings.txt")
b += "\n" + self.map.get_additional("ui/bindings.txt")
try:
b += "\n" + open(CUSTOM_BINDINGS_PATH, "U").read()
except IOError:
pass
self.interface.load_bindings(b)
self.world.populate_map(self.players)
self.nb_human_players = self.world.current_nb_human_players()
t = threading.Thread(target=self.world.loop)
t.daemon = True
t.start()
if PROFILE:
import cProfile
cProfile.runctx("self.interface.loop()", globals(), locals(), "interface_profile.tmp")
import pstats
for n in ("interface_profile.tmp", ):
p = pstats.Stats(n)
p.strip_dirs()
p.sort_stats('time', 'cumulative').print_stats(30)
p.print_callers(30)
p.print_callees(20)
p.sort_stats('cumulative').print_stats(50)
else:
self.interface.loop()
self._record_stats(self.world)
self.post_run()
finally:
self.map.unload_resources()
self.world.stop()
else:
voice.alert(mp.BEEP + [self.world.map_error])
if self.record_replay:
self._replay_file.close()
def pre_run(self):
pass
def post_run(self):
self.say_score()
def say_score(self):
for msg in self.me.player.score_msgs:
voice.info(msg)
voice.flush()
示例2: _Game
# 需要导入模块: from world import World [as 别名]
# 或者: from world.World import populate_map [as 别名]
class _Game(object):
default_triggers = () # empty tuple; a tuple is immutable
game_type_name = None
alliances = ()
races = ()
record_replay = True
allow_cheatmode = True
def create_replay(self):
self._replay_file = open(os.path.join(REPLAYS_PATH, "%s.txt" % int(time.time())), "w")
self.replay_write(self.game_type_name)
players = " ".join([p.login for p in self.players])
self.replay_write(self.map.get_name() + " " + players)
self.replay_write(VERSION)
self.replay_write(config.mods)
self.replay_write(compatibility_version())
self.replay_write(self.map.pack())
self.replay_write(players)
self.replay_write(" ".join(map(str, self.alliances)))
self.replay_write(" ".join(self.races))
self.replay_write(str(self.seed))
def replay_write(self, s):
self._replay_file.write(s + "\n")
def _game_type(self):
return "%s/%s/%s" % (VERSION,
self.game_type_name + "-" + self.map.get_name(),
self.nb_human_players)
def _record_stats(self, world):
s = stats.Stats(STATS_PATH, METASERVER_URL)
s.add(self._game_type(), int(world.time / 1000))
def run(self, speed=config.speed):
if self.record_replay:
self.create_replay()
self.world = World(self.default_triggers, self.seed)
if self.world.load_and_build_map(self.map):
style.load(res.get_text("ui/style", append=True, locale=True),
self.map.campaign_style,
self.map.additional_style)
sounds.enter_map(self.map.mapfile)
update_orders_list() # when style has changed
self.pre_run()
self.interface = clientgame.GameInterface(self.me, speed=speed)
self.interface.load_bindings(
res.get_text("ui/bindings", append=True, locale=True) + "\n" +
self.map.get_campaign("ui/bindings.txt") + "\n" +
self.map.get_additional("ui/bindings.txt"))
self.world.populate_map(self.players, self.alliances, self.races)
self.nb_human_players = self.world.current_nb_human_players()
t = threading.Thread(target=self.world.loop)
t.daemon = True
t.start()
self.interface.loop()
self._record_stats(self.world)
self.post_run()
sounds.exit_map()
self.world.clean()
else:
voice.alert([1029]) # hostile sound
voice.alert([self.world.map_error])
if self.record_replay:
self._replay_file.close()
def pre_run(self):
pass
def post_run(self):
self.say_score()
def say_score(self):
for msg in self.me.player.score_msgs:
voice.info(msg)
voice.flush()