SHOW:
|
|
- or go back to the newest paste.
| 1 | import pygame | |
| 2 | ||
| 3 | #szerokość i wysokość ekranu | |
| 4 | SZEROKOSC_EKRANU = 1280 | |
| 5 | WYSOKOSC_EKRANU = 960 | |
| 6 | ||
| 7 | pygame.init() | |
| 8 | ekran = pygame.display.set_mode([SZEROKOSC_EKRANU, WYSOKOSC_EKRANU]) | |
| 9 | zegar = pygame.time.Clock() | |
| 10 | obraz_tla = pygame.image.load('images/mountain.png')
| |
| 11 | czcionka = pygame.font.SysFont('Comic Sans MS', 35) #nazwa i rozmiar czcionki
| |
| 12 | obrazki_kosci = [] | |
| 13 | for i in range(4): | |
| 14 | obrazki_kosci.append(pygame.image.load('images/kosc-1.png'))
| |
| 15 | ||
| 16 | teksty = ["Naciśnij Spacje"] | |
| 17 | liczba_pol = [3,5,7,9,11,13,11,9,7,5,3] | |
| 18 | skok_x = 70 | |
| 19 | skok_y = 50 | |
| 20 | start_x = 240 | |
| 21 | start_y = 900 | |
| 22 | ||
| 23 | def budowa_planszy(): | |
| 24 | #współrzędne pierwszego pola | |
| 25 | x = start_x | |
| 26 | y = start_y | |
| 27 | #numer kolumny | |
| 28 | num = 2 | |
| 29 | #Operacje wykonywane dla każdej kolumny | |
| 30 | for kolumna in liczba_pol: | |
| 31 | #modyfikacja współrzędnych | |
| 32 | #przesuwamy x w prawo po każdej zbudowanej kolumnie | |
| 33 | x += skok_x | |
| 34 | #Wracamy na dół kolumny aby zacząć budować nową | |
| 35 | y = start_y | |
| 36 | #budowa jednej kolumny | |
| 37 | for i in range(kolumna): | |
| 38 | #Przesuwamy współrzędną y w górę | |
| 39 | y -= skok_y | |
| 40 | #rysowanie koła które będzie czarną obwódką | |
| 41 | pygame.draw.circle(ekran, (0, 0, 0), (x,y), 22) | |
| 42 | #rysowanie środka pola - kolor dowolny | |
| 43 | #ważne aby dać inne kolory graczom potem | |
| 44 | pygame.draw.circle(ekran, (255, 230, 0), (x,y), 20) | |
| 45 | #przekształcamy liczbę na tekst | |
| 46 | numer_kolumny = czcionka.render(str(num), True,(0,0,0)) | |
| 47 | #Wyświetlamy to nad kolumną | |
| 48 | #cofamy x odrobinę aby wyśrodkować napis | |
| 49 | ekran.blit(numer_kolumny, (x-10,y-70)) | |
| 50 | #Przechodzimy do kolejnej kolumny | |
| 51 | num += 1 | |
| 52 | ||
| 53 | def pokaz_teksty(): | |
| 54 | #współrzędne tekstu | |
| 55 | x_tekstu = 800 | |
| 56 | y_tekstu = 40 | |
| 57 | #przesunięcie tekstu między linijkami | |
| 58 | skok_tekstu = 50 | |
| 59 | for tekst in teksty: | |
| 60 | #stworzenie linijki. | |
| 61 | #Kolor potem zmienimy na kolor aktywnego gracza | |
| 62 | linijka = czcionka.render(tekst, True,(0,0,0)) | |
| 63 | ekran.blit(linijka, (x_tekstu,y_tekstu)) | |
| 64 | y_tekstu += skok_tekstu | |
| 65 | ||
| 66 | program_dziala = True | |
| 67 | while program_dziala: | |
| 68 | for zdarzenie in pygame.event.get(): | |
| 69 | if zdarzenie.type == pygame.KEYDOWN: | |
| 70 | if zdarzenie.key == pygame.K_ESCAPE: | |
| 71 | program_dziala = False | |
| 72 | elif zdarzenie.type == pygame.QUIT: | |
| 73 | program_dziala = False | |
| 74 | ||
| 75 | ||
| 76 | #wyświetl tło | |
| 77 | ekran.blit(obraz_tla, (0,0)) | |
| 78 | #Kosci | |
| 79 | ekran.blit(obrazki_kosci[0], (16,16)) | |
| 80 | ekran.blit(obrazki_kosci[1], (116,16)) | |
| 81 | ekran.blit(obrazki_kosci[2], (16,116)) | |
| 82 | ekran.blit(obrazki_kosci[3], (116,116)) | |
| 83 | #Plansza | |
| 84 | budowa_planszy() | |
| 85 | #Teksty | |
| 86 | pokaz_teksty() | |
| 87 | #odśwież ekran | |
| 88 | pygame.display.flip() | |
| 89 | zegar.tick(60) #liczba klatek na sekunde | |
| 90 | ||
| 91 | pygame.quit() |