def __init__(self, player_name, character_name): self._player_name = player_name if character_name not in cluestatics.get_character_names(): raise ValueError( u"Charactername {0:s} does not exist.".format(character_name)) self._character_name = character_name self._objects = []
def test_get_hiddencard(self): g = self.set_up_to_player_gb() g.start_game() hidden_cards = g.get_hidden_cards() assert (hidden_cards[0] in cluestatics.get_character_names()) assert (hidden_cards[1] in cluestatics.get_weapon_names()) assert (hidden_cards[2] in cluestatics.get_room_card_names())
def set_objects(self, objects): all_objs = (cluestatics.get_character_names() + cluestatics.get_room_names() + cluestatics.get_weapon_names()) for obj in objects: if obj not in all_objs: raise ValueError(u"'{0:s} not a valid Clue object".format(obj)) self._objects = objects
def gameboard_js(): gameboard_dict = { u"gameboard": guimisc.get_object_media_path(u"gameboard"), u"mobs": [(name, guimisc.get_mob_media_path(name)) for name in cluestatics.get_character_names()] } js = render_template("gameboard.js", **gameboard_dict) return Response(js, mimetype=u"text/javascript")
def js_files(): data = { u"passcard_path": guimisc.PASSCARD_PATH, u"gamecards": [(itm, guimisc.get_object_media_path(itm)) for itm in cluestatics.get_character_names() + cluestatics.get_room_card_names() + cluestatics.get_weapon_names()] } js = render_template(u"cluecomm.js", **data) return Response(js, mimetype=u"text/javascript")
def gamepanel(): try: rsid = id_rsid[session[u"id"]] myplayer = player[rsid] except KeyError: return abort(404) player_cards = [(card, guimisc.get_object_media_path(card)) for card in game.get_player(player[rsid]).get_objects()] res = render_template("game.html", playername=myplayer, mycards=player_cards, killers=cluestatics.get_character_names(), weapons=cluestatics.get_weapon_names(), rooms=cluestatics.get_room_card_names()) return Response(res, mimetype=u"text/html")
def __init__(self, killer, weapon, scene, guess_order): if killer not in cluestatics.get_character_names(): raise ValueError( u"'{0:s}' is not a valid clue character".format(killer)) if weapon not in cluestatics.get_weapon_names(): raise ValueError( u"'{0:s}' is not a valid clue weapon".format(weapon)) if scene not in cluestatics.get_room_names(): raise ValueError(u"'{0:s}' is not a valid clue room".format(scene)) self._killer = killer self._weapon = weapon self._scene = scene self._guess_order = guess_order self._passed_players = [] self._answer = None
def deal_object_cards(self): characters = cluestatics.get_character_names() weapons = cluestatics.get_weapon_names() rooms = cluestatics.get_room_card_names() idx_killer = random_integer(len(characters) - 1) idx_weapon = random_integer(len(weapons) - 1) idx_room = random_integer(len(rooms) - 1) self._gameobjects = ( characters.pop(idx_killer), weapons.pop(idx_weapon), rooms.pop(idx_room), ) remaining_cards = characters + weapons + rooms for i, p in enumerate(self._player[::-1]): to_deal = len(remaining_cards) // (len(self._player) - i) cards = [] for i in range(to_deal): cards.append( remaining_cards.pop( random_integer(len(remaining_cards) - 1))) p.set_objects(cards)
def test_deal_game_object_cards(self): g = self.set_up_full_gb() g.deal_object_cards() assert (g._gameobjects[0] in cluestatics.get_character_names()) assert (g._gameobjects[1] in cluestatics.get_weapon_names()) assert (g._gameobjects[2] in cluestatics.get_room_names())
def get_guess_dict(): killers = cluestatics.get_character_names() weapons = cluestatics.get_weapon_names() rooms = [game.get_active_room()] return {u"killers": killers, u"weapons": weapons, u"rooms": rooms}
def get_available_characters(self): playing_characters = [itm.get_charactername() for itm in self._player] return [ name for name in cluestatics.get_character_names() if name not in playing_characters ]