97 lines
No EOL
2.2 KiB
Python
97 lines
No EOL
2.2 KiB
Python
|
|
import random
|
|
import time
|
|
|
|
playerFile = open("Players.txt")
|
|
rolesFile = open ("Roles.txt")
|
|
|
|
PlayersName = []
|
|
RolesList = []
|
|
KilledDuringNight = []
|
|
PlayersInLove = []
|
|
players_dict = {}
|
|
|
|
|
|
|
|
def GiveRoleToPlayers():
|
|
if PlayersName and RolesList:
|
|
for player in PlayersName:
|
|
ChoseRole = random.choice(RolesList)
|
|
players_dict[player] = {'name': player, 'role': ChoseRole, 'alive': True, 'InLove': False, 'Protected': False}
|
|
RolesList.remove(ChoseRole)
|
|
else:
|
|
print("Players are not initialized")
|
|
|
|
|
|
def CreateLists():
|
|
for line in playerFile:
|
|
PlayersName.append(line.strip())
|
|
for line in rolesFile:
|
|
RolesList.append(line.strip())
|
|
playerFile.close()
|
|
rolesFile.close()
|
|
|
|
|
|
def Kill(player):
|
|
if players_dict[player]['InLove'] == False:
|
|
players_dict[player]['alive'] = False
|
|
KilledDuringNight.append(player)
|
|
elif players_dict[player]['InLove'] == True:
|
|
print("in love check")
|
|
for player in players_dict:
|
|
if players_dict[player]['InLove'] == True:
|
|
print("found one")
|
|
players_dict[player]['alive'] = False
|
|
KilledDuringNight.append(player)
|
|
elif players_dict[player]['Protected'] == True:
|
|
return
|
|
|
|
|
|
|
|
def Revive(player):
|
|
players_dict[player]["alive"] = True
|
|
KilledDuringNight.remove(player)
|
|
def PutInLove(player1, player2):
|
|
players_dict[player1]['InLove'] = True
|
|
players_dict[player2]['InLove'] = True
|
|
time.sleep(1)
|
|
print("The people selected wake up and show their role")
|
|
time.sleep(1)
|
|
print("They go back to sleep")
|
|
|
|
def Cupidon():
|
|
print("You choose two people to be linked to the death")
|
|
player1 = SelectSomeone()
|
|
player2 = SelectSomeone()
|
|
PutInLove(player1, player2)
|
|
|
|
def Savior():
|
|
print("You choose someone to protect")
|
|
ProtectedPlayer = SelectSomeone()
|
|
players_dict[ProtectedPlayer]['Protected'] = False
|
|
|
|
|
|
|
|
def SelectSomeone():
|
|
while True:
|
|
SelectedPlayer = input("Enter the name of the player:")
|
|
if SelectedPlayer in PlayersName:
|
|
return SelectedPlayer
|
|
else:
|
|
print("This player don't exist")
|
|
|
|
def FirstDayCycle():
|
|
print("The villagers fall asleep")
|
|
time.sleep(1)
|
|
print("Cupidon get up")
|
|
Cupidon()
|
|
print("Cupidon go back to sleep")
|
|
time.sleep(1)
|
|
print("The savior get up")
|
|
Savior()
|
|
|
|
|
|
|
|
CreateLists()
|
|
GiveRoleToPlayers()
|
|
FirstDayCycle() |