From 058fd275e4918ab03e37e8136a0f5215a426da12 Mon Sep 17 00:00:00 2001 From: jango Date: Sat, 13 Oct 2018 08:26:48 +0200 Subject: [PATCH] homework --- color-me-happy-game-over.jpg | Bin 0 -> 10818 bytes pong.py | 69 +++++++++++++++++++++++++++-------- 2 files changed, 53 insertions(+), 16 deletions(-) create mode 100644 color-me-happy-game-over.jpg diff --git a/color-me-happy-game-over.jpg b/color-me-happy-game-over.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba970d65e73c7a494491fe7389208d5163dd2388 GIT binary patch literal 10818 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 Tg74{`0NwJn3&8&bpXUA-N;dhj literal 0 HcmV?d00001 diff --git a/pong.py b/pong.py index 7fcfc8a..35cd485 100644 --- a/pong.py +++ b/pong.py @@ -3,11 +3,13 @@ import pygame speed = 0 + def init(): - global width, height, size - global speed_x, speed_y - speed_x = 1 - speed_y = 1 + global width, height, size, zaehler + global speed_x, speed_y, image_g_o + zaehler = 0 + speed_x = -1 + speed_y = -1 global black, red global image, image_rect width = 1080 @@ -16,17 +18,18 @@ def init(): black = (0, 0, 0) red = (255, 0, 0) image = pygame.image.load("ohm.png") + image_g_o = pygame.image.load("color-me-happy-game-over.jpg") image_rect = image.get_rect() - image_rect.x = 100 - image_rect.y = 50 + image_rect.x = 500 + image_rect.y = 350 def initRectangle(): - global rect - x = 400 + global rect, width_player, height_player, x, y + x = 0 y = 650 - width = 300 - height = 40 - rect = pygame.Rect(x, y, width, height) + width_player = 300 + height_player = 40 + rect = pygame.Rect(x, y, width_player, height_player) def input(): global speed @@ -43,14 +46,48 @@ def input(): speed = 0 if event.key == pygame.K_RIGHT: speed = 0 - + if event.type == pygame.KEYDOWN: + if event.key == pygame.K_ESCAPE: + return False return True +def reflect_x(): + global speed_x + speed_x *= -1 + + +def reflect_y(): + global speed_y + speed_y *= -1 + +def game_over(): + global image_g_o + screen.blit(image_g_o, (0, 0)) + def update(): - rect.x = rect.x + speed - #if image_rect.x == 0 - image_rect.x += speed_x - image_rect.y += speed_y + global x, y, width_player, height_player, speed, width, zaehler, height + + if (speed == -1 and rect.x <= 0) or (speed == 1 and rect.x >= (width - width_player)): + pass + else : + rect.x = rect.x + speed + + if (zaehler%2 == 0) and (image_rect.x <= 0 or image_rect.x >= width) : + reflect_x() + elif (zaehler%2 == 0) and image_rect.y <= 0 : + reflect_y() + if (zaehler%2 == 0) and (image_rect.y == (y - height_player) and image_rect.x >= rect.x and image_rect.x <= (rect.x + width_player)) : + reflect_y() + + zaehler = zaehler + 1 + + if (zaehler%2 == 0): + image_rect.x += speed_x + image_rect.y += speed_y + else: + pass + if image_rect.y == height and (zaehler%2 == 0): + game_over() def draw(): screen.fill(black)