From 1493ba9471f27ab107ecf95001c4acbf126bce5f Mon Sep 17 00:00:00 2001 From: moritz Date: Thu, 11 Jul 2024 09:41:21 +0200 Subject: [PATCH] Erstellen Szene 8 + 9 --- code/__pycache__/functions.cpython-310.pyc | Bin 1960 -> 1661 bytes code/__pycache__/setup.cpython-310.pyc | Bin 6611 -> 11518 bytes code/__pycache__/sprites.cpython-310.pyc | Bin 3907 -> 4603 bytes code/functions.py | 55 +--------- code/setup.py | 116 +++++++++++++++++++++ code/simulation.py | 46 ++++++-- code/sprites.py | 28 ++++- 7 files changed, 182 insertions(+), 63 deletions(-) diff --git a/code/__pycache__/functions.cpython-310.pyc b/code/__pycache__/functions.cpython-310.pyc index 4c838840dc343bfcf2e2f6bd93f509397f549acc..e27e0807a5285a2e72724fdcea9725ffeb98280f 100644 GIT binary patch delta 148 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 delta 581 zcmZwDO-ma=7zgluHfweglTDgzbcNMuG~(9K5CT>7pshws#g}SgOb((FEj{$bwUu{g=36VwTZS=D7@0PCcHWpWrU)~qZJuQo&dP)(iZR|G zag*7AH$=F}9E~?cxHV096SL)hlerr2kvL(9_b^l9Az@S!5@4Woh)`n5s6a~ogGJ3_ zl4r_7jHM%zKvbtjYn;+qkUC)tcnLRcUL zJitFy1o$UiUv(1k9lbv!d`A~htqOp!d&t19Hc-L$4+-pR0o6$g`wt=<4Ib#LPzC{i zN4TRDLcDF9Y7x~1MaorVfRocg8F|u-EYw($0#2hAQ)U#WONm8VU0Ta2hWKzfve0lu z0?$xrSa(HJ}PJ$Lre#IuQV^JG3DLbq-pAFs5;NgKD}HJm(|fIwZth}W;hNk^Qt#!36+DR?=> zN4Gz*4tqrvJuQ5CR@BjBFuax=p(H{6H%hK(q%X+}u}L2|tx%G;2|HP^hPWxd`_+EjeyW(*5Z9&^oeyFTKOSeBg#SA>BlXD tQhi-42bbVVVWA)oT7q;9Ms&~Cf delta 777 zcmZuuJ#Q015ZyWZeCKn{zEjTF0wti3h%YI^BqR=>F#&9ekOM4GB#;bbFZd$@v38Nd zQaY3-1&nAA5|q$^Qd80J8`2;uT6!90))$K+C+)l4d2im%%>F(8eLVZZbsa(9yVE=C ze{x^5uMDW*Tcfo5!`Mk|1t3HpByh9Q&s57Mmf>n631m=35( znTmCm=1uY`YaTRT9{Sj^4-9oRifoDYz^EqEv5}(%78$K-BSWUBpw+k#LkZ)$!} zaC2DbAm1T=^S}JfVg8^I=C}J|T6fHyY)eBI08)2S7pF2SdscTXdLA`Ot#VQbWeWV5 z9t&n#hw0R^Eg|*=vuHb2YmTNIfQ^rx68?62P{l`?hpDp^RVDnES%R@$7?}bH@q{~- zKgaPIhFJ!FBXu61xWxkdtkCMxHNqxK#gVnwet=&*6FG=!1y~uEh;WEQ@h8qkw8S)GTh9U#s`~Z`=4OqaJxjAUyr(BqtXR3yG&7zx8 zQ8(%}Hd@b`y{9= 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, 200, 75, id, street="street_1") + detectors_list.append(detector) + print(y_pos) + y_pos -= 100 + id += 1 + # Street 2 + for x_pos in range(1575, 1726, 150): + y_pos = 675 + id = 2 + while y_pos <= 975: + 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): + x_pos = 1475 + id = 2 + while x_pos >= 75: + 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 + + return lantern_list, detectors_list + +def setup_streets_scene_9(): + street_1 = sprites.Streets(0, 800, 1604, 4) # Street 2 Top Line + street_2 = sprites.Streets(0, 900, 1704, 4) # Street 2 Bottom Linee + street_3 = sprites.Streets(1700, 0, 4, 900) # Street 1 Right Line + street_4 = sprites.Streets(1600, 0, 4, 800) # Street 1 Left Line + + streets_list = [street_1, street_2, street_3, street_4] + + return streets_list + +def setup_lanterns_detectors_scene_9(): + + lantern_list = [] + detectors_list = [] + + cross_lantern_1 = sprites.Lanterns(1575, 775, 25, 25, id=1, street="street_1", crossing_id=1) + cross_lantern_2 = sprites.Lanterns(1725, 775, 25, 25, id=1, street="street_1", crossing_id=1) + cross_lantern_3 = sprites.Lanterns(1575, 925, 25, 25, id=1, street="street_2", crossing_id=1) + cross_lantern_4 = sprites.Lanterns(1725, 925, 25, 25, id=1, street="street_2", crossing_id=1) + cross_detector_1 = sprites.Detectors(1650, 850, 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(775, 926, 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 = 675 + id = 2 + while y_pos >= 75: + 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 d4e52e7..4ca495e 100644 --- a/code/simulation.py +++ b/code/simulation.py @@ -35,6 +35,12 @@ streets_list_scene_6 = setup.setup_streets_scene_6() streets_scene_7 = pygame.sprite.Group() streets_list_scene_7 = setup.setup_streets_scene_7() +streets_scene_8 = pygame.sprite.Group() +streets_list_scene_8 = setup.setup_streets_scene_8() + +streets_scene_9 = pygame.sprite.Group() +streets_list_scene_9 = setup.setup_streets_scene_9() + lanterns_scene_1 = pygame.sprite.Group() detectors_scene_1 = pygame.sprite.Group() @@ -64,6 +70,14 @@ 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() +lanterns_scene_8 = pygame.sprite.Group() +detectors_scene_8 = pygame.sprite.Group() +lantern_list_scene_8, detectors_list_scene_8 = setup.setup_lanterns_detectors_scene_8() + +lanterns_scene_9 = pygame.sprite.Group() +detectors_scene_9 = pygame.sprite.Group() +lantern_list_scene_9, detectors_list_scene_9 = setup.setup_lanterns_detectors_scene_9() + current_scene = "scene_1" @@ -116,6 +130,20 @@ for item in lantern_list_scene_7: for item in detectors_list_scene_7: detectors_scene_7.add(item) +for item in streets_list_scene_8: + streets_scene_8.add(item) +for item in lantern_list_scene_8: + lanterns_scene_8.add(item) +for item in detectors_list_scene_8: + detectors_scene_8.add(item) + +for item in streets_list_scene_9: + streets_scene_9.add(item) +for item in lantern_list_scene_9: + lanterns_scene_9.add(item) +for item in detectors_list_scene_9: + detectors_scene_9.add(item) + if __name__ == "__main__": run = True @@ -125,19 +153,23 @@ if __name__ == "__main__": run = False if current_scene == "scene_1": - functions.scene_1(screen, detectors_scene_1, streets_scene_1, lanterns_scene_1, player) + functions.scene(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) + functions.scene(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) + functions.scene(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) + functions.scene(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) + functions.scene(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) + functions.scene(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) + functions.scene(screen, detectors_scene_7, streets_scene_7, lanterns_scene_7, player) + if current_scene == "scene_8": + functions.scene(screen, detectors_scene_8, streets_scene_8, lanterns_scene_8, player) + if current_scene == "scene_9": + functions.scene(screen, detectors_scene_9, streets_scene_9, lanterns_scene_9, player) current_scene = player.sprite.left_scene(current_scene) diff --git a/code/sprites.py b/code/sprites.py index 422266b..739fccd 100644 --- a/code/sprites.py +++ b/code/sprites.py @@ -41,9 +41,11 @@ class Player(pygame.sprite.Sprite): def left_scene(self, current_scene): 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 >= 1880: + self.rect.x = -80 + return "scene_8" if current_scene == "scene_1" and self.rect.x <= -80: self.rect.x = 1880 return "scene_3" @@ -57,6 +59,9 @@ class Player(pygame.sprite.Sprite): if current_scene == "scene_2" and self.rect.x <= -80: self.rect.x = 1800 return "scene_4" + if current_scene == "scene_2" and self.rect.x >= 1880: + self.rect.x = -80 + return "scene_9" if current_scene == "scene_3" and self.rect.x >= 1880: self.rect.x = -80 return "scene_1" @@ -89,7 +94,26 @@ class Player(pygame.sprite.Sprite): return "scene_7" if current_scene == "scene_7" and self.rect.x <= -80: self.rect.x = 1880 - return "scene_6" + return "scene_6" + if current_scene == "scene_7" and self.rect.y >= 1080: + self.rect.y = -80 + return "scene_8" + if current_scene == "scene_8" and self.rect.y <= -80: + self.rect.y = 1080 + return "scene_7" + if current_scene == "scene_8" and self.rect.x <= -80: + self.rect.x = 1880 + return "scene_1" + if current_scene == "scene_8" and self.rect.y >= 1080: + self.rect.y = -80 + return "scene_9" + if current_scene == "scene_9" and self.rect.x <= -80: + self.rect.x = 1880 + self.rect.y = 795 + return "scene_2" + if current_scene == "scene_9" and self.rect.y <= -80: + self.rect.y = 1080 + return "scene_8" return current_scene def update(self):