♤MohammadAmin♤

ساخت بازی Car Race با زبان پایتون و کتابخانه پای گیم

سلام دوستان امروز بازی Car Race را با زبان  پایتون و کتابخانه پای گیم نوشتم حالا میخوام براتون کد بازی را بذارم .heart

برای دیدن ادامه آموزش ادامه مطلب را بزنید.

تصاویری از محیط بازی را زیر مشاهده میکنید:

 

 

خب من کد این بازی را براتون در زیر قرار میدم اما قبل استفاده از این کد باید کتابخانه پای گیم را نصب کنید که با دستور زیر نصب میشه:

pip install pygame

 کد بازی هم اینه:

# Mohammadamin Mohammadi

import pygame

import time

import random


pygame.init()


crash_sound=pygame.mixer.Sound("lose-m.wav")

pygame.mixer.music.load("world-m.ogg")


# width and  height for game window

display_width = 800

display_height = 600


black = (0, 0, 0)

white = (255, 255, 255)

red = (200, 0, 0)

bright_red = (255, 0, 0)

green = (0, 200, 0)

bright_green = (0, 255, 0)


gameDisplay = pygame.display.set_mode((display_width, display_height))


pygame.display.set_caption('Race Car')


clock = pygame.time.Clock()


carImg = pygame.image.load("car.png")


car_width = 48


#ic = inactive color

#ac = active color

def button(msg,x,y,w,h,ic,ac,action=None):

    mouse=pygame.mouse.get_pos()

    click=pygame.mouse.get_pressed()


    # print(click)


    if x+w > mouse[0] > x and y+h > mouse[1] > y:

        pygame.draw.rect(gameDisplay, ac, (x, y, w, h))

        if click[0]==1 and action!= None:

            if action == 'play':

                game_loop()

            elif action == 'quit':

                pygame.quit()

                quit()

    else:

        pygame.draw.rect(gameDisplay, ic, (x, y, w, h))


    smallText=pygame.font.Font("freesansbold.ttf",20)

    TextSurf, TextRect = text_objects(msg, smallText)

    TextRect.center=(x+(w/2),y+(h/2))

    gameDisplay.blit(TextSurf, TextRect)


def game_intor():

    intro = True

    while intro:

        for event in pygame.event.get():

            if event.type == pygame.QUIT:

                pygame.quit()

                quit()

        gameDisplay.fill(white)

        largeText = pygame.font.Font('freesansbold.ttf', 90)

        TextSurf, TextRect = text_objects("Let's Play Game", largeText)

        TextRect.center = ((display_width/2), (display_height/2))

        gameDisplay.blit(TextSurf, TextRect)


        button('Play', 150, 450, 100, 50, green, bright_green,'play')

        button('Quit', 550, 450, 100, 50, red, bright_red,'quit')


        pygame.display.update()


def stuff_dodged(count):

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

    text = font.render("score : "+str(count), True, red)

    gameDisplay.blit(text, (0, 0))


def stuff(stuffx, stuffy, stuffw, stuffh, color):

    pygame.draw.rect(gameDisplay, green, [stuffx, stuffy, stuffw, stuffh])


def car(x, y):

    gameDisplay.blit(carImg, (x, y))


def text_objects(text, font):

    textSurface = font.render(text, True, black)

    return textSurface, textSurface.get_rect()


def message_display(text):

    largeText = pygame.font.Font('freesansbold.ttf', 90)

    TextSurf, TextRect = text_objects(text, largeText)

    TextRect.center = ((display_width/2), (display_height/2))

    gameDisplay.blit(TextSurf, TextRect)

    pygame.display.update()


    time.sleep(2)

    game_loop()


def crash():

    pygame.mixer.music.stop()

    pygame.mixer.Sound.play(crash_sound)

    largeText = pygame.font.Font('freesansbold.ttf', 90)

    TextSurf, TextRect = text_objects('YOU CRASHED', largeText)

    TextRect.center = ((display_width/2), (display_height/2))

    gameDisplay.blit(TextSurf, TextRect)

    while True:

        for event in pygame.event.get():

            if event.type == pygame.QUIT:

                pygame.quit()

                quit()


        button('Try Again', 150, 450, 100, 50, green, bright_green, 'play')

        button('Quit', 550, 450, 100, 50, red, bright_red, 'quit')

        pygame.display.update()


   


def game_loop():

    pygame.mixer.music.play(-1)

    x = (display_width * 0.45)

    y = (display_height * 0.8)


    x_change = 0


    stuff_startx = random.randrange(0, display_width)

    stuff_starty = -700

    stuff_speed = 7

    stuff_width = 100

    stuff_height = 100


    dodged = 0


    gameExit = False


    while not gameExit:


        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:

                    x_change = -5

                elif event.key == pygame.K_RIGHT:

                    x_change = 5

            if event.type == pygame.KEYUP:

                if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:

                    x_change = 0


        x += x_change

        gameDisplay.fill(white)


        # stuffx,stuffy,stuffw,stuffh,color

        stuff(stuff_startx, stuff_starty, stuff_width, stuff_height, red)

        stuff_starty += stuff_speed


        stuff_dodged(dodged)


        car(x, y)


        if x > display_width - car_width or x < 0:

            crash()


        if stuff_starty > display_height:

            stuff_starty = 0 - stuff_height

            stuff_startx = random.randrange(0, display_width)

            dodged += 1

            if (dodged % 5 == 0):

                stuff_speed += 2


        if y < stuff_starty + stuff_height:

            if x > stuff_startx and x < stuff_startx + stuff_width or x + car_width > stuff_startx and x + car_width < stuff_startx + stuff_width:

                crash()


        pygame.display.update()

        clock.tick(60)


game_intor()

game_loop()

pygame.quit()

quit()

 

نکته: به غیر از این کد پایتونی بالا برای اجرای بازی به یکسری فایل های دیگه هم نیازه که میتونید از لینک دانلود اخر صفحه دانلود کنید.

 

کد بازی با پیش نیاز ها را میتوانید از لینک زیر دانلود کنید:

دانلود فایل

 

رمز فایل : http://moammadamin7.blog.ir

 

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی
Designed By MohammadAmin Powered by Bayan