示例#1
0
def home():
    '''home(): homepage checks if user is in session and gets info on money, score, profile picture, username, and flag of user'''
    username = session['username']
    owner = session['username']  #owner of the profile
    if (request.args):  #if querystring exists
        if ('user' in request.args
            ):  #if username was given, display that user's profile
            username = request.args['user']
        elif ('value' in request.args):  #if value of profile picture given
            db_manager.updatePic(username, request.args['value'])
    isOwner = False
    if (owner == username):  #if logged-in user matches owner of profile
        isOwner = True
    pic = db_manager.getPic(username)
    score = db_manager.getScore(username)
    money = db_manager.getMoney(username)
    stats = db_manager.getStats(username).items()
    games = db_manager.getGames(username, owner)
    flag = db_manager.getFlag(username)
    return render_template("home.html",
                           home="active",
                           user=username,
                           pic=pic,
                           score=score,
                           money=money,
                           stats=stats,
                           games=games,
                           isOwner=isOwner,
                           flag=flag)
示例#2
0
def fortune():
    '''def furtune(): process user's request to spin wheel of fortune'''
    nums = [
        1000, 3250, 1800, 1000, 1200, 3750, -1, 1000, 3000, 1600, 1000, 3500,
        1000, 2000, 1000, 2750, 0, 4000, -1, 1000, 2500, 1400, 1000, 2250
    ]
    angle = random.randint(1, 360)
    spin = db_manager.updateTime(session['username'])
    m = ""
    speed = 0
    if (spin != "NONE"):
        session['winnings'] = nums[round(angle / 15)]
        if (session['winnings'] > 0):
            m = "Congrats! You won $" + str(session['winnings']) + "!"
            db_manager.updateMoney(session['username'], session['winnings'])
        elif (session['winnings'] == 0):
            m = "You didn't win anything :( Better Luck Next Time!"
        else:
            m = "OH NO! You are Bankrupt!"
            db_manager.updateMoney(
                session['username'],
                -1 * db_manager.getMoney(session['username']))
        function = "randomSpin(" + str(
            (1080 + angle) / 50) + ",'" + m + "','" + spin + "')"
    else:
        spin = db_manager.getTime(session['username'])
        function = "timer('" + spin + "')"
    return render_template('wheel.html', fun=function)
示例#3
0
def roulette():
    '''def roulette(): allows user to place bet for roulette game'''
    user = session['username']
    if request.method == 'GET':
        money = db_manager.getMoney(user)
        return render_template("roulette.html",
                               betting=True,
                               money=money,
                               games="active",
                               one=row_one.items(),
                               two=row_two.items(),
                               three=row_three.items())
    else:
        bet = int(float(request.form['bet']))
        options = request.form.getlist('options')
        if len(options) == 0 or not db_manager.checkBet(user, bet):
            flash(
                "Please enter a valid bet and choose at least one betting option!",
                'alert-danger')
            return redirect(url_for("roulette"), code=303)
        rand = random.randrange(1, 37)
        multiplier = rouletteH(rand, options)
        amount = multiplier * bet
        db_manager.updateMoney(user, amount)
        lost = False
        if (amount < 0):
            lost = True
            amount *= -1
        money = db_manager.getMoney(user)
        color = all_rows[str(rand)]
        return render_template("roulette.html",
                               betting=False,
                               money=money,
                               options=options,
                               bet=len(options) * bet,
                               amount=amount,
                               lost=lost,
                               result=rand,
                               color=color,
                               games="active")
