SI_Traktor/ui.py
2020-05-03 16:59:29 +02:00

59 lines
2.6 KiB
Python

import pygame
class game_ui():
def __init__(self,traktor,field):
self.traktor = traktor
self.field = field
self.window_name = "SI_Projekt"
self.szer = 850
self.wys = 1000
self.col =(0,255,0)
self.POLE_SZER = 700
self.POLE_WYS = 700
self.POLE_COL = (128, 128, 0)
self.POLE_POZ = (75, 75)
self.text_rect = [self.POLE_POZ[0], self.POLE_WYS + self.POLE_POZ[1] + 100]
# Init pola gry
self.okno = pygame.display.set_mode((self.szer, self.wys), 0, 32)
# Tytuł okna
pygame.display.set_caption(self.window_name)
# Tworzenie powierzchni pola
self.pole_surf = pygame.Surface([self.POLE_SZER, self.POLE_WYS])
self.pole_surf.fill(self.POLE_COL)
self.pole_surf_rect = self.pole_surf.get_rect()
self.pole_surf_rect.x = self.POLE_POZ[0]
self.pole_surf_rect.y = self.POLE_POZ[1]
self.pole1_surf = pygame.Surface([self.POLE_SZER + 150, self.POLE_WYS + 150])
self.pole1_surf.fill((0, 0, 0))
self.pole1_surf_rect = self.pole_surf.get_rect()
self.pole1_surf_rect.x = self.POLE_POZ[0] - 75
self.pole1_surf_rect.y = self.POLE_POZ[1] - 75
self.traktor_img = ["traktor_d.png", "traktor_l.png", "traktor_u.png", "traktor_r.png"]
self.field_images = []
for i in ['gleba_pix.png','gleba_chwasty_pix.png','sadzonka_suchi_pix.png','sadzonka_chwasty_pix.png','gleba_mokra_pix.png','gleba_mokra_chwasty.png','sadzonka_mokra_pix.png','sadzonka_mokra_chwasty_pix.png','gotowy_burak_pix.png']:
self.field_images.append(pygame.image.load('images/'+i))
# Zezwalamy na przechwytywanie klawiszy
pygame.event.pump()
def update(self):
# kolor okna
self.okno.fill(self.col)
# wstawienie pola
self.okno.blit(self.pole1_surf, self.pole1_surf_rect)
self.okno.blit(self.pole_surf, self.pole_surf_rect)
self.text_value = "Ile ruchów: " + str(self.traktor.get_moves()) + " Tryb: " + self.traktor.get_mode_name()
self.font = pygame.font.Font('freesansbold.ttf', 24)
self.text = self.font.render(self.text_value, True, (0, 0, 0), self.col)
self.okno.blit(self.text, self.text_rect)
for i in range(0, 10):
for j in range(0, 10):
self.pole_surf.blit(self.field_images[self.field.get_value([i,j])], (i*70, j*70))
self.traktor_actual_img = pygame.image.load('images/' + self.traktor_img[self.traktor.get_turn()])
self.okno.blit(self.traktor_actual_img,self.traktor.get_poz_on_screen())
# aktualizacja okna i wyświetlenie
pygame.display.update()