Exemple #1
0
def player_view(game_name,player_name):
    """Player Page"""
    #make SQL request
    game_archive = GameArchive.query.filter_by(game_name=game_name)
    #rebuild class instance
    game = unpack_game(game_archive)
    #make submit form
    player_form = PlayerForm()
    #make swap letter form
    swap_form = SwapLettersForm()
    #validation for play submission
    if player_form.validate_on_submit():
        #parse tile positions
        tile_pos = [(int(r),int(c)) for r,c in zip(player_form.rows.data.split(','), player_form.cols.data.split(','))]
        #play word
        played_word = game.players[player_name].play_word(word=player_form.word_play.data,  tile_pos=tile_pos)
        #place tiles
        game.board.place_tiles(played_word)
        #draw letters
        game.tilebag.draw_letters(game.players[player_name])
        #update database
        update_game(game,game_archive)
    elif swap_form.validate_on_submit():
        #swap_letter
        game.tilebag.swap_letter(game.players[player_name],swap_form.letter.data)
        #update database
        update_game(game,game_archive)

    return render_template('player.html', submit_form=player_form, swap_form=swap_form, letter_rack=game.players[player_name].letter_rack, num_letters=len(game.players[player_name].letter_rack), name=player_name, square=2*s)
Exemple #2
0
def player_view(game_name, player_name):
    """Player Page"""
    #rebuild class instance from SQL request
    game_archive = GameArchive.query.filter_by(game_name=game_name)
    game = Game.unarchive(game_archive)
    #make forms
    player_form = PlayerForm()
    swap_form = SwapLettersForm()
    #validation for play submission
    if player_name != game.player_order[0]:
        pass
    elif player_form.validate_on_submit():
        #parse tile positions
        tile_pos = [(int(r), int(c))
                    for r, c in zip(player_form.rows.data.split(','),
                                    player_form.cols.data.split(','))]
        #play word
        played_word = game.players[player_name].play_word(
            word=player_form.word_play.data, tile_pos=tile_pos)
        #place tiles
        coords = game.board.place_tiles(played_word)
        #score word
        game.score_word(coords, player_name)
        #draw letters
        game.tilebag.draw_letters(game.players[player_name])
        #increment turn list
        game.player_order.append(game.player_order.pop(0))
        #update database
        game.archive(db, archive=game_archive)
    elif swap_form.validate_on_submit():
        #swap_letter
        game.tilebag.swap_letter(game.players[player_name],
                                 swap_form.letter.data)
        #increment turn list
        game.player_order.append(game.player_order.pop(0))
        #update database
        game.archive(db, archive=game_archive)

    #first render the JS
    d3_rack = render_template(
        'js/player.js',
        square=2 * s,
        letter_rack=game.players[player_name].letter_rack,
        num_letters=len(game.players[player_name].letter_rack))
    return render_template('player.html',
                           submit_form=player_form,
                           swap_form=swap_form,
                           name=player_name,
                           your_turn=player_name == game.player_order[0],
                           d3_rack=d3_rack)
Exemple #3
0
def player_view(game_name,player_name):
    """Player Page"""
    #rebuild class instance from SQL request
    game_archive = GameArchive.query.filter_by(game_name=game_name)
    game = Game.unarchive(game_archive)
    #make forms
    player_form = PlayerForm()
    swap_form = SwapLettersForm()
    #validation for play submission
    if player_name != game.player_order[0]:
        pass
    elif player_form.validate_on_submit():
        #parse tile positions
        tile_pos = [(int(r),int(c)) for r,c in zip(player_form.rows.data.split(','), player_form.cols.data.split(','))]
        #play word
        played_word = game.players[player_name].play_word(word=player_form.word_play.data,  tile_pos=tile_pos)
        #place tiles
        coords = game.board.place_tiles(played_word)
        #score word
        game.score_word(coords,player_name)
        #draw letters
        game.tilebag.draw_letters(game.players[player_name])
        #increment turn list
        game.player_order.append(game.player_order.pop(0))
        #update database
        game.archive(db,archive=game_archive)
    elif swap_form.validate_on_submit():
        #swap_letter
        game.tilebag.swap_letter(game.players[player_name],swap_form.letter.data)
        #increment turn list
        game.player_order.append(game.player_order.pop(0))
        #update database
        game.archive(db,archive=game_archive)

    #first render the JS
    d3_rack = render_template('js/player.js',square=2*s,
                                letter_rack=game.players[player_name].letter_rack,
                                num_letters=len(game.players[player_name].letter_rack))
    return render_template('player.html',submit_form=player_form,swap_form=swap_form,
                            name=player_name,your_turn=player_name==game.player_order[0],
                            d3_rack=d3_rack)
Exemple #4
0
def player_view(game_name, player_name):
    """Player Page"""
    #make SQL request
    game_archive = GameArchive.query.filter_by(game_name=game_name)
    #rebuild class instance
    game = unpack_game(game_archive)
    #make submit form
    player_form = PlayerForm()
    #make swap letter form
    swap_form = SwapLettersForm()
    #validation for play submission
    if player_form.validate_on_submit():
        #parse tile positions
        tile_pos = [(int(r), int(c))
                    for r, c in zip(player_form.rows.data.split(','),
                                    player_form.cols.data.split(','))]
        #play word
        played_word = game.players[player_name].play_word(
            word=player_form.word_play.data, tile_pos=tile_pos)
        #place tiles
        game.board.place_tiles(played_word)
        #draw letters
        game.tilebag.draw_letters(game.players[player_name])
        #update database
        update_game(game, game_archive)
    elif swap_form.validate_on_submit():
        #swap_letter
        game.tilebag.swap_letter(game.players[player_name],
                                 swap_form.letter.data)
        #update database
        update_game(game, game_archive)

    return render_template('player.html',
                           submit_form=player_form,
                           swap_form=swap_form,
                           letter_rack=game.players[player_name].letter_rack,
                           num_letters=len(
                               game.players[player_name].letter_rack),
                           name=player_name,
                           square=2 * s)