Dodanie wózka poruszającego się losowo.
This commit is contained in:
parent
3bbc35e1ac
commit
7818eb4095
82
main.py
82
main.py
@ -1,26 +1,14 @@
|
|||||||
import math
|
|
||||||
import os
|
import os
|
||||||
import random
|
import random
|
||||||
|
|
||||||
import pygame
|
import pygame
|
||||||
|
|
||||||
FPS = 1
|
FPS = 60
|
||||||
|
|
||||||
SZEROKOSC_OKNA = 1280
|
SZEROKOSC_OKNA = 1280
|
||||||
WYSOKOSC_OKNA = 960
|
WYSOKOSC_OKNA = 960
|
||||||
|
|
||||||
LICZBA_POL_W_POZIOMIE = 8
|
BOK_AGENTA1 = 100
|
||||||
LICZBA_POL_W_PIONIE = 6
|
|
||||||
|
|
||||||
Krata = []
|
|
||||||
for rzad in range(LICZBA_POL_W_PIONIE):
|
|
||||||
Krata.append([])
|
|
||||||
for kolumna in range(LICZBA_POL_W_POZIOMIE):
|
|
||||||
Krata[rzad].append(random.randint(0, 9))
|
|
||||||
|
|
||||||
bok_pola = min(int(SZEROKOSC_OKNA / LICZBA_POL_W_POZIOMIE), int(WYSOKOSC_OKNA / LICZBA_POL_W_PIONIE))
|
|
||||||
odstep_miedzy_polami = max(1, math.floor(0.0625 * bok_pola))
|
|
||||||
bok_pola -= odstep_miedzy_polami
|
|
||||||
|
|
||||||
BIALY = (255, 255, 255)
|
BIALY = (255, 255, 255)
|
||||||
JASNOSZARY1 = (180, 180, 180)
|
JASNOSZARY1 = (180, 180, 180)
|
||||||
@ -30,44 +18,34 @@ pygame.display.set_caption("Okno1")
|
|||||||
|
|
||||||
TEST1_IKONA = pygame.transform.scale(pygame.image.load(os.path.join('Ikony', 'test1_ikona.png')), (500, 500))
|
TEST1_IKONA = pygame.transform.scale(pygame.image.load(os.path.join('Ikony', 'test1_ikona.png')), (500, 500))
|
||||||
TRAKTOR_IKONA = pygame.transform.scale(pygame.image.load(os.path.join('Ikony', 'traktor_ikona.png')), (100, 100))
|
TRAKTOR_IKONA = pygame.transform.scale(pygame.image.load(os.path.join('Ikony', 'traktor_ikona.png')), (100, 100))
|
||||||
wozek_ikona = pygame.transform.scale(pygame.image.load(os.path.join('Ikony', 'wozek.png')),
|
wozek_ikona = pygame.image.load(os.path.join('Ikony', 'wozek.png'))
|
||||||
(bok_pola - odstep_miedzy_polami, bok_pola - odstep_miedzy_polami))
|
|
||||||
wozek_ze_skrzynka_ikona = pygame.image.load(os.path.join('Ikony', 'wozek_ze_skrzynka.png'))
|
wozek_ze_skrzynka_ikona = pygame.image.load(os.path.join('Ikony', 'wozek_ze_skrzynka.png'))
|
||||||
|
agent1 = pygame.transform.scale(pygame.image.load(os.path.join('Ikony', 'wozek_ze_skrzynka.png')),
|
||||||
|
(BOK_AGENTA1, BOK_AGENTA1))
|
||||||
|
|
||||||
|
|
||||||
def wyswietl_okno():
|
def wyswietl_okno(agent1_hitbox):
|
||||||
OKNO.fill(JASNOSZARY1)
|
OKNO.fill(BIALY)
|
||||||
|
OKNO.blit(agent1, (agent1_hitbox.x, agent1_hitbox.y))
|
||||||
for rzad in range(LICZBA_POL_W_PIONIE):
|
os = random.randint(0, 1)
|
||||||
for kolumna in range(LICZBA_POL_W_POZIOMIE):
|
odleglosc = random.randint(20, 120)
|
||||||
pygame.draw.rect(OKNO, BIALY, [(odstep_miedzy_polami + bok_pola) * kolumna + odstep_miedzy_polami,
|
znak = random.randint(0, 1)
|
||||||
(odstep_miedzy_polami + bok_pola) * rzad + odstep_miedzy_polami,
|
if znak == 1:
|
||||||
bok_pola, bok_pola])
|
odleglosc = 0 - odleglosc
|
||||||
pygame.display.update()
|
if os == 0:
|
||||||
|
if agent1_hitbox.x + odleglosc < SZEROKOSC_OKNA - agent1_hitbox.width and agent1_hitbox.x + odleglosc > 0:
|
||||||
|
agent1_hitbox.x += odleglosc
|
||||||
def wyswietl_wozek():
|
|
||||||
for rzad in range(LICZBA_POL_W_PIONIE):
|
|
||||||
for kolumna in range(LICZBA_POL_W_POZIOMIE):
|
|
||||||
pom = Krata[rzad][kolumna]
|
|
||||||
if pom == 0:
|
|
||||||
pom = wozek_ikona
|
|
||||||
elif pom == 1:
|
|
||||||
pom = wozek_ze_skrzynka_ikona
|
|
||||||
elif pom == 2:
|
|
||||||
pom = TRAKTOR_IKONA
|
|
||||||
else:
|
else:
|
||||||
pom = None
|
if agent1_hitbox.y + odleglosc < WYSOKOSC_OKNA - agent1_hitbox.height and agent1_hitbox.y + odleglosc > 0:
|
||||||
if pom != None:
|
agent1_hitbox.y += odleglosc
|
||||||
pom = pygame.transform.scale(pom, (bok_pola - odstep_miedzy_polami, bok_pola - odstep_miedzy_polami))
|
|
||||||
OKNO.blit(pom, (((
|
|
||||||
odstep_miedzy_polami + bok_pola) * kolumna + odstep_miedzy_polami) + bok_pola / 2 - pom.get_width() / 2,
|
|
||||||
((
|
|
||||||
odstep_miedzy_polami + bok_pola) * rzad + odstep_miedzy_polami) + bok_pola / 2 - pom.get_height() / 2))
|
|
||||||
pygame.display.update()
|
pygame.display.update()
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
klatkaz = pygame.time.Clock()
|
klatkaz = pygame.time.Clock()
|
||||||
|
agent1_hitbox = pygame.Rect(SZEROKOSC_OKNA / 2 - BOK_AGENTA1 / 2,
|
||||||
|
WYSOKOSC_OKNA / 2 - BOK_AGENTA1 / 2, BOK_AGENTA1,
|
||||||
|
BOK_AGENTA1)
|
||||||
warunek_dzialania = True
|
warunek_dzialania = True
|
||||||
while warunek_dzialania:
|
while warunek_dzialania:
|
||||||
klatkaz.tick(FPS)
|
klatkaz.tick(FPS)
|
||||||
@ -76,15 +54,11 @@ while warunek_dzialania:
|
|||||||
warunek_dzialania = False
|
warunek_dzialania = False
|
||||||
break
|
break
|
||||||
|
|
||||||
wyswietl_okno()
|
wyswietl_okno(agent1_hitbox)
|
||||||
wyswietl_wozek()
|
print(agent1_hitbox.x, agent1_hitbox.y)
|
||||||
|
# wyswietl_agenta1(agent1_hitbox)
|
||||||
pom = Krata[LICZBA_POL_W_PIONIE - 1][LICZBA_POL_W_POZIOMIE - 1]
|
|
||||||
for rzad in range(LICZBA_POL_W_PIONIE - 1, -1, -1):
|
|
||||||
for kolumna in range(LICZBA_POL_W_POZIOMIE - 1, 0, -1):
|
|
||||||
Krata[rzad][kolumna] = Krata[rzad][(kolumna - 1)]
|
|
||||||
Krata[rzad][0] = Krata[rzad - 1][LICZBA_POL_W_POZIOMIE - 1]
|
|
||||||
Krata[0][0] = pom
|
|
||||||
print(Krata)
|
|
||||||
|
|
||||||
pygame.quit()
|
pygame.quit()
|
||||||
|
|
||||||
|
|
||||||
|
main()
|
||||||
|
Loading…
Reference in New Issue
Block a user