Lemonade Stand
Group Members
Idea
This is your basic "Lemonade Stand" style game, where the player manages a lemonade stand (or similar such store) and tries to make as much money as possible.
Goals
We're looking to create a workable prototype with the ability to buy materials and sell a product.
Potential Problems
Localization is likely to be a big problem in this game. Not simply translating the words, but also translating the idea, ie. finding out what kind of shop would be reasonable to open in a country, what it might stock, etc.
Wishlist Ideas
Weather patterns impacting sales
Making change (introduction to currency/fractions/small decimals)
Advanced mode: changing the recipie for your "lemonade"
Bargaining/haggling
Random events that may influence supplies and/or cost and/or customers
Potential use of network, competitive or cooperative modes
Code so far
#!/usr/env python
def take_input(text, default = 0):
try:
in_text = input(text+" ["+`default`+"]: ")
except:
return default
return in_text
# default values
cup_price = .25
lemon_price = 1.00
sugar_price = .05
product_price = 1.50
#starting resources
bank = 100
stored_cups = 0
stored_lemons = 0
stored_sugar = 0
# take in input
num_days = take_input("How many days", 30)
for day in range(1, num_days + 1):
print "Day number "+`day`
print "You have "+`stored_cups`+" cups, "+`stored_lemons`+" lemons, and "+`stored_sugar`+" sugar left."
print "Cup price: $"+`cup_price`
print "Lemon price: $"+`lemon_price`
print "Sugar price: $"+`sugar_price`
expenses = 0
in_num = take_input("How many cups")
expenses += in_num * cup_price
stored_cups += in_num
in_num = take_input("How many lemons")
expenses += in_num * lemon_price
stored_lemons += in_num
in_num = take_input("How much sugar")
expenses += in_num * sugar_price
stored_sugar += in_num
today = min(stored_cups, stored_lemons, stored_sugar)
# Option 1: make maximum available
#stored_cups -= today
#stored_lemons -= today
#stored_sugar -= today
#print `today`+" cups made for $"+`expenses`
#default value
requested_sales = 5
sales = min(today, requested_sales)
# Option 2: make as many as requested
stored_cups -= sales
stored_lemons -= sales
stored_sugar -= sales
print `sales`+" cups made for $"+`expenses`
profit = sales * product_price
print `sales`+" cups were sold today for $"+`profit`
print "You made $"+`(profit - expenses)`+" today."
bank += profit - expenses
print "Current funds: $"+`bank`
print "Done!"
Alternate Implementation:
def supplyReduce():
global cups, lemons, ice
if cups != 0:
cups -= 1
if lemons != 0:
lemons -= 1
if ice != 0:
ice -= 1
print "some of your supplys was stolen by ants!"
def makeStuff():
global cups, lemons, ice
made = min(cups, lemons, ice )
cups -= made
lemons -= made
ice -= made
print "You made " + str(made) + " cups of lemonade"
name = 'lemonade stand'
cups = 0
lemons = 0
ice = 0
today = 0
daysToPlay = 0
print "Welcome to " + name
daysToPlay = input("How many days would you like to play for: ")
while today <= daysToPlay:
print " "
print "You have"
print "cups: " + str(cups)
print "lemons: " + str(lemons)
print "ice: " + str(ice)
print " "
try:
cupsToAdd = input("How many cups do you want to buy? ")
cups += cupsToAdd
lemonsToAdd = input("How many lemons do you want to buy? ")
lemons += lemonsToAdd
iceToAdd = input("How much ice do you want to buy? ")
ice += iceToAdd
except:
print "dont break my program"
print " "
makeStuff()
supplyReduce()
today += 1