From 8e4283a9368232fc96060d91c7ada821d73cea05 Mon Sep 17 00:00:00 2001 From: moritz Date: Tue, 9 Jul 2024 14:41:33 +0200 Subject: [PATCH] Erweiterung um Scene 3 und 4 --- code/__pycache__/functions.cpython-310.pyc | Bin 0 -> 1960 bytes code/__pycache__/setup.cpython-310.pyc | Bin 2377 -> 6611 bytes code/__pycache__/sprites.cpython-310.pyc | Bin 3384 -> 3907 bytes code/functions.py | 36 ++++ code/setup.py | 226 +++++++++++++++++---- code/simulation.py | 35 ++++ code/sprites.py | 32 ++- 7 files changed, 279 insertions(+), 50 deletions(-) create mode 100644 code/__pycache__/functions.cpython-310.pyc diff --git a/code/__pycache__/functions.cpython-310.pyc b/code/__pycache__/functions.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4c838840dc343bfcf2e2f6bd93f509397f549acc GIT binary patch literal 1960 zcmb_c&u<$=6rPz~?~WbEaZ}Wms;H^>k@|wf4+((~Ak_+75>+5BmMhEbOp;CPU3+Ft zWwe1v

x40_T_;693I!k&t{wTsTm^H@k7Iio%7p=gqu%GjHGf-nTE^+-xvB(e96j zcWyBDD=F)bfbt23?LsJ~_=xqG63Y9Y^|z3Nd?1syb$0HPi;?nrf;|%zG;b?L^ zG@G9x)w7UFXW(6G{;`_P z=vYUm1FI98njJW^Z$L;P`3tU+Dcq70uyuy&T4sW;gLSQoB1cTMUX>M$hL4M2Hc`V&7aK-f zoednni(oQ88jdyE$^@-I7n|km&{f){UPwCr6?(yCh;tFzPtvPj!EJkC*#oLN1e4Kl zuB$4%1ZGB=5a!H-)|8V*4*DIGDtUA)XLL1a39rs;H s955~mL+>?oaxH6@zw2W1!*Qx+BmEJzLrYF1lXcmafxIiP%kAd&-y&O(B>(^b literal 0 HcmV?d00001 diff --git a/code/__pycache__/setup.cpython-310.pyc b/code/__pycache__/setup.cpython-310.pyc index 4bb09ebb66a816d7acd009977d08b2f75e74fb4d..e143f16af1c51dc926a1551d8f88fffc884bdb4a 100644 GIT binary patch literal 6611 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 diff --git a/code/__pycache__/sprites.cpython-310.pyc b/code/__pycache__/sprites.cpython-310.pyc index c2a33824f8749c7585baa3bc5067438c70d6ce4a..3e0327e2bb2a33f5f8f02ba6cbb1c5f3da51660b 100644 GIT binary patch delta 1084 zcmZuv%}*0i5P#EdcemSasklHx!bcF4VuE}LMdeFG8bwNMG=zg23t-HStJ z4MaOv{W#6zL#UJTc<}gCS*M6Xx-SIP!1NKJG!Oei*bf$@q0qd~t60#yUr2zL^NC;a z_;SH3)k4ep2J#!#{9;IKR0YbNP{58aK%MOH0G(`nnhL<7MrKP|9>?g|y>3cjOoVV? z?wiBI!^(Z1JFhWTIrY1Z80G3mt_G4pQHxnc(TXUV5Ry1(G$nIsT?qV*Z0`xtK)eSD zVvU@$>{DHM&JQA3pyN`2Y#A%|=-vOm0-Go1a*MG?j_Cd;DSOq%(^SP4d%<2ZAPZzU z%QA5a39RxA8qp@7s4dOY=;pCErb84qO%x=(^@n`1;3OmRojR)aP;{^SqxM*F3S?2x zOySs{H%YgOW}P< z&)%Gzn3+pYh$v+Z%TM9%p$p_*B)CK{LU4s(ir^|i9YJ-v-jlcGgpq?``Pvu+TYfb% z>JSB`vEhUn5l-GI*g5y!O5v`wBb_bB6+J@YX%6wiuzE_B_} G67j!O``;h{ delta 520 zcmZvY%}ZNB5WshQd9R!I-o8XkG!<>6rD#lzsZnc0qS2}e2ugD+h=|705>z(!p!8nx z76v>@J@(K;$wk47_%C?MMFpYcrg)dm#2npafAh`E?8U2-PH#&oThO^YJJ|T@RJ*FYKdL&9&US!>13ouaOr)d!gOVXOHv)kTpX;+HrUz!I9W zh2^>^2>pfkLFZ@nIeKR|N>vIBuZGZA_b3H}G=?`XvU diff --git a/code/functions.py b/code/functions.py index af2121f..ca3a62e 100644 --- a/code/functions.py +++ b/code/functions.py @@ -96,3 +96,39 @@ def scene_2(screen, detectors, streets, lanterns, player): if pygame.sprite.spritecollide(player.sprite, streets, False): player.sprite.set_back() + +def scene_3(screen, detectors, streets, lanterns, player): + screen.fill("Pink") + detectors.draw(screen) + streets.draw(screen) + lanterns.draw(screen) + player.draw(screen) + player.update() + + for lantern in lanterns: + lantern.reset_light() + + # Check for collision and light up corresponding lantern + collisions = pygame.sprite.spritecollide(player.sprite, detectors, False) + check_sensor(collisions, lanterns) + + if pygame.sprite.spritecollide(player.sprite, streets, False): + player.sprite.set_back() + +def scene_4(screen, detectors, streets, lanterns, player): + screen.fill("Pink") + detectors.draw(screen) + streets.draw(screen) + lanterns.draw(screen) + player.draw(screen) + player.update() + + for lantern in lanterns: + lantern.reset_light() + + # Check for collision and light up corresponding lantern + collisions = pygame.sprite.spritecollide(player.sprite, detectors, False) + check_sensor(collisions, lanterns) + + if pygame.sprite.spritecollide(player.sprite, streets, False): + player.sprite.set_back() \ No newline at end of file diff --git a/code/setup.py b/code/setup.py index 23cc49d..81a2a3b 100644 --- a/code/setup.py +++ b/code/setup.py @@ -2,6 +2,89 @@ import pygame import sprites def setup_streets_scene_1(): + street_1 = sprites.Streets(0, 450, 850, 4) # Street 1 Top Line + street_2 = sprites.Streets(0, 550, 850, 4) # Street 1 Bottomm Line + street_3 = sprites.Streets(950, 450, 850, 4) # Street 2 Left Line + street_4 = sprites.Streets(950, 550, 850, 4) # Street 2 Right Line + street_5 = sprites.Streets(850, 0, 4, 454) # Street 3 Left Line + street_6 = sprites.Streets(950, 0, 4, 454) # Street 3 Right Line + street_7 = sprites.Streets(850, 550, 4, 450) # Street 5/6 Bottom Line + street_8 = sprites.Streets(950, 550, 4, 450) # Street 4 Left Line + + streets_list = [street_1, street_2, street_3, street_4, street_5, street_6, street_7, street_8] + + return streets_list + +def setup_lanterns_detectors_scene_1(): + + lantern_list = [] + detectors_list = [] + + # intersection 1 + cross_lantern_1 = sprites.Lanterns(825, 425, 25, 25, id=1, street="street_1", crossing_id=1) + cross_lantern_2 = sprites.Lanterns(975, 425, 25, 25, id=1, street="street_2", crossing_id=1) + cross_lantern_3 = sprites.Lanterns(975, 575, 25, 25, id=1, street="street_3", crossing_id=1) + cross_lantern_4 = sprites.Lanterns(825, 575, 25, 25, id=1, street="street_4", crossing_id=1) + cross_detector_1 = sprites.Detectors(900, 500, 260, 260, crossing_id=1) + + lantern_list.extend([cross_lantern_1, cross_lantern_2, cross_lantern_3, cross_lantern_4]) + detectors_list.append(cross_detector_1) + + # Street 1 + for y_pos in range(425, 576, 150): + print("street 1") + x_pos = 725 + id = 2 + while x_pos >= 25: + lantern = sprites.Lanterns(x_pos, y_pos, 25, 25, id, street="street_1") + lantern_list.append(lantern) + detector = sprites.Detectors(x_pos, y_pos, 75, 90, id, street="street_1") + detectors_list.append(detector) + x_pos -= 100 + id += 1 + + # Street 2 + for x_pos in range(825, 976, 150): + y_pos = 325 + id = 2 + while y_pos >= 25: + lantern = sprites.Lanterns(x_pos, y_pos, 25, 25, id, street="street_2") + lantern_list.append(lantern) + detector = sprites.Detectors(x_pos, y_pos, 200, 75, id, street="street_2") + detectors_list.append(detector) + print(y_pos) + y_pos -= 100 + id += 1 + + # Street 3 + for y_pos in range(425, 576, 150): + print("street 1") + x_pos = 1075 + id = 2 + while x_pos <= 1775: + lantern = sprites.Lanterns(x_pos, y_pos, 25, 25, id, street="street_3") + lantern_list.append(lantern) + detector = sprites.Detectors(x_pos, y_pos, 75, 90, id, street="street_3") + detectors_list.append(detector) + x_pos += 100 + id += 1 + + # Street 4 + for x_pos in range(825, 976, 150): + y_pos = 675 + id = 2 + while y_pos <= 975: + lantern = sprites.Lanterns(x_pos, y_pos, 25, 25, id, street="street_4") + lantern_list.append(lantern) + detector = sprites.Detectors(x_pos, y_pos, 200, 75, id, street="street_4") + detectors_list.append(detector) + print(y_pos) + y_pos += 100 + id += 1 + + return lantern_list, detectors_list + +def setup_streets_scene_2(): street_1 = sprites.Streets(0, 100, 850, 4) # Street 1 Top Line street_2 = sprites.Streets(0, 200, 850, 4) # Street 1 Bottomm Line street_3 = sprites.Streets(950, 100, 850, 4) # Street 2 Top Line @@ -19,7 +102,7 @@ def setup_streets_scene_1(): return streets_list -def setup_lanterns_detectors_scene_1(): +def setup_lanterns_detectors_scene_2(): lantern_list = [] detectors_list = [] @@ -91,7 +174,7 @@ def setup_lanterns_detectors_scene_1(): cross_lantern_4 = sprites.Lanterns(975, 75, 25, 25, id=1, street="street_2", crossing_id=1) cross_detector_1 = sprites.Detectors(900, 150, 260, 260, crossing_id=1) - # Crossing 1 + # Crossing 2 cross_lantern_5 = sprites.Lanterns(825, 725, 25, 25, id=6, street="street_4", crossing_id=2) cross_lantern_6 = sprites.Lanterns(825, 875, 25, 25, id=9, street="street_5", crossing_id=2) cross_lantern_7 = sprites.Lanterns(975, 725, 25, 25, id=1, street="street_6", crossing_id=2) @@ -103,50 +186,49 @@ def setup_lanterns_detectors_scene_1(): return lantern_list, detectors_list -def setup_streets_scene_2(): - street_1 = sprites.Streets(0, 450, 850, 4) # Street 1 Top Line - street_2 = sprites.Streets(0, 550, 850, 4) # Street 1 Bottomm Line - street_3 = sprites.Streets(950, 450, 850, 4) # Street 2 Top Line - street_4 = sprites.Streets(950, 550, 850, 4) # Street 2 Bottom Line - street_5 = sprites.Streets(850, 0, 4, 454) # Street 3 Left Line - street_6 = sprites.Streets(950, 0, 4, 454) # Street 3 Right Line - street_7 = sprites.Streets(850, 550, 4, 450) # Street 5/6 Bottom Line - street_8 = sprites.Streets(950, 550, 4, 450) # Street 4 Left Line - streets_list = [street_1, street_2, street_3, street_4, street_5, street_6, street_7, street_8] +def setup_streets_scene_3(): + street_1 = sprites.Streets(100, 0, 4, 1000) # Street 1/2 Left Line + street_2 = sprites.Streets(200, 0, 4, 454) # Street 2 Right Line + street_3 = sprites.Streets(200, 550, 4, 450) # Street 1 Right Line + street_4 = sprites.Streets(200, 450, 1600, 4) # Street 3 Top Line + street_5 = sprites.Streets(200, 550, 1600, 4) # Street 3 Bottom Line + + streets_list = [street_1, street_2, street_3, street_4, street_5] return streets_list -def setup_lanterns_detectors_scene_2(): + +def setup_lanterns_detectors_scene_3(): lantern_list = [] detectors_list = [] # intersection 1 - cross_lantern_1 = sprites.Lanterns(825, 425, 25, 25, id=1, street="street_1", crossing_id=1) - cross_lantern_2 = sprites.Lanterns(975, 425, 25, 25, id=1, street="street_2", crossing_id=1) - cross_lantern_3 = sprites.Lanterns(975, 575, 25, 25, id=1, street="street_3", crossing_id=1) - cross_lantern_4 = sprites.Lanterns(825, 575, 25, 25, id=1, street="street_4", crossing_id=1) - cross_detector_1 = sprites.Detectors(900, 500, 260, 260, crossing_id=1) + cross_lantern_1 = sprites.Lanterns(225, 425, 25, 25, id=1, street="street_3", crossing_id=1) + cross_lantern_2 = sprites.Lanterns(225, 575, 25, 25, id=1, street="street_1", crossing_id=1) + cross_lantern_3 = sprites.Lanterns(75, 425, 25, 25, id=1, street="street_2", crossing_id=1) + cross_lantern_4 = sprites.Lanterns(75, 575, 25, 25, id=1, street="street_1", crossing_id=1) + cross_detector_1 = sprites.Detectors(150, 500, 260, 260, crossing_id=1) lantern_list.extend([cross_lantern_1, cross_lantern_2, cross_lantern_3, cross_lantern_4]) detectors_list.append(cross_detector_1) # Street 1 - for y_pos in range(425, 576, 150): - print("street 1") - x_pos = 725 + for x_pos in range(75, 226, 150): + y_pos = 675 id = 2 - while x_pos >= 25: + while y_pos <= 975: lantern = sprites.Lanterns(x_pos, y_pos, 25, 25, id, street="street_1") lantern_list.append(lantern) - detector = sprites.Detectors(x_pos, y_pos, 75, 90, id, street="street_1") + detector = sprites.Detectors(x_pos, y_pos, 200, 75, id, street="street_1") detectors_list.append(detector) - x_pos -= 100 + print(y_pos) + y_pos += 100 id += 1 # Street 2 - for x_pos in range(825, 976, 150): + for x_pos in range(75, 226, 150): y_pos = 325 id = 2 while y_pos >= 25: @@ -158,10 +240,9 @@ def setup_lanterns_detectors_scene_2(): y_pos -= 100 id += 1 - # Street 3 + # Street 3 for y_pos in range(425, 576, 150): - print("street 1") - x_pos = 1075 + x_pos = 325 id = 2 while x_pos <= 1775: lantern = sprites.Lanterns(x_pos, y_pos, 25, 25, id, street="street_3") @@ -170,21 +251,80 @@ def setup_lanterns_detectors_scene_2(): detectors_list.append(detector) x_pos += 100 id += 1 - - # Street 4 - for x_pos in range(825, 976, 150): - y_pos = 675 - id = 2 - while y_pos <= 975: - lantern = sprites.Lanterns(x_pos, y_pos, 25, 25, id, street="street_4") - lantern_list.append(lantern) - detector = sprites.Detectors(x_pos, y_pos, 200, 75, id, street="street_4") - detectors_list.append(detector) - print(y_pos) - y_pos += 100 - id += 1 - - return lantern_list, detectors_list +def setup_streets_scene_4(): + street_1 = sprites.Streets(200, 100, 1600, 4) # Street 1 Top Line + street_2 = sprites.Streets(200, 200, 1600, 4) # Street 1 Bottom Line + street_3 = sprites.Streets(200, 750, 1600, 4) # Street 2 Top Line + street_4 = sprites.Streets(100, 850, 1600, 4) # Street 2 Bottom Linee + street_5 = sprites.Streets(200, 200, 4, 550) # Street 3 right middle Line + street_6 = sprites.Streets(100, 0, 4, 850) # Street 3 Left Line + street_7 = sprites.Streets(200, 0, 4, 100) # Street 3 right top Line + + + + streets_list = [street_1, street_2, street_3, street_4, street_5, street_6, street_7] + + return streets_list + +def setup_lanterns_detectors_scene_4(): + + lantern_list = [] + detectors_list = [] + + # Intersection 1 + cross_lantern_1 = sprites.Lanterns(225, 725, 25, 25, id=1, street="street_2", crossing_id=1) + cross_lantern_2 = sprites.Lanterns(225, 875, 25, 25, id=1, street="street_2", crossing_id=1) + cross_lantern_3 = sprites.Lanterns(75, 725, 25, 25, id=6, street="street_3", crossing_id=1) + cross_lantern_4 = sprites.Lanterns(75, 875, 25, 25, id=6, street="street_3", crossing_id=1) + cross_detector_1 = sprites.Detectors(150, 800, 260, 260, crossing_id=1) + + # Intersection 2 + cross_lantern_5 = sprites.Lanterns(225, 75, 25, 25, id=1, street="street_1", crossing_id=2) + cross_lantern_6 = sprites.Lanterns(225, 225, 25, 25, id=1, street="street_1", crossing_id=2) + cross_lantern_7 = sprites.Lanterns(75, 75, 25, 25, id=1, street="street_3", crossing_id=2) + cross_lantern_8 = sprites.Lanterns(75, 225, 25, 25, id=1, street="street_3", crossing_id=2) + cross_detector_2 = sprites.Detectors(150, 150, 260, 260, crossing_id=2) + + lantern_list.extend([cross_lantern_1, cross_lantern_2, cross_lantern_3, cross_lantern_4, cross_lantern_5, cross_lantern_6, cross_lantern_7, cross_lantern_8]) + detectors_list.extend([cross_detector_1, cross_detector_2]) + + # Street 1 + for y_pos in range(75, 226, 150): + x_pos = 325 + id = 2 + while x_pos <= 1775: + lantern = sprites.Lanterns(x_pos, y_pos, 25, 25, id, street="street_1") + lantern_list.append(lantern) + detector = sprites.Detectors(x_pos, y_pos, 75, 90, id, street="street_1") + detectors_list.append(detector) + x_pos += 100 + id += 1 + + # Street 2 + for y_pos in range(725, 876, 150): + x_pos = 325 + id = 2 + while x_pos <= 1775: + lantern = sprites.Lanterns(x_pos, y_pos, 25, 25, id, street="street_2") + lantern_list.append(lantern) + detector = sprites.Detectors(x_pos, y_pos, 75, 90, id, street="street_2") + detectors_list.append(detector) + x_pos += 100 + id += 1 + + # Street 3 + for x_pos in range(75, 226, 150): + y_pos = 325 + id = 2 + while y_pos <= 625: + lantern = sprites.Lanterns(x_pos, y_pos, 25, 25, id, street="street_3") + lantern_list.append(lantern) + detector = sprites.Detectors(x_pos, y_pos, 200, 75, id, street="street_3") + detectors_list.append(detector) + y_pos += 100 + id += 1 + + return lantern_list, detectors_list \ No newline at end of file diff --git a/code/simulation.py b/code/simulation.py index 8c43092..0cc69c9 100644 --- a/code/simulation.py +++ b/code/simulation.py @@ -16,9 +16,16 @@ player.add(sprites.Player()) streets_scene_1 = pygame.sprite.Group() streets_list_scene_1 = setup.setup_streets_scene_1() + streets_scene_2 = pygame.sprite.Group() streets_list_scene_2 = setup.setup_streets_scene_2() +streets_scene_3 = pygame.sprite.Group() +streets_list_scene_3 = setup.setup_streets_scene_3() + +streets_scene_4 = pygame.sprite.Group() +streets_list_scene_4 = setup.setup_streets_scene_4() + lanterns_scene_1 = pygame.sprite.Group() detectors_scene_1 = pygame.sprite.Group() @@ -28,6 +35,15 @@ lanterns_scene_2 = pygame.sprite.Group() detectors_scene_2 = pygame.sprite.Group() lantern_list_scene_2, detectors_list_scene_2 = setup.setup_lanterns_detectors_scene_2() +lanterns_scene_3 = pygame.sprite.Group() +detectors_scene_3 = pygame.sprite.Group() +lantern_list_scene_3, detectors_list_scene_3 = setup.setup_lanterns_detectors_scene_3() + +lanterns_scene_4 = pygame.sprite.Group() +detectors_scene_4 = pygame.sprite.Group() +lantern_list_scene_4, detectors_list_scene_4 = setup.setup_lanterns_detectors_scene_4() + + current_scene = "scene_1" for item in lantern_list_scene_1: @@ -36,6 +52,7 @@ for item in detectors_list_scene_1: detectors_scene_1.add(item) for item in streets_list_scene_1: streets_scene_1.add(item) + for item in streets_list_scene_2: streets_scene_2.add(item) for item in lantern_list_scene_2: @@ -43,6 +60,20 @@ for item in lantern_list_scene_2: for item in detectors_list_scene_2: detectors_scene_2.add(item) +for item in streets_list_scene_3: + streets_scene_3.add(item) +for item in lantern_list_scene_3: + lanterns_scene_3.add(item) +for item in detectors_list_scene_3: + detectors_scene_3.add(item) + +for item in streets_list_scene_4: + streets_scene_4.add(item) +for item in lantern_list_scene_4: + lanterns_scene_4.add(item) +for item in detectors_list_scene_4: + detectors_scene_4.add(item) + if __name__ == "__main__": @@ -56,6 +87,10 @@ if __name__ == "__main__": functions.scene_1(screen, detectors_scene_1, streets_scene_1, lanterns_scene_1, player) if current_scene == "scene_2": functions.scene_2(screen, detectors_scene_2, streets_scene_2, lanterns_scene_2, player) + if current_scene == "scene_3": + functions.scene_2(screen, detectors_scene_3, streets_scene_3, lanterns_scene_3, player) + if current_scene == "scene_4": + functions.scene_2(screen, detectors_scene_4, streets_scene_4, lanterns_scene_4, player) current_scene = player.sprite.left_scene(current_scene) diff --git a/code/sprites.py b/code/sprites.py index 38f3d0f..35295e7 100644 --- a/code/sprites.py +++ b/code/sprites.py @@ -10,7 +10,7 @@ class Player(pygame.sprite.Sprite): self.player_direction = [player_right, player_left] self.image = self.player_direction[0] - self.rect = self.image.get_rect(center = (0, 150)) + self.rect = self.image.get_rect(center = (900, 500)) self.walking_speed = 10 @@ -40,20 +40,38 @@ class Player(pygame.sprite.Sprite): self.rect.x = 1860 def left_scene(self, current_scene): - if current_scene == "scene_1" and self.rect.y <= -80: - self.rect.x = 900 - self.rect.y = 1050 - return "scene_2" - if current_scene == "scene_2" and self.rect.y >= 1080: + if current_scene == "scene_1" and self.rect.y >= 1080: self.rect.x = 900 self.rect.y = -80 + return "scene_2" + if current_scene == "scene_1" and self.rect.x <= -80: + self.rect.x = 1880 + return "scene_3" + if current_scene == "scene_2" and self.rect.y <= -80: + self.rect.x = 900 + self.rect.y = 1050 return "scene_1" + if current_scene == "scene_2" and self.rect.x <= -80: + self.rect.x = 1800 + return "scene_4" + if current_scene == "scene_3" and self.rect.x >= 1880: + self.rect.x = -80 + return "scene_1" + if current_scene == "scene_3" and self.rect.y >= 1080: + self.rect.y = -80 + return "scene_4" + if current_scene == "scene_4" and self.rect.x >= 1880: + self.rect.x = -80 + return "scene_2" + if current_scene == "scene_4" and self.rect.y <= -80: + self.rect.y = 1080 + return "scene_3" return current_scene def update(self): self.get_last_position() self.player_inputs() - self.left_screen() + # self.left_screen()