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)
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)
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")
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")
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")
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")
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")
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)