mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-27 13:34:28 +00:00
Cose
This commit is contained in:
parent
8faec4496f
commit
12b1227d6e
1 changed files with 53 additions and 5 deletions
56
mifia.py
56
mifia.py
|
@ -1,11 +1,11 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import telegram
|
import telegram
|
||||||
|
import pickle
|
||||||
|
|
||||||
class Player:
|
class Player:
|
||||||
telegramid = int()
|
telegramid = int()
|
||||||
username = str()
|
username = str()
|
||||||
role = 0 # 0 = normale, 1 = mifia
|
role = 0 # 0 normale | 1 rryg | 2 resistenza
|
||||||
alive = True
|
alive = True
|
||||||
votedfor = str()
|
votedfor = str()
|
||||||
special = False
|
special = False
|
||||||
|
@ -35,7 +35,7 @@ class Game:
|
||||||
telegram.sendmessage(text, self.adminid)
|
telegram.sendmessage(text, self.adminid)
|
||||||
|
|
||||||
def evilmessage(self, text):
|
def evilmessage(self, text):
|
||||||
"""Manda un messaggio alla chat generale del gioco
|
"""Manda un messaggio al team dei nemici del gioco
|
||||||
:param text: Testo del messaggio
|
:param text: Testo del messaggio
|
||||||
"""
|
"""
|
||||||
for player in self.players:
|
for player in self.players:
|
||||||
|
@ -60,7 +60,7 @@ class Game:
|
||||||
if not player.alive:
|
if not player.alive:
|
||||||
tosend += "\U0001F480 "
|
tosend += "\U0001F480 "
|
||||||
elif player.role == 1:
|
elif player.role == 1:
|
||||||
tosend += "_Mifia_ "
|
tosend += "RRYG "
|
||||||
else:
|
else:
|
||||||
tosend += "\U0001F636 "
|
tosend += "\U0001F636 "
|
||||||
tosend += player.username + "\n"
|
tosend += player.username + "\n"
|
||||||
|
@ -94,4 +94,52 @@ class Game:
|
||||||
|
|
||||||
def mostvoted(self):
|
def mostvoted(self):
|
||||||
"""Trova il giocatore più votato"""
|
"""Trova il giocatore più votato"""
|
||||||
|
votelist = dict()
|
||||||
|
for player in self.players:
|
||||||
|
if player.votedfor != str():
|
||||||
|
if player.votedfor not in votelist:
|
||||||
|
votelist[player.votedfor] = 1
|
||||||
|
else:
|
||||||
|
votelist[player.votedfor] += 1
|
||||||
|
mostvoted = str()
|
||||||
|
mostvotes = int()
|
||||||
|
for player in votelist:
|
||||||
|
if mostvoted == str():
|
||||||
|
mostvoted = player
|
||||||
|
mostvotes = votelist[player]
|
||||||
|
else:
|
||||||
|
if votelist[player] > mostvotes:
|
||||||
|
mostvoted = player
|
||||||
|
mostvotes = votelist[player]
|
||||||
|
return self.findusername(mostvoted)
|
||||||
|
|
||||||
|
def save(self):
|
||||||
|
"""Salva in un file di testo con il numero del gruppo lo stato attuale del gioco"""
|
||||||
|
try:
|
||||||
|
file = open(str(self.groupid) + ".txt", "w")
|
||||||
|
except OSError:
|
||||||
|
file = open(str(self.groupid) + ".txt", "x")
|
||||||
|
pickle.dump(self, file)
|
||||||
|
|
||||||
|
def endday(self):
|
||||||
|
for player in self.players:
|
||||||
|
player.votedfor = str()
|
||||||
|
if player.role != 0:
|
||||||
|
player.special = True
|
||||||
|
killed = self.mostvoted()
|
||||||
|
killed.alive = False
|
||||||
|
self.message(killed.username + " è stato il più votato del giorno.")
|
||||||
|
|
||||||
|
|
||||||
|
def load(filename):
|
||||||
|
"""Restituisci da un file di testo con il numero del gruppo lo stato del gioco (Funzione non sicura, non importare
|
||||||
|
file a caso pls)
|
||||||
|
:param filename: Nome del file da cui caricare lo stato"""
|
||||||
|
try:
|
||||||
|
file = open(str(filename) + ".txt", "r")
|
||||||
|
except OSError:
|
||||||
|
return None
|
||||||
|
else:
|
||||||
|
return pickle.load(file)
|
||||||
|
|
||||||
|
partiteincorso = list()
|
||||||
|
|
Loading…
Reference in a new issue