From 178be4d5c33fbe872eaf40266146101d56bc59ff Mon Sep 17 00:00:00 2001 From: moritz Date: Wed, 10 Jul 2024 15:26:17 +0200 Subject: [PATCH] Szene 6 + 7 --- code/__pycache__/functions.cpython-312.pyc | Bin 4120 -> 5326 bytes code/__pycache__/setup.cpython-312.pyc | Bin 8613 -> 21612 bytes code/__pycache__/sprites.cpython-312.pyc | Bin 6801 -> 8670 bytes code/setup.py | 172 ++++++++++++++++++++- code/simulation.py | 47 ++++++ code/sprites.py | 26 +++- 6 files changed, 243 insertions(+), 2 deletions(-) diff --git a/code/__pycache__/functions.cpython-312.pyc b/code/__pycache__/functions.cpython-312.pyc index ed2de9818c0836987099a59fc549ad62f65a24fa..e3ba965abf04c675304cf3a09192a3596771a363 100644 GIT binary patch delta 214 zcmbQCa88r&G%qg~0}#|$_oc~*P2`hcG@GcdEtbOG!Vtxl!T}`ND;YI8UxL*5O|EAa z+gNm$kOede_m*O%9@)?1+SbOq&etD5kY66V9 NpHzUvXAl9_2>`9QEGPf~ delta 157 zcmX@7IYWW(G%qg~0}yQ4*PWImIFV0+QEQ^QHcKU=Ci}*upNx$DlVg~ynRJadPiK0- zGx-BI>*N}KtzZM7jvyc|(ghL1KthwPNEyTy0ukaMLK;NqfC!N4l@Mh`f~oXCcvl*HV*(ATp+yw diff --git a/code/__pycache__/setup.cpython-312.pyc b/code/__pycache__/setup.cpython-312.pyc index 91c876c452cbf240894aae270d1727fad231e081..0c3263bf4096a54ead84c7af92010cfc56a9be75 100644 GIT binary patch literal 21612 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 delta 1071 zcmYk5O-K}B7{_O3*PUIRU3JY^bIp(Z8cRb>%a1fugHXf|B8W)Dopfqlw`V5ME?W>C zqKmu`(KUkhC`+9>bqJwDULqJzc8Q^|G!J2yp8qUH1N+J6f77N%tj@j>g4GbVoG$qvBgzDEFZ3vzl?oIK%w{JOwHM&X?Rz{7w{Rm6e@9 zep~k%o8+CMlj(AXnV?KPYo}>xMS|mVDchiw%Z@KtdT2@Xmwk@>a-&mg+60^cs(=OnSAbeF z;7Pz6a3fSR!+gQDbk!RRorSjt=mX9H-9Rrx*Qg)*Ja7>h21bBU;1VzZ3<4MgT>yp{ zVtOi?@4ePRlk8aGpEV-3yRL}I%SS{>cUA6@_FBorB`x;s_-0YlroV|W89m?x(yI$| zOZmG)_*A^G*6NI3-?b@T)Q+G|Px;cwFG0fOX1t z$eK)yitMFsCwq04D8~U87t;$AkBp9m#ztJhdKEjVz&@?u?E3n8ia!uM!xNIq+^L{0Xkqf8u&H)1 zRjW+}hv20&#Dx@uOcAJ;U2s@7sPaBkd7w(RrvtFc&Q#)pI(ZNKn>G_!$(Cx8;L&y2 zQUX4CFKvbUavS`R1wj$6Vf%y~5Yrl=KyNM^VQGYY*leI>L0l3_7KD;T!Iq3I3xeg7 zPy{}G8`pr(8sWL#O&#z>Z`Zih#Xql5g}OMd-nB@%OX%Z;Z^jb%v)kitLirJdqX-g0 zGr}Mq`sQUvM1{kZ2p{~7){^F6(iY+F}V z2jkD{okt5bXSwaApjb9u|9r-nI(@|(;J)R6SU;w jb&i?<0N= 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 1 + for y_pos in range(75, 226, 150): + x_pos = 1075 + 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 1 + for x_pos in range(825, 976, 150): + y_pos = 325 + id = 2 + while y_pos <= 925: + 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 + + +def setup_streets_scene_7(): + street_1 = sprites.Streets(0, 100, 1700, 4) # Street 2 Top Line + street_2 = sprites.Streets(0, 200, 1600, 4) # Street 2 Bottom Linee + street_3 = sprites.Streets(1700, 100, 4, 900) # Street 1 Left Line + street_4 = sprites.Streets(1600, 200, 4, 800) # Street 3 Right Line + + streets_list = [street_1, street_2, street_3, street_4] + + return streets_list + +def setup_lanterns_detectors_scene_7(): + + lantern_list = [] + detectors_list = [] + + cross_lantern_1 = sprites.Lanterns(1575, 75, 25, 25, id=1, street="street_1", crossing_id=1) + cross_lantern_2 = sprites.Lanterns(1725, 75, 25, 25, id=1, street="street_1", crossing_id=1) + cross_lantern_3 = sprites.Lanterns(1575, 225, 25, 25, id=1, street="street_2", crossing_id=1) + cross_lantern_4 = sprites.Lanterns(1725, 225, 25, 25, id=1, street="street_2", crossing_id=1) + cross_detector_1 = sprites.Detectors(1650, 150, 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(75, 226, 150): + x_pos = 1475 + id = 2 + while x_pos >= 75: + 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(1575, 1726, 150): + y_pos = 325 + id = 2 + while y_pos <= 925: + 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) + 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 0cc69c9..d4e52e7 100644 --- a/code/simulation.py +++ b/code/simulation.py @@ -26,6 +26,15 @@ streets_list_scene_3 = setup.setup_streets_scene_3() streets_scene_4 = pygame.sprite.Group() streets_list_scene_4 = setup.setup_streets_scene_4() +streets_scene_5 = pygame.sprite.Group() +streets_list_scene_5 = setup.setup_streets_scene_5() + +streets_scene_6 = pygame.sprite.Group() +streets_list_scene_6 = setup.setup_streets_scene_6() + +streets_scene_7 = pygame.sprite.Group() +streets_list_scene_7 = setup.setup_streets_scene_7() + lanterns_scene_1 = pygame.sprite.Group() detectors_scene_1 = pygame.sprite.Group() @@ -43,6 +52,18 @@ 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() +lanterns_scene_5 = pygame.sprite.Group() +detectors_scene_5 = pygame.sprite.Group() +lantern_list_scene_5, detectors_list_scene_5 = setup.setup_lanterns_detectors_scene_5() + +lanterns_scene_6 = pygame.sprite.Group() +detectors_scene_6 = pygame.sprite.Group() +lantern_list_scene_6, detectors_list_scene_6 = setup.setup_lanterns_detectors_scene_6() + +lanterns_scene_7 = pygame.sprite.Group() +detectors_scene_7 = pygame.sprite.Group() +lantern_list_scene_7, detectors_list_scene_7 = setup.setup_lanterns_detectors_scene_7() + current_scene = "scene_1" @@ -74,6 +95,26 @@ for item in lantern_list_scene_4: for item in detectors_list_scene_4: detectors_scene_4.add(item) +for item in streets_list_scene_5: + streets_scene_5.add(item) +for item in lantern_list_scene_5: + lanterns_scene_5.add(item) +for item in detectors_list_scene_5: + detectors_scene_5.add(item) + +for item in streets_list_scene_6: + streets_scene_6.add(item) +for item in lantern_list_scene_6: + lanterns_scene_6.add(item) +for item in detectors_list_scene_6: + detectors_scene_6.add(item) + +for item in streets_list_scene_7: + streets_scene_7.add(item) +for item in lantern_list_scene_7: + lanterns_scene_7.add(item) +for item in detectors_list_scene_7: + detectors_scene_7.add(item) if __name__ == "__main__": @@ -91,6 +132,12 @@ if __name__ == "__main__": 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) + if current_scene == "scene_5": + functions.scene_2(screen, detectors_scene_5, streets_scene_5, lanterns_scene_5, player) + if current_scene == "scene_6": + functions.scene_2(screen, detectors_scene_6, streets_scene_6, lanterns_scene_6, player) + if current_scene == "scene_7": + functions.scene_2(screen, detectors_scene_7, streets_scene_7, lanterns_scene_7, player) current_scene = player.sprite.left_scene(current_scene) diff --git a/code/sprites.py b/code/sprites.py index 35295e7..422266b 100644 --- a/code/sprites.py +++ b/code/sprites.py @@ -47,6 +47,9 @@ class Player(pygame.sprite.Sprite): if current_scene == "scene_1" and self.rect.x <= -80: self.rect.x = 1880 return "scene_3" + if current_scene == "scene_1" and self.rect.y <= -80: + self.rect.y = 1080 + return "scene_6" if current_scene == "scene_2" and self.rect.y <= -80: self.rect.x = 900 self.rect.y = 1050 @@ -60,12 +63,33 @@ class Player(pygame.sprite.Sprite): if current_scene == "scene_3" and self.rect.y >= 1080: self.rect.y = -80 return "scene_4" + if current_scene == "scene_3" and self.rect.y <= -80: + self.rect.y = 1080 + return "scene_5" 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 "scene_3" + if current_scene == "scene_5" and self.rect.y >= 1080: + self.rect.y = -80 + return "scene_3" + if current_scene == "scene_5" and self.rect.x >= 1880: + self.rect.x = -80 + return "scene_6" + if current_scene == "scene_6" and self.rect.x <= -80: + self.rect.x = 1880 + return "scene_5" + if current_scene == "scene_6" and self.rect.y >= 1080: + self.rect.y = -80 + return "scene_1" + if current_scene == "scene_6" and self.rect.x >= 1880: + self.rect.x = -80 + return "scene_7" + if current_scene == "scene_7" and self.rect.x <= -80: + self.rect.x = 1880 + return "scene_6" return current_scene def update(self):