def __init__(self, x, y, gra): self.x = x self.y = y self.SZEROKOSC = 720 self.WYSOKOSC = 100 self.OBRAMOWANIE = 5 self.gra = gra self.czysc_button = PrzyciskTekstowy(810, 490, 110, 55, (128, 128, 128), "Czyść") self.gumka_button = PrzyciskTekstowy(925, 490, 110, 55, (128, 128, 128), "Gumka") self.flaga = True
def __init__(self, win, connection=None): pygame.font.init() self.connection = connection self.win = win # okno do wyswietlania # inicjalizacja parametrow self.ranking = Ranking(50, 125) self.tablica = Tablica(305, 125) self.pasek_gorny = PasekGorny(50, 10, 990, 100) self.pasek_gorny.zmiana_rundy(1) self.gracze = [] self.pomin_button = PrzyciskTekstowy(810, 555, 225, 50, (255, 255, 0), "Pomin") self.pasek_dolny = PasekDolny(305, 880, self) self.chat = Chat(810, 125) self.kolor_rysowania = (0, 0, 0) self.rysujacy = False
class PasekDolny: def __init__(self, x, y, gra): self.x = x self.y = y self.SZEROKOSC = 720 self.WYSOKOSC = 100 self.OBRAMOWANIE = 5 self.gra = gra self.czysc_button = PrzyciskTekstowy(810, 490, 110, 55, (128, 128, 128), "Czyść") self.gumka_button = PrzyciskTekstowy(925, 490, 110, 55, (128, 128, 128), "Gumka") self.flaga = True def rysuj(self, win): pygame.draw.rect(win, (0, 0, 0), (self.x, self.y, self.SZEROKOSC, self.WYSOKOSC), self.OBRAMOWANIE) self.czysc_button.rysuj(win) self.gumka_button.rysuj(win) def obsluga_przyciskow(self): mouse = pygame.mouse.get_pos() if self.czysc_button.klikniecie(*mouse): self.gra.tablica.czyszczenie() self.gra.connection.send({10: []}) ############################################### if self.gumka_button.klikniecie(*mouse): ### Napisz kod do zadania nr 2 if self.flaga == True: self.gra.kolor_rysowania = (255, 255, 255) # czarny self.flaga = False t.sleep(0.1) else: self.gra.draw_kolor_rysowania = (0, 0, 0) # biały self.flaga = True t.sleep(0.3)
class Gra: TLO = (255, 255, 255) KOLORY = { (255, 255, 255): 0, (0, 0, 0): 1, } # Słownik przechowujący biały i czarny def __init__(self, win, connection=None): pygame.font.init() self.connection = connection self.win = win #okno do wyswietlania #inicjalizacja parametrow self.ranking = Ranking(50, 125) self.tablica = Tablica(305, 125) self.pasek_gorny = PasekGorny(50, 10, 990, 100) self.pasek_gorny.zmiana_rundy(1) self.gracze = [] self.pomin_button = PrzyciskTekstowy(810, 555, 225, 50, (255, 255, 0), "Pomin") self.pasek_dolny = PasekDolny(305, 880, self) self.chat = Chat(810, 125) self.kolor_rysowania = (0, 0, 0) self.rysujacy = False def dodaj_gracza(self, gracz): self.gracze.append(gracz) self.ranking.dodaj_gracza(gracz) def rysuj(self): self.win.fill(self.TLO) self.ranking.rysuj(self.win) self.pasek_gorny.rysuj(self.win) self.tablica.rysuj(self.win) self.pomin_button.rysuj(self.win) if self.rysujacy: self.pasek_dolny.rysuj(self.win) self.chat.rysuj(self.win) pygame.display.update() def obsluga_przyciskow(self): mouse = pygame.mouse.get_pos() # pominięcie rundy if self.pomin_button.klikniecie(*mouse) and not self.rysujacy: pominiete_rundy = self.connection.send({1: []}) kliknieta_tablica = self.tablica.klikniecie(*mouse) #rysowanie if kliknieta_tablica: self.tablica.update(*kliknieta_tablica, self.kolor_rysowania) self.connection.send({ 8: [*kliknieta_tablica, self.KOLORY[tuple(self.kolor_rysowania)]] }) def run(self): run = True clock = pygame.time.Clock() while run: clock.tick(60) try: odpowiedz = self.connection.send({3: []}) if odpowiedz: self.tablica.podzielona_tablica = odpowiedz self.tablica.dzielenie_tablicy() odpowiedz = self.connection.send({9: []}) self.pasek_gorny.czas = odpowiedz ################################################ #KOD DO ZADANIA 3 ############################################### self.pasek_gorny.haslo = self.connection.send({6: []}) self.pasek_gorny.runda = self.connection.send({5: []}) self.rysujacy = self.connection.send({11: []}) self.pasek_gorny.rysujacy = self.rysujacy self.pasek_gorny.max_rund = len(self.gracze) odpowiedz = self.connection.send({4: []}) for gracz in self.gracze: if odpowiedz != []: gracz.ustaw_wynik(odpowiedz[gracz.get_nazwa()]) except: run = False break self.rysuj() for event in pygame.event.get(): if event.type == pygame.QUIT: run = False break if pygame.mouse.get_pressed()[0]: self.obsluga_przyciskow() self.pasek_dolny.obsluga_przyciskow() if event.type == pygame.KEYDOWN: if not self.rysujacy: if event.key == pygame.K_RETURN: self.connection.send({0: [self.chat.pisanie]}) self.chat.pisanie = "" else: key_name = pygame.key.name(event.key) key_name = key_name.lower() self.chat.type(key_name) pygame.quit()