Trader Game
simple functions.py
import random
#for colours only in IDLE:
#import sys
#colour = sys.stdout.shell
#global variables:
tradeprice = 0
stocks = 0
money = 10
hours = 12
def newTradePrice():
global tradeprice
tradeprice = random.randint(1,20)
def statusUpdate():
global money, stocks, hours, tradeprice
print("-------------------------")
print("Your money: $" + str(money))
print("Stocks owned:", stocks)
print("Hours remaining:", hours)
print("Current trade price: $" + str(tradeprice))
print("-------------------------")
def getChoice():
return input("""(B) for buy
(S) for sell
(W) for wait
-------------------------
Type letter of choice here: """).strip().upper()
def buyStocks():
global stocks, tradeprice, money
amount = int(input("How many stocks to buy: "))
cost = amount * tradeprice
if (cost <= money):
money = money - cost
stocks = stocks + amount
outputText = "Bought " + str(amount) + " stocks, which cost $" + str(cost)
print(outputText + ".\n") #colour.write(outputText + ".\n","COMMENT")
else:
print("Insufficient funds.\n") #colour.write("Insufficient funds.\n","BUILTIN")
statusUpdate()
def sellStocks():
global stocks, tradeprice, money
amount = int(input("How many stocks to sell: "))
if (amount <= stocks):
profit = amount * tradeprice
stocks = stocks - amount
money = money + profit
outputText = "Sold " + str(amount) + " stocks, and made $" + str(profit)
print(outputText + ".\n") #colour.write(outputText + ".\n","STRING")
else:
print("You don't own that many stocks.\n") #colour.write("You don't own that many stocks.\n","BUILTIN")
statusUpdate()
def waitHour():
global hours
hours -= 1
print("An hour has passed.\n") #colour.write("An hour has passed.\n","BUILTIN")
play = True
while play:
newTradePrice()
statusUpdate()
choice = getChoice()
endTurn = False
while not endTurn:
if choice == "B":
buyStocks()
choice = getChoice()
elif choice == "S":
sellStocks()
choice = getChoice()
elif choice == "W":
endTurn = True
else:
print("Invalid choice.\n") #colour.write("Invalid choice.\n","BUILTIN")
choice = getChoice()
waitHour()
if hours < 1:
outputText = "Final score: $" + str(money)
print(outputText + ".\n") #colour.write(outputText + ".\n","BUILTIN")
play = False