From 7818eb40955e70f13b6bd49513c8c70db8f40a69 Mon Sep 17 00:00:00 2001 From: Dominik Jagosz Date: Tue, 8 Mar 2022 23:00:29 +0100 Subject: [PATCH] =?UTF-8?q?Dodanie=20w=C3=B3zka=20poruszaj=C4=85cego=20si?= =?UTF-8?q?=C4=99=20losowo.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 102 +++++++++++++++++++++----------------------------------- 1 file changed, 38 insertions(+), 64 deletions(-) diff --git a/main.py b/main.py index 1228ded..47887b0 100644 --- a/main.py +++ b/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()