def create_game(pid, sesid, name, esm, egp, money, fabrics_1, fabrics_2, max_players): game.create_game(pid, esm, egp, money, fabrics_1, fabrics_2, max_players, name) join_room(db_connector.get_game_id(pid), sid=sesid) db_connector.inc_game_progress(db_connector.get_game_id(pid)) return db_connector.get_game_pid(pid).get_json()
def test_martingale_lucky(): # black, red, red,red, black, black rng = NonRandom([2, 5, 9, 12, 11, 10]) game = create_game(rng=rng) player = Martingale(game.table) player.set_stake(100) # win game.cycle(player) assert player.stake == 101 game.cycle(player) # loose, bet 1 assert player.stake == 100 game.cycle(player) # loose, bet 2 assert player.stake == 98 game.cycle(player) # loose, bet 4 assert player.stake == 94 game.cycle(player) # win, gain 8, will bet 1 assert player.stake == 102 game.cycle(player) # win, gain 2, will bet 1 assert player.stake == 103
def get_game_info(game_url): html = get_html(game_url) soup = BeautifulSoup(html, 'lxml') table = soup.find('table', class_='main-game-table') if table != None: citizen = [] mafia = [] game_result = soup\ .find('div', class_='col-right')\ .find('dd')\ .text\ .strip() for i, row in enumerate(table.find_all('tr', class_='col1'), 1): nick = row.find('td', class_='col2').text.strip() role = row.find('td', class_='col5').text.strip() if role == "": citizen.append((i, nick)) elif role == "М": mafia.append((i, nick)) elif role == "Д": don = [(i, nick)] elif role == "Ш": sheriff = [(i, nick)] return G.create_game(game_result, citizen, mafia, don, sheriff)
def test_player1236(): """ Helper functiosn for testing Player1236 """ data = [ ([1, 1, 1, 1], 16), ([1, 1, 1, 2], 18), ([1, 1, 2, 1], 16), ([1, 1, 2, 2], 22), ([1, 2, 1, 1], 16), ([1, 2, 1, 2], 18), ([1, 2, 2, 1], 21), ([1, 2, 2, 2], 25), ([2, 1, 1, 1], 16), ([2, 1, 1, 2], 18), ([2, 1, 2, 1], 16), ([2, 1, 2, 2], 22), ([2, 2, 1, 1], 21), ([2, 2, 1, 2], 23), ([2, 2, 2, 1], 20), ([2, 2, 2, 2], 32), ] for (sequence, expected_stake) in data: rng = NonRandom(sequence) game = create_game(rng=rng) player = Player1236(game.table) player.set_stake(20) for i in range(len(sequence)): game.cycle(player) assert player.stake == expected_stake
def test_player1236(): """ Helper functiosn for testing Player1236 """ data = [ ([1, 1, 1, 1], 16), ([1, 1, 1, 2], 18), ([1, 1, 2, 1], 16), ([1, 1, 2, 2], 22), ([1, 2, 1, 1], 16), ([1, 2, 1, 2], 18), ([1, 2, 2, 1], 21), ([1, 2, 2, 2], 25), ([2, 1, 1, 1], 16), ([2, 1, 1, 2], 18), ([2, 1, 2, 1], 16), ([2, 1, 2, 2], 22), ([2, 2, 1, 1], 21), ([2, 2, 1, 2], 23), ([2, 2, 2, 1], 20), ([2, 2, 2, 2], 32), ] for (sequence, expected_stake) in data: rng = NonRandom(sequence) game = create_game(rng=rng) player= Player1236(game.table) player.set_stake(20) for i in range(len(sequence)): game.cycle(player) assert player.stake == expected_stake
def reset(): if g.auth: if g.is_admin: try: current_game = game.Game.load(1) except KeyError: print "NEW GAME" game.create_game() current_game = game.Game.load(1) new_roller = current_game.reset_game(new_roller=True) send = payload(new_roller) current_game.save() print send if send == "ok": return "reset the game" return "derp"
def test_seven_red_number_respect_duration(): rng = NonRandom([2] * 10) game = create_game(rng=rng) player = SevenReds(game.table) player.set_duration(4) for i in range(7): game.cycle(player) assert player.playing() is False
def new_game(configuration=False): default = {"default": "start", "active": "true"} if not configuration: configuration = default game = create_game(type="voice") print "using configuration: ", configuration game.konf.use_dict(configuration) game = add_story_to_game(game) return game
def new_game(configuration=False): default = {'default': 'start', 'active': 'true'} if not configuration: configuration = default game = create_game(type='sms') print "using configuration: ", configuration game.konf.use_dict(configuration) game = add_story_to_game(game) return game
def test_player_in_hurry(): # Always black rng = NonRandom([2] * 4) game = create_game(rng=rng) player = Passenger57(game.table) player.set_duration(3) player.set_stake(10) for i in range(4): game.cycle(player) assert player.playing() is False assert player.stake == 40
def test_martingale_cant_make_huge_bets(): # Always red rng = NonRandom([1] * 4) game = create_game(rng=rng) player = Martingale(game.table) player.set_stake(32) player.bet_amount = 4 for i in range(4): game.cycle(player) assert player.playing() is False
def test_martingale_loose_all(): # Always red rng = NonRandom([1] * 4) game = create_game(rng=rng) player = Martingale(game.table) player.set_stake(8) for i in range(4): game.cycle(player) assert player.stake > 0 assert player.playing() is False
def test_seven_red_double_when_loose(): # 10 Reds, 1 Black rng = NonRandom([1] * 10 + [2]) game = create_game(rng=rng) player = SevenReds(game.table) for i in range(7): game.cycle(player) assert player.stake == 10 game.cycle(player) assert player.stake == 9 game.cycle(player) assert player.stake == 7 game.cycle(player) assert player.stake == 3
def test_cautious_martingale(): class CautiousMartingale(Martingale): def wants_to_play(self): return self.stake <= 102 # Always black rng = NonRandom([2] * 4) game = create_game(rng=rng) player = CautiousMartingale(game.table) player.set_stake(100) for i in range(4): game.cycle(player) assert player.playing() is False assert player.stake == 103
def play(ctx, ntimes, player, sequence, shape): verbose = ctx.obj['VERBOSE'] # Cria o jogo game = create_game(shape, verbose) # Cria os jogadores game.players = create_players(game, player, sequence, verbose) # Realiza N partidas game.play(ntimes) # Cria um histogram e um arquiv opdf com a estatisitica de todos os jogos game.show_statistic() # Finaliza o jogo game.deinit()
def test_seven_red_waits(): # 7 Reds, 1 Black, 2 Red rng = NonRandom([1] * 7 + [2] + [1] * 9) game = create_game(rng=rng) player = SevenReds(game.table) for i in range(9): game.cycle(player) # Bet 1 and gain 1 assert player.stake == 11 game.cycle(player) assert player.stake == 11 # Finish the seven series: for i in range(5): game.cycle(player) # Re-bet 1, loose and bet 2 for i in range(2): game.cycle(player) assert player.stake == 8
def newgame(): playermgmt.ensure_session_vars(auth) if "copy" in request.vars: # copy a previous game try: game_id = game.create_game(copyfrom=int(request.vars["copy"])) redirect(URL("ingame", "ingame", vars=dict(game_id=game_id))) except (ValueError, game.NewGameException): pass formgame = SQLFORM.factory( Field("gametype", requires=IS_IN_SET(game.GAMETYPES, zero=None)), Field("players", requires=IS_IN_SET(["2", "3", "4", "5", "6"], zero=None)), Field("format", requires=IS_IN_SET(game.FORMATS, zero=None)), Field("tags"), Field("player1"), Field("player2"), Field("player3"), Field("player4"), Field("player5"), Field("player6"), formstyle="divs", submit_button="Start", ) if formgame.process().accepted: try: playeramount = int(formgame.vars.players) players = [] if playeramount not in game.PLAYERAMOUNTS.get(formgame.vars.gametype, []): raise game.NewGameException("Wrong amount of players for the format") for i in range(1, playeramount + 1): try: playerid = int(formgame.vars["player" + str(i)]) except ValueError: raise game.NewGameException("Invalid player id") if playerid == None: raise game.NewGameException("Please insert player " + str(i)) else: addplayer = [player for player in session.groupplayers if player["id"] == playerid] if len(addplayer) != 0: players.append(addplayer[0]) elif playerid == session.guestplayer["id"]: players.append(session.guestplayer) else: raise game.NewGameException("Player not found") gamedata = dict(formgame.vars) tags = gamedata["tags"] gamedata["tags"] = tags.replace(",", " ").strip() gamedata["players"] = players gamedata["playeramount"] = playeramount game_id = game.create_game(gamedata) redirect(URL("ingame", "ingame", vars=dict(game_id=game_id))) except game.NewGameException as nge: if nge.message: response.flash = nge.message elif formgame.errors: response.flash = "form has errors" return dict( formgame=formgame, playerlist=session.groupplayers, guestplayer=session.guestplayer, tags=game.get_recent_tags() )
def voice(): game = create_game(type='voice') input = ' ' if 'Digits' in request.form: input = str(request.form['Digits']) return play(game, input)
def sms(): game = create_game(type='sms') return play(game, str(request.form['Body']))
def callback_start(self): temp = game.create_game() mid = SlideInBTransition(temp, 1) cocos.director.director.push(mid)