removed debug loop from main

master
Marek Baczynski 7 years ago
parent 846613a59d
commit bbfd3c1b30

182
kuk.py

@ -45,6 +45,87 @@ def save():
with open(config['mealHistoryFile'], 'w') as outfile: with open(config['mealHistoryFile'], 'w') as outfile:
json.dump(mealHistory, outfile) json.dump(mealHistory, outfile)
points = {}
points[3] = 52
points[4] = 69
points[5] = 80
points[6] = 90
points[7] = 102
points[8] = 112
points[9] = 120
points[10] = 135
newcommers = ["Rick", "Morty", "Jerry", "Mr Poopy Buthole", "Karl Gustav VII", "Erik"]
day = 1
def newDay():
global day
important = ['delicious', 'fabulous', 'very tasty', 'good', 'very good', 'not bad at all', 'favorable', 'ok', 'nutritious', 'italian', 'mouth-watering', 'objectively pleasing', 'aromatic', 'something to write home about', 'probably digestible', 'edible', 'a complex blend of carbon-based chemistry','not sanitized"); DROP TABLE MEALS;--', 'not poisoned', 'of unknown origin', 'crunchy', 'finger-licking good', 'fantastic', 'the best one we had so far', 'fancy', 'extrordinary', 'pleasant']
if len(newcommers) > 0 and random.random() < 0.1:
newbe = Person(newcommers.pop())
newbe.attendanceRate = 0.2 + random.random() * 0.8
print "### NEW MEMBER ###"
print "!!! {} has joined the group !!!"
n_people = 0
while n_people < 3:
attendees = []
for name, person in people.iteritems():
if random.random() < person.attendanceRate:
attendees.append(name)
n_people = len(attendees)
print "\n\n===Day {}===".format(str(day))
print "{} people comming: ".format(str(n_people))
print " ",
for name in attendees:
print name + ",",
print ""
#selecting the kuk
cookies = [v for k,v in people.iteritems() if k in attendees]
scookies = sorted(cookies, key=operator.attrgetter('kukPoints'), reverse=True)
tied = []
for person in scookies:
if person.kukPoints < scookies[0].kukPoints:
break
tied.append(person)
if len(tied)==1:
print "{} has the most points ({}) and is going to cook".format(tied[0].name, str(tied[0].kukPoints))
kuk = tied[0]
else:
print "{} people are tied with {} points each".format(str(len(tied)), str(tied[0].kukPoints))
print " ",
for person in tied:
print person.name + ",",
print ""
kuk = random.choice(tied)
print "{} was selected at random and is going to cook".format(kuk.name)
cookies.remove(kuk)
#kuking and points
reward = points[n_people]
payment = points[n_people] / (n_people-1)
kuk.kukPoints -= reward
kuk.kukMealCount += 1
kuk.kukServingCount += n_people
kuk.eatenCount += 1
for cookie in cookies:
cookie.kukPoints += payment
cookie.eatenCount += 1
m = Meal(kuk.name, day);
m.eaters = "many people"
print ""
print "{} cooked for {} people and cleared {} KukPoints".format(kuk.name, n_people, reward)
print "{} people gained {} KukPoints each".format(n_people-1, payment)
print "The meal was {}!".format(random.choice(important[:day]))
day = day+1
if __name__ == '__main__': if __name__ == '__main__':
try: try:
@ -67,104 +148,3 @@ if __name__ == '__main__':
for name, person in people.iteritems(): for name, person in people.iteritems():
person.attendanceRate = 0.2 + random.random() * 0.8 person.attendanceRate = 0.2 + random.random() * 0.8
points = {}
points[3] = 52
points[4] = 69
points[5] = 80
points[6] = 90
points[7] = 102
points[8] = 112
points[9] = 120
points[10] = 135
important = ['delicious', 'fabulous', 'very tasty', 'good', 'very good', 'not bad at all', 'favorable', 'ok', 'nutritious', 'italian', 'mouth-watering', 'objectively pleasing', 'aromatic', 'something to write home about', 'probably digestible', 'edible', 'a complex blend of carbon-based chemistry','not sanitized"); DROP TABLE MEALS;--', 'not poisoned', 'of unknown origin', 'crunchy', 'finger-licking good', 'fantastic', 'the best one we had so far', 'fancy', 'extrordinary', 'pleasant']
newcommers = ["Rick", "Morty", "Jerry", "Mr Poopy Buthole", "Karl Gustav VII", "Erik"]
day = 1
while True:
#somebody-joining module
if len(newcommers) > 0 and random.random() < 0.1:
newbe = Person(newcommers.pop())
newbe.attendanceRate = 0.2 + random.random() * 0.8
print "### NEW MEMBER ###"
print "!!! {} has joined the group !!!"
n_people = 0
while n_people < 3:
attendees = []
for name, person in people.iteritems():
if random.random() < person.attendanceRate:
attendees.append(name)
n_people = len(attendees)
print "\n\n===Day {}===".format(str(day))
print "{} people comming: ".format(str(n_people))
print " ",
for name in attendees:
print name + ",",
print ""
#selecting the kuk
cookies = [v for k,v in people.iteritems() if k in attendees]
scookies = sorted(cookies, key=operator.attrgetter('kukPoints'), reverse=True)
tied = []
for person in scookies:
if person.kukPoints < scookies[0].kukPoints:
break
tied.append(person)
if len(tied)==1:
print "{} has the most points ({}) and is going to cook".format(tied[0].name, str(tied[0].kukPoints))
kuk = tied[0]
else:
print "{} people are tied with {} points each".format(str(len(tied)), str(tied[0].kukPoints))
print " ",
for person in tied:
print person.name + ",",
print ""
kuk = random.choice(tied)
print "{} was selected at random and is going to cook".format(kuk.name)
cookies.remove(kuk)
#kuking and points
reward = points[n_people]
payment = points[n_people] / (n_people-1)
kuk.kukPoints -= reward
kuk.kukMealCount += 1
kuk.kukServingCount += n_people
kuk.eatenCount += 1
for cookie in cookies:
cookie.kukPoints += payment
cookie.eatenCount += 1
m = Meal(kuk.name, day);
m.eaters = "many people"
print ""
print "{} cooked for {} people and cleared {} KukPoints".format(kuk.name, n_people, reward)
print "{} people gained {} KukPoints each".format(n_people-1, payment)
print "The meal was {}!".format(random.choice(important[:day]))
#loop and status
print "\nWhat now?"
r = raw_input("[C]ontinue | [B]reak | [S]how stats\n")
day += 1
if r == 'b':
break
if(r=='s'):
print "STATUS:"
for name, person in people.iteritems():
print "{} has {} kukPoints".format(name, str(person.kukPoints))
print "\tcooked {} times, a total of {} servings, ate {} times".format(str(person.kukMealCount), str(person.kukServingCount), str(person.eatenCount))
print "\nWhat now?"
r = raw_input("[C]ontinue | [B]reak | [S]ince I already showed the stats, this option does nothing\n")
if r == 'b':
break
for mid, meal in mealHistory.iteritems():
print "{} kuked for {} people".format(meal.kuk.name, str(len(meal.eaters)))
print "Thank you for using KUKCOUNTER"

Loading…
Cancel
Save