Example #1
0
def index(resulte=None):
    game_played = Games.select().order_by(Games.game_id.desc()).count()
    query = Users.select(
        Users.user_name,
        peewee.fn.COUNT(Users.user_name).alias('total_points')).join(
            Games).join(GameResulte).group_by(Users.user_name).order_by(
                peewee.fn.COUNT(Users.user_name).desc()).limit(3)
    top_players = []
    try:
        for user in query:
            top_players += [{
                'name': user.user_name,
                "total_points": user.total_points
            }]
    except peewee.ProgrammingError as err:
        print(err)
    if 'resulte' in session:
        resulte = str(session['resulte'])
        session.pop('resulte', None)
        return render_template('index.j2',
                               game_played=game_played,
                               top_players=top_players,
                               resulte=resulte)
    return render_template('index.j2',
                           game_played=game_played,
                           top_players=top_players)
Example #2
0
def answer():
    if request.method == 'GET':
        return render_template('game.j2')
    if 'game_id' not in session and 'user_name' in session:
        filde = {'user_name': session['user_name']}
        game_play = Games(**filde)
        game_play.save()
        game_id = Games.select().order_by(Games.game_id.desc()).get()
        game_id = model_to_dict(game_id)['game_id']
        session['game_id'] = game_id
    answer = str(request.form['answer'])
    if 'riddle' in session:
        if answer.lower() == session['riddle']['answer'].lower():
            fields = {
                'game_result': True,
                'riddle': session['riddle']['id'],
                'game': session['game_id']
            }
            GameResulte(**fields).save()
            session.pop('riddle', None)
            return redirect(url_for('game'))
        else:
            resulte = 0
            resulte = GameResulte.select().where(
                GameResulte.game == session['game_id']).count()
            if not resulte:
                resulte = 'game over'
            session.pop('game_id', None)
            session.pop('riddle', None)
            session['resulte'] = resulte
            return redirect(url_for('index'))
    return render_template('game.j2')