示例#4
0
def dice():
    '''def dice(): allows user to place bet for dice game'''
    user = session['username']
    if request.method == 'GET':
        money = db_manager.getMoney(user)
        return render_template("dice.html",
                               betting=True,
                               money=money,
                               games="active")
    else:
        bet = int(float(request.form['bet']))
        options = request.form.getlist('options')
        if len(options) == 0 or not db_manager.checkBet(user, bet):
            flash(
                "Please enter a valid bet and choose at least one betting option!",
                'alert-danger')
            return redirect(url_for("dice"), code=303)
        u = urllib.request.urlopen("http://roll.diceapi.com/json/3d6")
        response = json.loads(u.read())['dice']
        dice = []
        for roll in response:
            dice.append(roll['value'])
        multiplier = diceH(dice, options)
        amount = multiplier * bet
        db_manager.updateMoney(user, amount)
        lost = False
        if (amount < 0):
            lost = True
            amount *= -1
        money = db_manager.getMoney(user)
        return render_template("dice.html",
                               dice=dice,
                               betting=False,
                               money=money,
                               options=options,
                               bet=len(options) * bet,
                               amount=amount,
                               lost=lost,
                               games="active")
示例#5
0
def profile():
    '''def profile(): allows user to update their profile and view their purchases'''
    user = session['username']
    tickets = db_manager.getTickets(user)
    notickets = True
    if len(tickets["A"]) + len(tickets["B"]) + len(tickets["C"]) > 0:
        notickets = False
    money = db_manager.getMoney(user)
    return render_template("profile.html",
                           user=user,
                           money=money,
                           notickets=notickets,
                           tickets=tickets.items(),
                           profile="active")
示例#6
0
def lotto():
    '''def lotto(): scratch ticket generator and handles lotto transactions'''
    username = session['username']
    x = [
        "307px", "201px", "95px", "307px", "201px", "95px", "307px", "201px",
        "95px", "307px", "201px", "95px"
    ]
    y = [
        "270px", "270px", "270px", "340px", "340px", "340px", "415px", "415px",
        "415px", "485px", "485px", "485px"
    ]
    loop = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    if request.method == 'GET':  #scratch the ticket
        if request.args.get("id"):
            id = request.args.get("id")
            valid = db_manager.checkId(id)
            if valid:
                claimed = db_manager.getClaimed(
                    id)  #check if ticket has been claimed already
                if claimed:
                    flash(
                        "This ticket has been redeemed already. You have been redirected to the store.",
                        'alert-primary')
                    return redirect(url_for("store"))
                num = db_manager.getNum(id)
                for i in range(len(num)):
                    if (num[i] == 1):
                        num[i] = "one.png"
                    if (num[i] == 2):
                        num[i] = "two.png"
                    if (num[i] == 3):
                        num[i] = "three.png"
                    if (num[i] == 4):
                        num[i] = "four.png"
                    if (num[i] == 5):
                        num[i] = "five.png"
                    if (num[i] == 6):
                        num[i] = "six.png"
                    if (num[i] == 7):
                        num[i] = "seven.png"
                    if (num[i] == 8):
                        num[i] = "eight.png"
                    if (num[i] == 9):
                        num[i] = "nine.png"
                    if (num[i] == 0):
                        num[i] = "zero.png"
                type = db_manager.getType(id)
                return render_template("lottery.html",
                                       xpos=x,
                                       ypos=y,
                                       id=id,
                                       type=type,
                                       numbers=num,
                                       index=loop,
                                       usermoney=db_manager.getMoney(username),
                                       store="active")
            else:  #invalid id
                flash(
                    "Invalid ID for lottery ticket. You have been redirected to the store.",
                    'alert-danger')
                return redirect(url_for('store'))
        else:  #no id
            flash(
                "No ID was provided for lottery ticket. You have been redirected to the store.",
                'alert-danger')
            return redirect(url_for('store'))
    else:  #claim prizes
        id = request.args.get('id')
        claimed = db_manager.getClaimed(
            id)  #check if ticket has been claimed already
        if claimed:
            flash(
                "Your prize has been claimed already. You have been redirected to the store.",
                'alert-primary')
            return redirect(url_for("store"))
        else:
            num = db_manager.getNum(id)
            for i in range(len(num)):
                if (num[i] == 1):
                    num[i] = "one.png"
                if (num[i] == 2):
                    num[i] = "two.png"
                if (num[i] == 3):
                    num[i] = "three.png"
                if (num[i] == 4):
                    num[i] = "four.png"
                if (num[i] == 5):
                    num[i] = "five.png"
                if (num[i] == 6):
                    num[i] = "six.png"
                if (num[i] == 7):
                    num[i] = "seven.png"
                if (num[i] == 8):
                    num[i] = "eight.png"
                if (num[i] == 9):
                    num[i] = "nine.png"
                if (num[i] == 0):
                    num[i] = "zero.png"
            winnings = db_manager.claimPrize(username, id)
            type = db_manager.getType(id)
            if (winnings == 0):
                flash("No winnings. Better luck next time!", 'alert-danger')
            else:
                flash(
                    "Congratulations! You have claimed $" + str(winnings) +
                    "!", 'alert-success')
            return render_template("lottery.html",
                                   xpos=x,
                                   ypos=y,
                                   numbers=num,
                                   index=loop,
                                   type=type,
                                   prizes=True,
                                   usermoney=db_manager.getMoney(
                                       session['username']),
                                   store="active")
