Exemplo n.º 1
0
def redeem_processed():
    if "username" not in session:
        return redirect(url_for("login"))

    # Make sure we have all the required fields
    if all(keys in ["email", "currency", "amount"]
           for keys in request.form.keys()):
        # Make sure we are withdrawing integers only
        if "." in str(request.form["amount"]):
            flash("Please withdraw WHOLE NUMBERS MAWDollars only")
            return redirect(url_for(".redeem"))

        requested_MAWDollars = int(request.form["amount"])
        current_balance = get_balance(session["username"])
        if current_balance < requested_MAWDollars:
            flash(
                f"You do not have enough MAWDollars. (Requested {request.form['amount']} MAWDollar(s). Have {current_balance} MAWDollar(s))"
            )
            return redirect(url_for(".redeem"))
        else:
            update_balance(
                session["username"],
                get_balance(session["username"]) - requested_MAWDollars)
            amount_currency = MAWDollars_to_currency(requested_MAWDollars,
                                                     request.form["currency"])
            return render_template("payment/redeem_result.html",
                                   amount_MAWD=requested_MAWDollars,
                                   amount_currency=amount_currency,
                                   currency=request.form["currency"])
    else:
        flash("Please fill out al fields")
        return redirect(url_for(".redeem"))
Exemplo n.º 2
0
def pay_processed():
    if "username" not in session:
        return redirect(url_for("login"))

    if "go_back" in request.form:
        if "current_game" in session:
            return redirect(url_for(session["current_game"]))
        else:
            return redirect(url_for("game"))

    # Make sure user filled out all categories
    if all(keys in ["card_number", "month", "year", "cvv", "pay_amount"]
           for keys in request.form.keys()):
        # All fields filled out

        update_balance(
            session["username"],
            get_balance(session["username"]) + int(request.form["pay_amount"]))
        return render_template("payment/result.html",
                               pay_amount=request.form["pay_amount"])
    else:
        flash("Please fill out all fields")
        return redirect(url_for(".pay"))
Exemplo n.º 3
0
def bet():
    if "username" not in session:
        return redirect(url_for("login"))
    print("Choosing amount to bet on")
    if "current_game" not in session:
        return redirect(url_for("game"))

    # If user leaves midgame to bet page, we do not want to double charge
    if session["paid"]:
        return redirect(url_for(session["current_game"]))

    if "add_funds" in request.args:
        print("User is adding funds:")
        return redirect(url_for("payment.pay"))
    elif "spending_amount" in request.args:
        print("User is spending: " + request.args["spending_amount"])
        new_balance = database_query.get_balance(session["username"]) - int(
            request.args["spending_amount"])
        if new_balance < 0:
            print("Not enough in user's balance")
            flash("Not enough money in your account, please add more")
        else:
            print("Entering " + session["current_game"])
            database_query.update_balance(session["username"], new_balance)
            session["paid"] = True
            session["bet_amount"] = int(request.args["spending_amount"])
            if session["current_game"] == "to21":
                return redirect(url_for("to21initilize"))
            return redirect(url_for(session["current_game"]))
    elif "go_back" in request.args:
        print("Did not pay. Leaving " + session["current_game"])
        del session["current_game"]
        return redirect(url_for("game"))
    elif "instruction" in request.args:
        print("Request information for " + session["current_game"])
        return redirect(url_for("instruction"))
    return render_template("bet.html", game=session["current_game"])
