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)
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)
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)
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)