diff --git a/mifia.py b/mifia.py index 78465412..f4a6026c 100644 --- a/mifia.py +++ b/mifia.py @@ -5,8 +5,10 @@ import telegram class Player: telegramid = int() username = str() - role = 0 # 0 = normale, 1 = mifia + role = 0 # 0 = normale, 1 = mifia alive = True + votedfor = str() + special = False def message(self, text): """Manda un messaggio al giocatore @@ -14,13 +16,10 @@ class Player: """ telegram.sendmessage(text, self.telegramid) - def kill(self): - """Uccidi il giocatore""" - self.alive = False - class Game: - chat = int() + groupid = int() + adminid = int() players = list() def message(self, text): @@ -29,7 +28,13 @@ class Game: """ telegram.sendmessage(text, self.chat) - def mifiamessage(self, text): + def adminmessage(self, text): + """Manda un messaggio all'admin del gioco + :param text: Testo del messaggio + """ + telegram.sendmessage(text, self.adminid) + + def evilmessage(self, text): """Manda un messaggio alla chat generale del gioco :param text: Testo del messaggio """ @@ -37,8 +42,8 @@ class Game: if player.role == 1: telegram.sendmessage(text, player.telegramid) - def displaystatus(self): - """Visualizza lo stato attuale della partita""" + def status(self): + """Restituisci lo stato attuale della partita in una stringa unicode""" tosend = "Stato attuale del gioco: \n" for player in self.players: if not player.alive: @@ -46,23 +51,47 @@ class Game: else: tosend += "\U0001F636 " tosend += player.username + "\n" - self.message(tosend) + return tosend - def displayfullstatus(self): - """Visualizza lo stato attuale della partita (per admin?)""" + def fullstatus(self): + """Restituisci lo stato attuale della partita (per admin?) in una stringa unicode""" tosend = "Stato attuale del gioco: \n" for player in self.players: if not player.alive: - tosend += "_Morto_ " + tosend += "\U0001F480 " elif player.role == 1: tosend += "_Mifia_ " else: - tosend += "_Civile_ " + tosend += "\U0001F636 " tosend += player.username + "\n" - self.message(tosend) + return tosend + + def findusername(self, username): + """Trova un giocatore con un certo nome utente + :param username: Nome utente da cercare + """ + for player in self.players: + if player.username == username: + return player + else: + return None + + def findid(self, telegramid): + """Trova un giocatore con un certo ID di telegram + :param telegramid: ID da cercare + """ + for player in self.players: + if player.telegramid == telegramid: + return player + else: + return None def addplayer(self, player): """Aggiungi un giocatore alla partita :param player: Oggetto del giocatore da aggiungere """ self.players.append(player) + + def mostvoted(self): + """Trova il giocatore piĆ¹ votato""" +