Erstellen Szene 8 + 9
This commit is contained in:
parent
41fa99c510
commit
1493ba9471
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -60,26 +60,8 @@ def check_sensor(collisions, lanterns):
|
|||
if lantern.id == detector.id:
|
||||
lantern.light_up(255, 255, 0, 255)
|
||||
|
||||
def scene_1(screen, detectors, streets, lanterns, player):
|
||||
screen.fill("Grey")
|
||||
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_2(screen, detectors, streets, lanterns, player):
|
||||
def scene(screen, detectors, streets, lanterns, player):
|
||||
screen.fill("Pink")
|
||||
detectors.draw(screen)
|
||||
streets.draw(screen)
|
||||
|
@ -97,38 +79,3 @@ 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()
|
116
code/setup.py
116
code/setup.py
|
@ -495,6 +495,122 @@ def setup_lanterns_detectors_scene_7():
|
|||
y_pos += 100
|
||||
id += 1
|
||||
|
||||
return lantern_list, detectors_list
|
||||
|
||||
|
||||
def setup_streets_scene_8():
|
||||
street_1 = sprites.Streets(1700, 0, 4, 1000) # Street 1/2 Right Line
|
||||
street_2 = sprites.Streets(1600, 0, 4, 454) # Street 1 Left Line
|
||||
street_3 = sprites.Streets(1600, 550, 4, 450) # Street 2 Left Line
|
||||
street_4 = sprites.Streets(0, 450, 1600, 4) # Street 3 Top Line
|
||||
street_5 = sprites.Streets(0, 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_8():
|
||||
|
||||
lantern_list = []
|
||||
detectors_list = []
|
||||
|
||||
# intersection 1
|
||||
cross_lantern_1 = sprites.Lanterns(1575, 425, 25, 25, id=1, street="street_3", crossing_id=1)
|
||||
cross_lantern_2 = sprites.Lanterns(1575, 575, 25, 25, id=1, street="street_3", crossing_id=1)
|
||||
cross_lantern_3 = sprites.Lanterns(1725, 425, 25, 25, id=1, street="street_1", crossing_id=1)
|
||||
cross_lantern_4 = sprites.Lanterns(1725, 575, 25, 25, id=1, street="street_2", crossing_id=1)
|
||||
cross_detector_1 = sprites.Detectors(1650, 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 x_pos in range(1575, 1726, 150):
|
||||
y_pos = 325
|
||||
id = 2
|
||||
while y_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, 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
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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):
|
||||
|
|
Loading…
Reference in a new issue