def ready(room): print('hi') user = flask.session.get('user') if user is None: user = secrets.token_hex(8) print('user was none') flask.session['user'] = user db.child('games').child(room).child('players').child(user).child( 'ready').set(True) players = db.child('games').child(room).child( 'players').shallow().get().val() if len(players) >= 4: all_ready = True for key in players: if not db.child('games').child(room).child('players').child( key).child('ready').get().val(): all_ready = False break if all_ready: initialize_game() context = {} return flask.jsonify(**context)
def call_trump(room): curr = time.time() db.child('games').child(room).child('trump').child(curr).set({ 'player': 0, 'card': 1, 'quantity': 1 }) pass
def heart(room): user = flask.session.get('user') if user is None: user = secrets.token_hex(8) print('user was none') flask.session['user'] = user curr = int(time.time()) print('heart', user, curr) if db.child('games').child(room).child('players').child( user).get().val() is None: context = {'disconnected': True} return flask.jsonify(**context) players = list( db.child('games').child(room).child('players').shallow().get().val()) heartbeats = db.child('heartbeats') heartbeats.child(user).set(curr) for key in players: if key != user: t = db.child('heartbeats').child(key).get().val() if t is not None and curr - t > NUM_HEARTS: print(key, 'disconnected', curr, t) game_state = db.child('games').child(room).child( 'state').get().val() if game_state == 'waiting': db.child('heartbeats').child(key).remove() db.child('games').child(room).child('players').child( key).remove() context = {} return flask.jsonify(**context)
def leave(room): print('tears') user = flask.session.get('user') if user is None: user = secrets.token_hex(8) print('user was none') flask.session['user'] = user db.child('games').child(room).child('players').child(user).remove() context = {} return flask.jsonify(**context)
def not_ready(room): print('bye') user = flask.session.get('user') if user is None: user = secrets.token_hex(8) print('user was none') flask.session['user'] = user db.child('games').child(room).child('players').child(user).child( 'ready').set(False) context = {} return flask.jsonify(**context)
def display(): # user = firebase.auth().currentUser; user = flask.session.get('user') if user is None: user = secrets.token_hex(8) print('user was none') flask.session['user'] = user if db.child('games').child(room).child('players').child( user).get().val() is None: curr = time.time() db.child('games').child(room).child('players').child(user).set({ 'entry': curr, 'ready': False }) db.child('heartbeats').child(user).set(curr) context = { 'jsfile': 'room_bundle.js', 'user': user, } return flask.render_template("base.html", **context)
def initialize_game(): db.child('games').child(room).child('state').set('playing')