Ejemplo n.º 1
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')
Ejemplo n.º 2
0
    def _create_game(self, players, columns, rows):
        error = Validators()._validate_board(players, columns, rows)
        if error:
            return error

        # This step is currently not needed. The players table is not used.
        # TODO: replace all player_name references with foreign_key on
        # primary_key
        player_ids = []
        for player in players:
            player_row = Players.query.filter_by(player_name=player).first()
            if player_row is None:
                new_player = Players(player_name=player)
                db.session.add(new_player)
                db.session.commit()
                player_row = Players.query.filter_by(
                    player_name=player).first()
            player_ids.append(player_row.player_name)
        player_ids = ','.join(map(str, player_ids))

        new_game = Games(players=str(player_ids),
                         game_columns=columns,
                         game_rows=rows,
                         game_state="IN_PROGRESS")
        db.session.add(new_game)
        db.session.commit()
        game_id = new_game.game_id
        return jsonify({"gameId": str(game_id)})
Ejemplo n.º 3
0
def add_game():
    camilo = request.get_json()
    game = Games(
        name=camilo["name"],
        category=camilo["category"],
    )
    db.session.add(game)
    db.session.commit()  
    return jsonify(game.to_dict())
Ejemplo n.º 4
0
 def AddNewGame(self):
     game_new = Games(HomeTeamId=self.HomeTeamId,
                      HomeTeamScore=self.HomeTeamScore,
                      AwayTeamId=self.AwayTeamId,
                      AwayTeamScore=self.AwayTeamScore,
                      GameStatusId=self.GameStatusId,
                      GameTypeId=self.GameTypeId,
                      GameDate=self.GameDate,
                      GameLink=self.GameLink)
     self.game_new = game_new
Ejemplo n.º 5
0
def add_title(request):
    newtitle = request.GET['title']
    if newtitle != '':
        try:
            existingGame = Games.objects.get(title=newtitle)
            return render_to_response('gameexist.html')
        except:
            newgame = Games()
            newgame.title = newtitle
            newgame.save()
            us = User.objects.get(username__exact=request.user.username)
            us.employee.lastVoted = datetime.date.today()
            us.employee.save()
            us.save()
            gv = GameVote()
            gv.game_id = newgame
            gv.save()
    return HttpResponseRedirect('/home/')
Ejemplo n.º 6
0
def createNewGame(user_id):
    """instantiates a new game and adds a player to the game"""

    #first check if user is already playing a game
    u = Users.query.get(user_id)
    if u.game_id:
        return [Games.query.get(u.game_id), 'user already playing game']

    while True:
        rand_code = random.randrange(10000, 99999)
        existing_code = Games.query.filter_by(code=rand_code).first()

        if not existing_code:
            g = Games(code=rand_code)
            db.session.add(g)
            db.session.commit()

            u.game_id = g.id
            u.isAdmin = True
            db.session.commit()
            return [g, 'created new game']
Ejemplo n.º 7
0
def create_game_route():
	content = request.json
	game_types = [
		'basic_addition',
		'advanced_addition',
		'basic_subtraction' ,
		'advanced_subtraction',
		'basic_multiplication',
		'advanced_multiplication', 
		'basic_division',
		'advanced_division',
		'basic_mixed',
		'advanced_mixed', 
		'add_fractions',
		'subtract_fractions',
		'multiply_fractions',
		'divide_fractions',
		'simplify_fractions', 
		'angles',
		'perimeter', 
		'area',
		'pythagorean',
		'average',
		'median',
		'range',
		'dollars_and_cents',
		'exponents_and_powers',
		'square_roots'
	]

	if content['game_type'] not in game_types:
		return jsonify({
				'status' : 'error',
				'message' : 'Invalid game type.'
			})
	number_of_questions = int(content['number_of_questions'])

	#MAKE TEMPORARY UNIQUE JOIN CODE
	found_join_code = False
	join_code = ""
	while found_join_code == False:
		join_code = generate_short_code()
		query = Games.query.filter_by(live_game = 1).filter_by(join_code = join_code).first()
		if query == None:
			found_join_code = True

	#CREATE GAME HERE
	game_id = generate_random_string(10,20)
	new_game = Games(
		game_id,
		"public",
		content['game_type'],
		number_of_questions,
		1,
		join_code
	)
	db.session.add(new_game)

	#CREATE QUESTIONS
	for x in range(number_of_questions):
		question_data = create_question(content['game_type'])
		new_question = Questions(
			generate_random_string(10,200),
			game_id,
			x + 1,
			question_data['question_text'],
			question_data['answer']
		)
		db.session.add(new_question)

	db.session.commit()

	return jsonify({
			'status' : 'success',
			'game_id' : game_id
		})
