SHOW:
|
|
- or go back to the newest paste.
1 | import requests | |
2 | import pygame | |
3 | ||
4 | link = "https://danepubliczne.imgw.pl/api/data/synop/" | |
5 | ||
6 | baza = requests.get(link) | |
7 | lista_stacji = baza.json() | |
8 | #print(lista_stacji) | |
9 | i =1 | |
10 | for stacja in lista_stacji: | |
11 | print(f"{i}. {stacja['stacja']}") | |
12 | i+=1 | |
13 | ||
14 | numer_stacji = int(input("Wprowadź numer wybranej stacji meteo: ")) | |
15 | wybrana_stacja = lista_stacji[numer_stacji-1] | |
16 | #print(wybrana_stacja) | |
17 | ||
18 | stacja = wybrana_stacja['stacja'] | |
19 | godzina = wybrana_stacja['godzina_pomiaru'] #liczba całkowita | |
20 | temperatura = wybrana_stacja['temperatura'] #st. Celsjusza | |
21 | cisnienie = wybrana_stacja['cisnienie'] #hPa | |
22 | predkosc_wiatru = wybrana_stacja['predkosc_wiatru'] #m/s | |
23 | kierunek_wiatru = wybrana_stacja['kierunek_wiatru'] #w stopniach kątowych ("skąd wieje") | |
24 | #suma_opadu = wybrana_stacja['suma_opadu'] #mm na metr kwadratowy | |
25 | suma_opadu = 12 | |
26 | tekst_stacji = f"Pogoda z godziny {godzina} ze stacji meteo w {stacja}" | |
27 | tekst_cisnienia = f"Ciśnienie na poziomie {cisnienie} hPa" | |
28 | tekst_temeratury = f"Temperatura wynosi {temperatura} °C" | |
29 | tekst_wiatru = f"Wiatr wieje z prędkością {predkosc_wiatru} m/s z kierunku {kierunek_wiatru}" | |
30 | tekst_opady = f"Suma opadów wynosi {suma_opadu} mm" | |
31 | ||
32 | ||
33 | ||
34 | #szerokość i wysokość ekranu | |
35 | SZEROKOSC_EKRANU = 1280 | |
36 | WYSOKOSC_EKRANU = 900 | |
37 | ||
38 | pygame.init() | |
39 | pygame.font.init() | |
40 | ||
41 | #obiekty ekranu, zegara i tła | |
42 | ekran = pygame.display.set_mode([SZEROKOSC_EKRANU, WYSOKOSC_EKRANU]) | |
43 | zegar = pygame.time.Clock() | |
44 | obraz_tla = pygame.image.load('images/background.png') | |
45 | czcionka = pygame.font.SysFont('Comic Sans MS', 35) #nazwa i rozmiar czcionki | |
46 | ||
47 | ||
48 | ||
49 | #główna pętla | |
50 | program_dziala = True | |
51 | while program_dziala: | |
52 | for zdarzenie in pygame.event.get(): | |
53 | if zdarzenie.type == pygame.KEYDOWN: | |
54 | if zdarzenie.key == pygame.K_ESCAPE: | |
55 | program_dziala = False | |
56 | elif zdarzenie.type == pygame.QUIT: | |
57 | program_dziala = False | |
58 | ||
59 | #wyświetl tło | |
60 | ekran.blit(obraz_tla, (0,0)) | |
61 | ||
62 | stacja_tekst_pygame = czcionka.render(tekst_stacji, True,(0,0,0)) | |
63 | ekran.blit(stacja_tekst_pygame, (16,16)) | |
64 | cisnienie_tekst_pygame = czcionka.render(tekst_cisnienia, True, (0, 0, 0)) | |
65 | ekran.blit(cisnienie_tekst_pygame, (16,70)) | |
66 | ||
67 | temperatura_tekst_pygame = czcionka.render(tekst_temeratury, True, (0,0,0)) | |
68 | ekran.blit(temperatura_tekst_pygame, (16,120)) | |
69 | opady_tekst_pygame = czcionka.render(tekst_opady, True, (0, 0, 0)) | |
70 | ekran.blit(opady_tekst_pygame, (16,170)) | |
71 | wiatr_tekst_pygame = czcionka.render(tekst_wiatru, True, (0, 0, 0)) | |
72 | ekran.blit(wiatr_tekst_pygame, (16,220)) | |
73 | ||
74 | pygame.display.flip() | |
75 | zegar.tick(30) #liczba klatek na sekunde | |
76 | pygame.quit() |