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

82
main.py
View File

@ -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()