Ejemplo n.º 8
0
    for event in events:
        rot_away = event.rotation_away
        rot_home = event.rotation_home

        # We need to see if we have already stored this game
        result_count = Games.query.filter_by(game_id=event.rundown_id).count()

        if result_count > 0:
            print('Game already exists in DB. Skipping.')

        elif event.event_status == 'STATUS_CANCELED':
            print('Game cancelled. Skipping')

        else:
            game = Games()
            game.game_date = event.datetime
            game.game_id = event.rundown_id
            game.team_away_name = event.team_away_name
            game.team_home_name = event.team_home_name
            game.rotation_away = event.rotation_away
            game.rotation_home = event.rotation_home
            game.event_status = event.event_status
            game.score_away = event.score_away
            game.score_home = event.score_home
            game.winner_away = event.winner_away
            game.winner_home = event.winner_home

            games_added.append(game)
            db.session.add_all(games_added)
            db.session.commit()
Ejemplo n.º 9
0
    def createGame(self, request):
        user = endpoints.get_current_user()
        if not user:
            raise endpoints.UnauthorizedException('Authorization required')
            return newGameMSGout(msg='Not Logged In!',
                                 uv='',
                                 game_id=0,
                                 hint_one='',
                                 hint_two='',
                                 hint_three='')
        email = user.email()
        user2 = Users.query(Users.email == email).get()
        # print user2
        if not user2:
            msg = 'Email Does Not Exist In App. Please Create Account.'
            return newGameMSGout(msg=msg,
                                 uv='',
                                 game_id=0,
                                 hint_one='',
                                 hint_two='',
                                 hint_three='')

        user_id = user2.key.id()
        checkGame = Games \
        .query(ndb.AND(Games.user_id == user_id, Games.active == True)).get()
        if checkGame:
            msg = ''' You already have an active game. That game must be
                finished before starting a new one.
                You Guessed %s Times.''' % checkGame.tries
            return newGameMSGout(msg=msg,
                                 uv='',
                                 game_id=0,
                                 hint_one='',
                                 hint_two='',
                                 hint_three='')

        game = random.choice(options)
        uv = randomVal()

        newGame = Games(user_id=user_id,
                        uv=uv,
                        answer=game['answer'],
                        hint_one=game['hintONE'],
                        hint_two=game['hintTWO'],
                        hint_three=game['hintTHREE'])

        ng = newGame.put()
        # print ng
        ng = ng.id()
        user2.current_game_id = ng
        user2.put()

        taskqueue.add(params={
            'email':
            email,
            'gameInfo':
            'New Game!!! https://gamewai-142922.appspot.com/'
        },
                      url='/tasks/send_newgame_email')

        return newGameMSGout(msg='New Game Created! Guess Who It Is...',
                             uv=newGame.uv,
                             game_id=ng,
                             hint_one=newGame.hint_one,
                             hint_two=newGame.hint_two,
                             hint_three=newGame.hint_three)
Ejemplo n.º 10
0
 def get_form_kwargs(self):
     kwargs = super(SubmitGame, self).get_form_kwargs()
     kwargs['instance'] = Games()
     if self.request.user.is_authenticated():
         kwargs['instance'].name = self.request.user
     return kwargs