From 5d9b45bf4bf40eca3b181c383bbf136c947f2eee Mon Sep 17 00:00:00 2001 From: jatinsinghal1921 Date: Tue, 2 Oct 2018 12:27:52 +0530 Subject: [PATCH] Added 2 simple games designed using pygame --- pygame/1.py | 144 +++++++++++++++++++++++++++++++++++++++++++ pygame/racingCar.png | Bin 0 -> 6864 bytes pygame/skater.png | Bin 0 -> 152 bytes pygame/skateter.py | 144 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 288 insertions(+) create mode 100644 pygame/1.py create mode 100644 pygame/racingCar.png create mode 100644 pygame/skater.png create mode 100644 pygame/skateter.py diff --git a/pygame/1.py b/pygame/1.py new file mode 100644 index 0000000..23f6a3f --- /dev/null +++ b/pygame/1.py @@ -0,0 +1,144 @@ +import pygame +import time +import random + +pygame.init() +pygame.mixer.init() + + +display_width = 800 +display_height = 600 +car_width = 56 + +black = (0,0,0) +white = (255,255,255) +green = (0,255,0) + +gameDisplay = pygame.display.set_mode((display_width,display_height)) +pygame.display.set_caption("A bit racey") + +clock = pygame.time.Clock() + +carImg = pygame.image.load('racingCar.png') + +# rectangle obstracles display:- + +def blockDisplay(color,blockX,blockY,blockWidth,blockHeight): + pygame.draw.rect(gameDisplay,color,[blockX,blockY,blockWidth,blockHeight]) + +# car displays:- + +def car(x,y): + gameDisplay.blit(carImg,(x,y)) + + +#message display if car crashes:- + +def text_object(text,font): + textSurface = font.render(text,True,black) + return textSurface , textSurface.get_rect() + + +def message(text): + largeText = pygame.font.Font('freesansbold.ttf',70) + TextSurf , TextRect = text_object(text,largeText) + TextRect.center = ( (display_width/2),(display_height/2) ) + + gameDisplay.fill(white) + gameDisplay.blit(TextSurf,TextRect) + pygame.display.update() + time.sleep(2) + game_loop() + + +def crash(score): + message("Your Score " + str(score) ) + + +# score display:- + +def score_text_object(text,font): + textSurface = font.render(text,True,green) + return textSurface , textSurface.get_rect() + + +def scoreMessage(text): + largeText = pygame.font.Font('freesansbold.ttf',15) + TextSurf , TextRect = score_text_object(text,largeText) + TextRect.center = (13,10) + gameDisplay.blit(TextSurf,TextRect) + pygame.display.update() + + +def scoreDisplay(score): + scoreMessage("Your Score " + str(score) ) + + +def game_loop(): + score=0 + carX = (display_width * 0.45) + carY = (display_height * 0.8) + + car_x_change = 0 + gameExit = False + + # block config:- + + blockX = random.randrange(0,display_width) + blockY = -600 + blockWidth = 100 + blockHeight = 100 + blockColor = black + blockSpeed = 9 + + while not gameExit: + + # Event capturing:- + for event in pygame.event.get(): + if event.type == pygame.QUIT: + pygame.quit() + quit() + + if event.type == pygame.KEYDOWN: + if event.key == pygame.K_LEFT: + car_x_change = -5 + elif event.key == pygame.K_RIGHT: + car_x_change = 5 + + if event.type == pygame.KEYUP: + if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT: + car_x_change=0 + + # update background based on event captured:- + carX = carX + car_x_change + + if carX<=0 or carX>=display_width - car_width: + crash(score) + + if blockY>display_height: + score = score + 1 + blockSpeed += 1 + blockY = -display_height + blockX = random.randrange(0,display_width) + + if (carX>blockX and carXblockX and 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 KMNUMnLSTZsFl`S2 literal 0 HcmV?d00001 diff --git a/pygame/skater.png b/pygame/skater.png new file mode 100644 index 0000000000000000000000000000000000000000..4d511aea11ec98ba9fa26915318be483def616c9 GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^{y@yb!2~4N%qkZKQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`ISV`@iy0XB4ude`@%$AjKtWwk7sn6}@8lZo#fJ=%7=)+DNhVy`eptNc tSJ{uI!25jh2Cr^E= display_width-skate_width: + skateX=display_width-skate_width + + + # Ball Updations:- + + ballX += ball_x_speed + ballY += ball_y_speed + + if ballX + ball_rad >= display_width: + ball_x_speed = -ball_x_speed + + if ballX - ball_rad <= 0: + ball_x_speed = -ball_x_speed + + if ballY - ball_rad <= 0: + ball_y_speed = -ball_y_speed + + if ballY + ball_rad >= display_height - skate_height: + if (ballX + ball_rad >= skateX) and (ballX-ball_rad <= skateX+skate_width): + ball_y_speed = - ball_y_speed + + else: + loose() + + + # frontEnd update:- + gameDisplay.fill(black) + Skater(skateX,skateY) + ballDisplay(color,ballX,ballY,ball_rad) + pygame.display.update() + clock.tick(60) + + +game_loop() +pygame.quit() +quit()