mirror of
https://github.com/RYGhub/royal-mifia.git
synced 2024-11-25 15:14:18 +00:00
Cambiate un sacco di cose
This commit is contained in:
parent
ff20fc5144
commit
76c42beb93
1 changed files with 47 additions and 0 deletions
47
main.py
47
main.py
|
@ -9,6 +9,7 @@ updater = Updater(token)
|
||||||
# Base di un ruolo
|
# Base di un ruolo
|
||||||
class Role:
|
class Role:
|
||||||
icon = str()
|
icon = str()
|
||||||
|
team = 'None' # Squadra: 'None', 'Good', 'Evil'
|
||||||
haspower = False
|
haspower = False
|
||||||
poweruses = 0
|
poweruses = 0
|
||||||
|
|
||||||
|
@ -21,10 +22,12 @@ class Role:
|
||||||
|
|
||||||
class Royal(Role):
|
class Royal(Role):
|
||||||
icon = "\U0001F610"
|
icon = "\U0001F610"
|
||||||
|
team = 'Good'
|
||||||
|
|
||||||
|
|
||||||
class Mifioso(Role):
|
class Mifioso(Role):
|
||||||
icon = "\U0001F47F"
|
icon = "\U0001F47F"
|
||||||
|
team = 'Evil'
|
||||||
haspower = True
|
haspower = True
|
||||||
poweruses = 1
|
poweruses = 1
|
||||||
target = None
|
target = None
|
||||||
|
@ -41,6 +44,7 @@ class Mifioso(Role):
|
||||||
|
|
||||||
class Investigatore(Role):
|
class Investigatore(Role):
|
||||||
icon = "\U0001F575"
|
icon = "\U0001F575"
|
||||||
|
team = 'Good'
|
||||||
haspower = True
|
haspower = True
|
||||||
poweruses = 1
|
poweruses = 1
|
||||||
|
|
||||||
|
@ -53,6 +57,49 @@ class Investigatore(Role):
|
||||||
self.poweruses = 1
|
self.poweruses = 1
|
||||||
|
|
||||||
|
|
||||||
|
# Classi per i giocatori
|
||||||
|
class Player:
|
||||||
|
tid = int()
|
||||||
|
tusername = str()
|
||||||
|
role = Role() # Di base, ogni giocatore è un ruolo indefinito
|
||||||
|
alive = True
|
||||||
|
votingfor = str()
|
||||||
|
|
||||||
|
def message(self, bot, text):
|
||||||
|
bot.sendMessage(self.tid, text)
|
||||||
|
|
||||||
|
def __init__(self, tid, tusername):
|
||||||
|
self.tid = tid
|
||||||
|
self.tusername = tusername
|
||||||
|
|
||||||
|
|
||||||
|
# Classe di ogni partita
|
||||||
|
class Game:
|
||||||
|
adminid = int()
|
||||||
|
groupid = int()
|
||||||
|
players = list()
|
||||||
|
tokill = list() # Giocatori che verranno uccisi all'endday
|
||||||
|
phase = 'Join' # Fase di gioco: 'Join', 'Voting', 'Ended'
|
||||||
|
|
||||||
|
def __init__(self, groupid, adminid):
|
||||||
|
self.groupid = groupid
|
||||||
|
self.adminid = adminid
|
||||||
|
|
||||||
|
def message(self, bot, text):
|
||||||
|
bot.sendMessage(self.groupid, text)
|
||||||
|
|
||||||
|
def adminmessage(self, bot, text):
|
||||||
|
bot.sendMessage(self.adminid, text)
|
||||||
|
|
||||||
|
def mifiamessage(self, bot, text):
|
||||||
|
# Trova tutti i mifiosi nell'elenco dei giocatori
|
||||||
|
for player in self.players:
|
||||||
|
if isinstance(player.role, Mifioso):
|
||||||
|
player.message(bot, text)
|
||||||
|
# Inoltra il messaggio all'admin
|
||||||
|
self.adminmessage(bot, text)
|
||||||
|
|
||||||
|
|
||||||
# Comandi a cui risponde il bot
|
# Comandi a cui risponde il bot
|
||||||
def ping(bot, update):
|
def ping(bot, update):
|
||||||
bot.sendMessage(update.message.chat.id, "Pong!")
|
bot.sendMessage(update.message.chat.id, "Pong!")
|
||||||
|
|
Loading…
Reference in a new issue