46 lines
No EOL
1.4 KiB
Python
46 lines
No EOL
1.4 KiB
Python
import random
|
|
from random import choice
|
|
from collections import OrderedDict
|
|
roles = { "Captain": [0,1], "Medic": [0,1], "Mechanical": [0,1], "Electrical": [0,2], "Security": [0,1], "Assistant": [0,2] }
|
|
personnel = ["Ulven", "Scootz", "Nyx", "Ojorn", "Slux", "Jaoder", "Promo"]
|
|
picked_role = [None] * len(personnel)
|
|
|
|
def main():
|
|
for indx, person in enumerate(personnel):
|
|
picked_role = pick_a_role(indx, person)
|
|
# Log the fact we picked a roll. Increment roll amount to 1 (probably another function to iterate through roles and update tuple)
|
|
print(f'{person} is {picked_role}')
|
|
|
|
def pick_a_role(indx, person):
|
|
picked_role = get_random_role(indx)
|
|
|
|
if (picked_role_is_valid(picked_role)):
|
|
return picked_role
|
|
else:
|
|
# print(f"TOO MANY ENROLLED AS {picked_role}, REROLLING FOR USER {person}")
|
|
return pick_a_role(indx, person)
|
|
|
|
def get_random_role(indx):
|
|
shuffled_roles = list(roles.items())
|
|
random.shuffle(shuffled_roles)
|
|
role = choice(list(roles.keys()))
|
|
picked_role[indx] = role
|
|
|
|
return picked_role[indx]
|
|
|
|
def picked_role_is_valid(picked_role):
|
|
# #PRINT ROLE NAME
|
|
# print(picked_role)
|
|
# #PRINT ROLE LIST VALUES
|
|
# print(roles[picked_role])
|
|
|
|
role_value = roles[picked_role]
|
|
if (role_value[0]) < role_value[1]:
|
|
role_value[0] += 1
|
|
#print("Valid Role")
|
|
return True
|
|
else:
|
|
return False
|
|
|
|
|
|
main() |