import sqlite3 as sql #[nazwa, zagrane, wygrane, elo] graczid = { 1: "remikulek", 2: "michsza", 3: "ItsAllGese", 4: "OrzyszAnin", 5: "WeCanScrapTheS", 6: "InfernoDragon", 7: "apeliator", 8: "interboypl", 9: "BurgerConsumer3", 10: "wojtekcola" } class Player: def __init__(self, name=""): self.name = name self.wygrane = 0 self.zagrane = 0 self.elo = 100 self.przegrane = self.zagrane - self.wygrane try: self.winrate = self.wygrane / self.przegrane except: self.winrate = 0 def __str__(self): return f"Nazwa: {self.name}\nZagrane gry: {self.zagrane}\nWygrane gry: {self.wygrane}\nWinrate: {self.winrate}\nElo: {self.elo}" def insert_player(self): connection = sql.connect("Touchdownplayers.db") cursor = connection.cursor() cursor.execute(""" INSERT INTO gracze VALUES ('{}', 0, 0, 100) """.format(self.name)) connection.commit() connection.close() def load_player(self, nazwa): self.name = nazwa connection = sql.connect("Touchdownplayers.db") cursor = connection.cursor() cursor.execute(""" SELECT * FROM gracze WHERE nazwa = '{}' """.format(nazwa)) results = cursor.fetchone() self.zagrane = results[1] self.wygrane = results[2] self.elo = results[3] connection.close() def addgames(self, zagrane, wygrane): connection = sql.connect("Touchdownplayers.db") cursor = connection.cursor() cursor.executescript(""" UPDATE gracze SET zagrane = {} WHERE nazwa = '{}'; UPDATE gracze SET wygrane = {} WHERE nazwa = '{}'; """.format(self.zagrane + zagrane, self.name, self.wygrane + wygrane, self.name)) connection.commit() connection.close() self.wygrane += wygrane self.zagrane += zagrane self.przegrane += zagrane - wygrane self.winrate = self.wygrane/self.przegrane def elo_gain(os1,os2,os3,os4): #os1 i os2 to osoby wygrane elowygranych = os1.elo + os2.elo eloprzegranych = os3.elo + os4.elo dif = eloprzegranych/elowygranych multipliyer = 0.2 * dif * dif + dif #y = 0.2x^2 + x os1.elo += 20 * elowygranych / os1.elo * multipliyer #druzyna lacznie zyskuje 20*mnoznik a przegrana tyle traci os2.elo += 20 * elowygranych / os2.elo * multipliyer os3.elo -= 20 * eloprzegranych / os4.elo * multipliyer os4.elo -= 20 * eloprzegranych / os3.elo * multipliyer def addgame(osid1, osid2, osid3, osid4): p1 = Player() p1.load_player(graczid[osid1]) p1.addgames(1,1) p2 = Player() p2.load_player(graczid[osid2]) p2.addgames(1, 1) p3 = Player() p3.load_player(graczid[osid3]) p3.addgames(1, 0) p4 = Player() p4.load_player(graczid[osid4]) p4.addgames(1, 0) elo_gain(p1,p2,p3,p4) def main(): gracz = Player() gracz.load_player("OrzyszAnin") print(gracz) if __name__ == "__main__": main() #Player("OrzyszAnin").insert_player() #Player("remikulek").insert_player() #Player("michsza").insert_player() #Player("ItsAllGese").insert_player() #Player("WeCanScrapTheS").insert_player() #Player("InfernoDragon").insert_player() #Player("apeliator").insert_player() #Player("interboypl").insert_player() #Player("BurgerConsumer3").insert_player() #Player("wojtekcola").insert_player()