Dodanie wózka poruszającego się losowo.
This commit is contained in:
parent
3bbc35e1ac
commit
7818eb4095
102
main.py
102
main.py
@ -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()
|
||||
|
Loading…
Reference in New Issue
Block a user