Dodanie wózka poruszającego się losowo.

This commit is contained in:
Dominik Jagosz 2022-03-08 23:00:29 +01:00
parent 3bbc35e1ac
commit 7818eb4095

102
main.py
View File

@ -1,26 +1,14 @@
import math
import os
import random
import pygame
FPS = 1
FPS = 60
SZEROKOSC_OKNA = 1280
WYSOKOSC_OKNA = 960
LICZBA_POL_W_POZIOMIE = 8
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
BOK_AGENTA1 = 100
BIALY = (255, 255, 255)
JASNOSZARY1 = (180, 180, 180)
@ -30,61 +18,47 @@ pygame.display.set_caption("Okno1")
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))
wozek_ikona = pygame.transform.scale(pygame.image.load(os.path.join('Ikony', 'wozek.png')),
(bok_pola - odstep_miedzy_polami, bok_pola - odstep_miedzy_polami))
wozek_ikona = pygame.image.load(os.path.join('Ikony', 'wozek.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():
OKNO.fill(JASNOSZARY1)
for rzad in range(LICZBA_POL_W_PIONIE):
for kolumna in range(LICZBA_POL_W_POZIOMIE):
pygame.draw.rect(OKNO, BIALY, [(odstep_miedzy_polami + bok_pola) * kolumna + odstep_miedzy_polami,
(odstep_miedzy_polami + bok_pola) * rzad + odstep_miedzy_polami,
bok_pola, bok_pola])
def wyswietl_okno(agent1_hitbox):
OKNO.fill(BIALY)
OKNO.blit(agent1, (agent1_hitbox.x, agent1_hitbox.y))
os = random.randint(0, 1)
odleglosc = random.randint(20, 120)
znak = random.randint(0, 1)
if znak == 1:
odleglosc = 0 - odleglosc
if os == 0:
if agent1_hitbox.x + odleglosc < SZEROKOSC_OKNA - agent1_hitbox.width and agent1_hitbox.x + odleglosc > 0:
agent1_hitbox.x += odleglosc
else:
if agent1_hitbox.y + odleglosc < WYSOKOSC_OKNA - agent1_hitbox.height and agent1_hitbox.y + odleglosc > 0:
agent1_hitbox.y += odleglosc
pygame.display.update()
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:
pom = None
if pom != None:
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()
def main():
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
while warunek_dzialania:
klatkaz.tick(FPS)
for event in pygame.event.get():
if event.type == pygame.QUIT:
warunek_dzialania = False
break
wyswietl_okno(agent1_hitbox)
print(agent1_hitbox.x, agent1_hitbox.y)
# wyswietl_agenta1(agent1_hitbox)
pygame.quit()
klatkaz = pygame.time.Clock()
warunek_dzialania = True
while warunek_dzialania:
klatkaz.tick(FPS)
for event in pygame.event.get():
if event.type == pygame.QUIT:
warunek_dzialania = False
break
wyswietl_okno()
wyswietl_wozek()
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()
main()