Exemplo n.º 4
0
def to21results():
    if "username" not in session:
        return redirect(url_for("login"))

    del session["current_game"]
    session["paid"] = False

    #VARIABLES
    deckid = help.getdeckid()
    userCurrentAmount = help.getUserAmt()
    userNumCards = help.getUserNumCards()
    userTemp = 0
    dealerTemp = 0
    additionalCards = 0

    #dealer "ai"
    while help.getDealerAmt() < 18:
        cardData = help.drawCard(deckid)
        cardValue = help.getValue(cardData)
        cardImage = help.getImage(cardData)
        newVal = cardValue
        if newVal == 1:
            if (userCurrentAmount + 10) <= 21:
                newVal = 11
            else:
                newVal = 1
        session["dealerHand"].append(cardImage)
        newVal += help.getDealerAmt()
        numCards = help.getDealerNumCards()
        numCards += 1
        command = "UPDATE gameinfo SET dealerTotal = '{}', dealerNumCards = '{}';".format(
            newVal, numCards)
        help.runsqlcommand(command)
        additionalCards += 1
    additionalCards = str(additionalCards)
    dealerCurrentAmount = help.getDealerAmt()
    dealerNumCards = help.getDealerNumCards()

    #CALCULATE AUTOMATIC WINS AND LOSSES
    #if user and dealer exceed 21
    if userCurrentAmount > 21 and dealerCurrentAmount > 21:
        message = "Y'all tied! Everyone keeps their MAWDollars."

        current_balance = database_query.get_balance(session["username"])
        new_balance = current_balance + session["bet_amount"]
        database_query.update_balance(session["username"], new_balance)

        print("both parties over 21")
        return render_template("to21results.html",
                               userCards=session["userHand"],
                               dealerCards=session["dealerHand"],
                               ac=additionalCards,
                               message=message,
                               UCA=userCurrentAmount,
                               DCA=dealerCurrentAmount)

    #if dealer exceeds 21
    if userCurrentAmount <= 21 and dealerCurrentAmount > 21:
        message = "You won and doubled your wager!"

        current_balance = database_query.get_balance(session["username"])
        new_balance = current_balance + session["bet_amount"] + session[
            "bet_amount"]
        database_query.update_balance(session["username"], new_balance)

        print("dealer over 21")
        return render_template("to21results.html",
                               userCards=session["userHand"],
                               dealerCards=session["dealerHand"],
                               ac=additionalCards,
                               message=message,
                               UCA=userCurrentAmount,
                               DCA=dealerCurrentAmount)

    #if user exceeds 21
    if userCurrentAmount > 21 and dealerCurrentAmount <= 21:
        message = "You lost the game and your wager!"

        current_balance = database_query.get_balance(session["username"])
        bet_amount = session["bet_amount"]
        new_balance = current_balance
        database_query.update_balance(session["username"], new_balance)

        print("user over 21")
        return render_template("to21results.html",
                               userCards=session["userHand"],
                               dealerCards=session["dealerHand"],
                               ac=additionalCards,
                               message=message,
                               UCA=userCurrentAmount,
                               DCA=dealerCurrentAmount)

    #CALCULATE IF BOTH PARTIES FALL UNDER 21
    if userCurrentAmount < 21:
        userTemp = 21 - userCurrentAmount
    if dealerCurrentAmount < 21:
        dealerTemp = 21 - dealerCurrentAmount

    #simple tie
    if userTemp == dealerTemp:
        message = "Y'all tied! Everyone keeps their MAWDollars."

        current_balance = database_query.get_balance(session["username"])
        bet_amount = session["bet_amount"]
        new_balance = current_balance + bet_amount
        database_query.update_balance(session["username"], new_balance)

        print("tie, same score")
        return render_template("to21results.html",
                               userCards=session["userHand"],
                               dealerCards=session["dealerHand"],
                               ac=additionalCards,
                               message=message,
                               UCA=userCurrentAmount,
                               DCA=dealerCurrentAmount)

    #user wins
    if userTemp < dealerTemp:
        message = "You won and doubled your wager!"

        current_balance = database_query.get_balance(session["username"])
        bet_amount = session["bet_amount"]
        new_balance = current_balance + bet_amount + bet_amount
        database_query.update_balance(session["username"], new_balance)

        print("user wins")
        return render_template("to21results.html",
                               userCards=session["userHand"],
                               dealerCards=session["dealerHand"],
                               ac=additionalCards,
                               message=message,
                               UCA=userCurrentAmount,
                               DCA=dealerCurrentAmount)

    #dealer wins
    else:
        message = "You lost the game and your wager!"

        current_balance = database_query.get_balance(session["username"])
        bet_amount = session["bet_amount"]
        new_balance = current_balance
        database_query.update_balance(session["username"], new_balance)

        print("dealer wins")
        return render_template("to21results.html",
                               userCards=session["userHand"],
                               dealerCards=session["dealerHand"],
                               ac=additionalCards,
                               message=message,
                               UCA=userCurrentAmount,
                               DCA=dealerCurrentAmount)
Exemplo n.º 5
0
                               dealerCards=session["dealerHand"],
                               ac=additionalCards,
                               message=message,
                               UCA=userCurrentAmount,
                               DCA=dealerCurrentAmount)

    #dealer wins
    else:
        message = "You lost the game and your wager!"

        current_balance = database_query.get_balance(session["username"])
        bet_amount = session["bet_amount"]
        new_balance = current_balance
        database_query.update_balance(session["username"], new_balance)

        print("dealer wins")
        return render_template("to21results.html",
                               userCards=session["userHand"],
                               dealerCards=session["dealerHand"],
                               ac=additionalCards,
                               message=message,
                               UCA=userCurrentAmount,
                               DCA=dealerCurrentAmount)


if __name__ == "__main__":
    app.debug = True
    app.jinja_env.globals.update(
        get_balance=lambda: database_query.get_balance(session["username"]))
    app.run()
