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])
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)
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
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
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")
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
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)
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)
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()
def find_game_by_name_and_release(name, release) -> Game: game = Game.objects().filter(name=name, release_date=release).first() return game