Finance[US] Career Guide Free Tutorials Go to Your University Placement Preparation 
0 like 0 dislike
1.1k views
in Python Programming by Goeduhub's Expert (7.6k points)
recategorized by
Developing a game activity using Pygame like bouncing ball, car race etc.

1 Answer

0 like 0 dislike
by Goeduhub's Expert (7.6k points)
edited by
 
Best answer

Developing a game activity using Pygame like bouncing ball, car race etc

Program

import pygame

import random

import os

pygame.mixer.init()

pygame.init()

# Colors

white = (255, 255, 255)

red = (255, 0, 0)

black = (0, 0, 0)

# Creating window

screen_width = 900

screen_height = 600

gameWindow = pygame.display.set_mode((screen_width, screen_height))

#Background Image

bgimg = pygame.image.load("sanke.jpg")

bgimg = pygame.transform.scale(bgimg, (screen_width, screen_height)).convert_alpha()

# Game Title

pygame.display.set_caption("Snake Game by goeduhub")

pygame.display.update()

clock = pygame.time.Clock()

font = pygame.font.SysFont(None, 55)

def text_screen(text, color, x, y):

    screen_text = font.render(text, True, color)

    gameWindow.blit(screen_text, [x,y])

def plot_snake(gameWindow, color, snk_list, snake_size):

    for x,y in snk_list:

        pygame.draw.rect(gameWindow, color, [x, y, snake_size, snake_size])

def welcome():

    exit_game = False

    while not exit_game:

        gameWindow.fill((233,210,229))

        text_screen("Welcome to Snakes", black, 260, 250)

        text_screen("Press Space Bar To Play", black, 232, 290)

        for event in pygame.event.get():

            if event.type == pygame.QUIT:

                exit_game = True

            if event.type == pygame.KEYDOWN:

                if event.key == pygame.K_SPACE:

                    pygame.mixer.music.load('qqq.mp3')

                    pygame.mixer.music.play()

                    gameloop()

        pygame.display.update()

        clock.tick(60)

# Game Loop

def gameloop():

    # Game specific variables

    exit_game = False

    game_over = False

    snake_x = 45

    snake_y = 55

    velocity_x = 0

    velocity_y = 0

    snk_list = []

    snk_length = 1

    # Check if hiscore file exists

    if(not os.path.exists("hiscore.txt")):

        with open("hiscore.txt", "w") as f:

            f.write("0")

    with open("hiscore.txt", "r") as f:

        hiscore = f.read()

    food_x = random.randint(20, screen_width / 2)

    food_y = random.randint(20, screen_height / 2)

    score = 0

    init_velocity = 5

    snake_size = 30

    fps = 60

    while not exit_game:

        if game_over:

            with open("hiscore.txt", "w") as f:

                f.write(str(hiscore))

            gameWindow.fill(white)

            text_screen("Game Over! Press Enter To Continue", red, 100, 250)

            for event in pygame.event.get():

                if event.type == pygame.QUIT:

                    exit_game = True

                if event.type == pygame.KEYDOWN:

                    if event.key == pygame.K_RETURN:

                        welcome()

        else:

            for event in pygame.event.get():

                if event.type == pygame.QUIT:

                    exit_game = True

                if event.type == pygame.KEYDOWN:

                    if event.key == pygame.K_RIGHT:

                        velocity_x = init_velocity

                        velocity_y = 0

                    if event.key == pygame.K_LEFT:

                        velocity_x = - init_velocity

                        velocity_y = 0

                    if event.key == pygame.K_UP:

                        velocity_y = - init_velocity

                        velocity_x = 0

                    if event.key == pygame.K_DOWN:

                        velocity_y = init_velocity

                        velocity_x = 0

                    if event.key == pygame.K_q:

                        score +=10

            snake_x = snake_x + velocity_x

            snake_y = snake_y + velocity_y

            if abs(snake_x - food_x)<20 and abs(snake_y - food_y)<20:

                score +=10

                food_x = random.randint(20, screen_width / 2)

                food_y = random.randint(20, screen_height / 2)

                snk_length +=5

            gameWindow.fill(white)

            gameWindow.blit(bgimg, (0, 0))

            text_screen("Score: " + str(score) + "  Hiscore: "+str(hiscore), red, 5, 5)

            pygame.draw.rect(gameWindow, red, [food_x, food_y, snake_size, snake_size])

            head = []

            head.append(snake_x)

            head.append(snake_y)

            snk_list.append(head)

            if len(snk_list)>snk_length:

                del snk_list[0]

            if head in snk_list[:-1]:

                game_over = True

                pygame.mixer.music.load('qqq.mp3')

                pygame.mixer.music.play()

            if snake_x<0 or snake_x>screen_width or snake_y<0 or snake_y>screen_height:

                game_over = True

                pygame.mixer.music.load('qqq.mp3')

                pygame.mixer.music.play()

            plot_snake(gameWindow, black, snk_list, snake_size)

        pygame.display.update()

        clock.tick(fps)

    pygame.quit()

    quit()

welcome() 

  Output

image1

image 2


Learn & Improve In-Demand Data Skills Online in this Summer With  These High Quality Courses[Recommended by GOEDUHUB]:-

Best Data Science Online Courses[Lists] on:-

Claim your 10 Days FREE Trial for Pluralsight.

Best Data Science Courses on Datacamp
Best Data Science Courses on Coursera
Best Data Science Courses on Udemy
Best Data Science Courses on Pluralsight
Best Data Science Courses & Microdegrees on Udacity
Best Artificial Intelligence[AI] Courses on Coursera
Best Machine Learning[ML] Courses on Coursera
Best Python Programming Courses on Coursera
Best Artificial Intelligence[AI] Courses on Udemy
Best Python Programming Courses on Udemy

 Important Lists:

Important Lists, Exams & Cutoffs Exams after Graduation PSUs

 Goeduhub:

About Us | Contact Us || Terms & Conditions | Privacy Policy ||  Youtube Channel || Telegram Channel © goeduhub.com Social::   |  | 

 

Free Online Directory

...