Exemplo n.º 6
0
def pokemon_result():
    # Must be logged in to play
    if "username" not in session:
        return redirect(url_for("login"))

    # Make sure the user is playing the pokemon game
    if "current_game" not in session or session["current_game"] != "pokemon_game.pokemon":
        # User did not select a game or user is playing another game
        return redirect(url_for(".pokemon"))

    # User must select a pokemon to reach this page
    if len(request.form) != 1 or "pokemon_selected" not in request.form:
        return redirect(url_for(".pokemon"))

    if ("game_state" not in session) or session["game_state"] != "selecting":
        return redirect(url_for(".pokemon"))

    session["game_state"] = "result"
    user_selected_pokemon = get_pokemon(request.form["pokemon_selected"])
    # Make sure the pokemon selected is one that the user was given
    if user_selected_pokemon.name not in session["user_pokemons"]:
        print("Pokemon {} was not given to user".format(user_selected_pokemon.name))
        del session["game_state"]
        session["paid"] = False
        session["bet_amount"] = 0
        del session["computer_selected_pokemon"]
        del session["computer_pokemons"]
        del session["user_pokemons"]
        del session["current_game"]
        return "Nice try cheating, still took your money though"
    else:
        user_change_balance = user_balance_lost(user_selected_pokemon.name, session["computer_selected_pokemon"],
                                                session["bet_amount"])
        user_current_balance = get_balance(session["username"])
        if user_change_balance == 0:
            winner_message = "Tie!"
            balance_message = f"The {session['bet_amount']} MAWDollars you bet was returned"
            new_balance = user_current_balance + session["bet_amount"]
        elif user_change_balance > 0:
            winner_message = "You won!"
            # If user won, he/she gets back what was bet and what was won
            new_balance = user_current_balance + session["bet_amount"] + user_change_balance
            balance_message = f"You won {user_change_balance}"
        else:
            winner_message = "You lost"
            # If user lost, he/she lost what was bet and what was lost
            new_balance = user_current_balance + user_change_balance
            balance_message = f"You lost {-user_change_balance}"

        print("User old balance: {}\nUser new Balance: {}".format(user_current_balance, new_balance))
        update_balance(session["username"], new_balance)

    computer_slected_pokemon = get_pokemon(session["computer_selected_pokemon"])
    computer_pokemons = [get_pokemon(name) for name in session["computer_pokemons"]]
    user_pokemons = [get_pokemon(name) for name in session["user_pokemons"]]

    del session["game_state"]
    session["paid"] = False
    session["bet_amount"] = 0
    del session["computer_selected_pokemon"]
    del session["computer_pokemons"]
    del session["user_pokemons"]
    del session["current_game"]

    return render_template("pokemon/result.html",
                           computer_pokemons=computer_pokemons,
                           computer_selected_pokemon=computer_slected_pokemon,
                           user_pokemons=user_pokemons,
                           user_selected_pokemon=user_selected_pokemon,
                           winner_message=winner_message,
                           balance_message=balance_message)
Exemplo n.º 7
0
def rickandmorty_result():
    # print(session["correct_ans"])
    # print(request.form["answer"])
    # Must be logged in to play
    if "username" not in session:
        return redirect(url_for("login"))

    # Make sure the user is playing the pokemon game
    if "current_game" not in session or session[
            "current_game"] != "rickandmorty_game.rickandmorty":
        # User did not select a game or user is playing another game
        return redirect(url_for(".rickandmorty"))

    if ("game_state" not in session) or session["game_state"] != "selecting":
        return redirect(url_for(".rickandmorty"))

    if len(request.form) != 3:
        return redirect(url_for(".rickandmorty"))

    session["game_state"] = "result"
    user_ans_1 = request.form["answer"]
    user_ans_2 = request.form["answer1"]
    user_ans_3 = request.form["answer2"]
    user_ans_list = [user_ans_1, user_ans_2, user_ans_3]
    user_change_balance = user_balance_lost_rickandmorty(
        user_ans_list, session["correct_ans"], session["bet_amount"])
    user_current_balance = get_balance(session["username"])

    bet_amt = session["bet_amount"]
    half_bet_amt = session["bet_amount"] * .5
    if user_change_balance == session["bet_amount"]:
        winner_message = "You broke even!"
        balance_message = f"The {session['bet_amount']} MAWDollars you bet was returned"
        new_balance = user_current_balance + session["bet_amount"]
    elif user_change_balance > session["bet_amount"]:
        winner_message = "You won!"
        # If user won, he/she gets back what was bet and what was won
        new_balance = user_current_balance + user_change_balance
        balance_message = f"You won {user_change_balance} MAWDollars"
    elif user_change_balance == 0:
        winner_message = "You lost"
        new_balance = user_current_balance + user_change_balance
        balance_message = f"You lost {bet_amt} MAWDollars"
    else:
        winner_message = "You lost"
        # If user lost, he/she lost what was bet and what was lost
        new_balance = user_current_balance + user_change_balance
        balance_message = f"You lost {half_bet_amt} MAWDollars"

    print("User old balance: {}\nUser new Balance: {}".format(
        user_current_balance, new_balance))
    update_balance(session["username"], new_balance)

    correct_answers = session["correct_ans"]
    character_images = [
        get_character_image(name) for name in session["correct_ans"]
    ]
    del session["game_state"]
    session["paid"] = False
    session["bet_amount"] = 0
    del session["correct_ans"]
    del session["correct_ans_index"]
    del session["wrong_ans"]
    del session["current_game"]

    return render_template("rickandmorty/result.html",
                           winner_message=winner_message,
                           balance_message=balance_message,
                           correct_ans=correct_answers,
                           images=character_images)