Exemple #1
0
def mygame():
    global game_ids
    global first_click
    global x1, y1
    global games_and_users
    if request.method == 'GET':
        game_id = int(request.url.split('=')[1])
        if games_and_users[game_id] and len(games_and_users[game_id]) == 1:
            games_and_users[game_id].append(current_user.name)
        else:
            games_and_users[game_id] = [current_user.name]
        db_sess = db_session.create_session()
        if not db_sess.query(Game).filter(Game.id == game_id).first():
            game = Game(id=game_id, all_figures=NEW_GAME_FIGURES_COORDS_STR)
            db_sess.add(game)
            db_sess.commit()
        all_figures_coords = eval(
            db_sess.query(Game).filter(Game.id == game_id).first().all_figures)
        return render_template('mygame.html',
                               title='My Game',
                               fig=all_figures_coords,
                               func=is_sp_in_slov,
                               st=str,
                               players=games_and_users[game_id])
    if request.method == 'POST':
        game_id = int(request.url.split('=')[1])
        db_sess = db_session.create_session()
        if not db_sess.query(Game).filter(Game.id == game_id).first():
            game = Game(id=game_id, all_figures=NEW_GAME_FIGURES_COORDS_STR)
            db_sess.add(game)
            db_sess.commit()
        if first_click is False:
            x1, y1 = int(list(request.form)[0][0]), int(
                list(request.form)[0][1])
            first_click = True
        else:
            db_sess = db_session.create_session()
            x2, y2 = int(list(request.form)[0][0]), int(
                list(request.form)[0][1])
            all_figures_coords = eval(
                db_sess.query(Game).filter(
                    Game.id == game_id).first().all_figures)
            board = Board(all_figures_coords)
            board_answer = board.make_move(x1, y1, x2, y2)
            if board_answer is True:
                game = db_sess.query(Game).filter(Game.id == game_id).first()
                slov = str(board.return_all_figures())
                game.all_figures = slov
                db_sess.commit()
            first_click = False
        all_figures_coords = eval(
            db_sess.query(Game).filter(Game.id == game_id).first().all_figures)
        return render_template('mygame.html',
                               title='My Game',
                               fig=all_figures_coords,
                               func=is_sp_in_slov,
                               st=str,
                               players=games_and_users[game_id])
Exemple #2
0
def game():
    db_sess = db_session.create_session()
    games = db_sess.query(Game)
    form = GameForm()
    if form.validate_on_submit():
        game2 = Game()
        game2.designation = form.title.data
        game2.short_description_of_game = form.short_content.data
        game2.full_description_of_game = form.full_content.data
        game2.price = form.price.data
        current_user.games.append(game2)
        file = request.files['file']
        if file:
            filename = secure_filename(file.filename)
            file_path = os.path.join(app.config['UPLOAD_FOLDER'], filename)
            file.save(file_path)
            game2.icon = filename
        file1 = request.files['file1']
        if file1:
            filename1 = secure_filename(file1.filename)
            file_path1 = os.path.join(app.config['UPLOAD_FOLDER'], filename1)
            file1.save(file_path1)
            game2.game_files = filename1
        if db_sess.query(Game).filter(
                Game.designation == form.title.data).first():
            return render_template('game.html',
                                   form=form,
                                   message="Игар с таким названием уже есть!")
        db_sess.merge(current_user)
        db_sess.commit()
        return redirect('/shop')
    return render_template("game.html", form=form, games=games)
Exemple #3
0
def create_gamerow(release_date, name, meta_score, image_url, genre,
                   actual_cost) -> Game:
    game = Game()

    game.release_date = release_date
    game.name = name
    game.meta_score = meta_score
    game.image_url = image_url
    game.genre = genre
    game.actual_cost = actual_cost

    game.save()

    add_tracker_update(game, game.actual_cost)

    return game
Exemple #4
0
def update_game(selected_game: Game, release_date, name, meta_score, image_url,
                genre, actual_cost):
    game = Game.objects(id=selected_game.id).first()

    # todo: implement update not mached fileds

    add_tracker_update(game, game.actual_cost)
    return None
Exemple #5
0
def game_make_move(row, col, mode):
    current_user = check_if_user_signed_in(request.cookies, db_sess)
    g = Game.get_last_game(current_user, db_sess)
    g.make_move(int(col), int(row), mode, db_sess)
    # params = {
    #     "users": User.all(db_sess),
    #     "current_user": current_user
    # }
    return redirect("/users/game")
Exemple #6
0
def add_tracker_update(selected_game: Game, actual_cost: float) -> Game:
    tracker = Tracker()
    tracker.date = datetime.datetime
    tracker.cost = actual_cost

    game = Game.objects(id=selected_game.id).first()
    game.trackers.append(tracker)
    game.save()

    return game
Exemple #7
0
def game():
    current_user = check_if_user_signed_in(request.cookies, db_sess)
    if not current_user:
        return redirect("/")

    g = Game.get_last_game(current_user, db_sess)
    your_mode = "X"
    if g.user_1_id != current_user.id:
        your_mode = "0"
    params = {
        "current_user": current_user,
        "game_in_html": g.to_html(current_user),
        "user_1": User.find_by_id(g.user_1_id, db_sess),
        "user_2": User.find_by_id(g.user_2_id, db_sess),
        "your_mode": your_mode
    }

    return render_template("game.html", **params)
Exemple #8
0
def start_game():
    db = db_session.create_session()

    lobby = db.query(Lobby).filter(
        or_(Lobby.p1 == current_user.id, Lobby.p2 == current_user.id)).first()
    players = [lobby.p1, lobby.p2]

    game = Game(lobby_id=lobby.id,
                players=";".join(list(map(str, players))),
                size=19)

    db.add(game)
    db.commit()

    session['lobby_id'] = lobby.id
    if players[0] and players[1]:
        emit("game_redirect", {"id": session['lobby_id']}, room=lobby.id)
    else:
        emit("no_player", room=lobby.id)
Exemple #9
0
from data.db_session import create_session, global_init
from data.games import Game
import random
global_init('db/db.sqlite')
session = create_session()
game = Game()
id = random.randint(1000000, 10000000)
while session.query(Game).get(id):
    id = random.randint(1000000, 10000000)
game.id = id
game.name = input("название: ")
game.cost = int(input("цена: "))
game.rating = str(input("возраст: "))
game.description = input("описание: ")
game.image = input("путь к изображению: ")
session.add(game)
session.commit()

Exemple #10
0
def find_game_by_name_and_release(name, release) -> Game:
    game = Game.objects().filter(name=name, release_date=release).first()
    return game