示例#7
0
def slot():
    '''def slot(): placing and checking bets'''
    username = session['username']
    if request.args.get('slotbet'):
        bet = request.args.get('slotbet')
        if bet == "" or float(bet) < 100 or float(bet) > db_manager.getMoney(
                username):
            bet = 100
            flash("Please place a valid bet.", 'alert-danger')
            return render_template("slotmachine.html",
                                   primarybet=bet,
                                   bet=0,
                                   image1=dict[random.choice(slotImages)],
                                   image2=dict[random.choice(slotImages)],
                                   image3=dict[random.choice(slotImages)],
                                   usermoney=db_manager.getMoney(username),
                                   money=0,
                                   colour="#FFD700",
                                   games="active",
                                   check="false")
        else:
            bet = int(float(bet))
            db_manager.updateMoney(session['username'], -bet)
            rand1 = random.choice(slotImages)
            rand2 = random.choice(slotImages)
            rand3 = random.choice(slotImages)
            random.shuffle(slots)
            images = [
                dict[slots[0]], dict[slots[1]], dict[slots[2]], dict[slots[3]],
                dict[slots[4]], dict[slots[5]]
            ]
            if rand1 == rand2 and rand2 == rand3:
                if rand1 == "lemon":
                    db_manager.updateMoney(session['username'], bet)
                    money = bet
                if rand1 == "cherry":
                    db_manager.updateMoney(session['username'], 2 * bet)
                    money = 2 * bet
                if rand1 == "clover":
                    db_manager.updateMoney(session['username'], 3 * bet)
                    money = 3 * bet
                if rand1 == "heart":
                    db_manager.updateMoney(session['username'], 4 * bet)
                    money = 4 * bet
                if rand1 == "diamond":
                    db_manager.updateMoney(session['username'], 5 * bet)
                    money = 5 * bet
                if rand1 == "dollars":
                    db_manager.updateMoney(session['username'], 6 * bet)
                    money = 6 * bet
                colour = "green"
            else:
                money = 0
                colour = "#FFD700"
            return render_template("slotmachine.html",
                                   primarybet=bet,
                                   bet=bet,
                                   image1=dict[rand1],
                                   image2=dict[rand2],
                                   image3=dict[rand3],
                                   usermoney=db_manager.getMoney(username),
                                   money=money,
                                   colour=colour,
                                   games="active",
                                   check="true",
                                   images=images)
    else:
        bet = 100
        money = 0
        return render_template("slotmachine.html",
                               primarybet=bet,
                               bet=0,
                               image1=dict[random.choice(slotImages)],
                               image2=dict[random.choice(slotImages)],
                               image3=dict[random.choice(slotImages)],
                               usermoney=db_manager.getMoney(username),
                               money=0,
                               colour="#FFD700",
                               games="active",
                               check="false")
示例#8
0
def home():
    '''def home(): homepage checks if user is in session and gets info on user'''
    user = session['username']
    money = db_manager.getMoney(user)
    return render_template("home.html", user=user, home="active", money=money)