با ما بهترین ها را تجربه کنید

ساخت بازی SNAKE با پایتون

post134

ساخت بازی SNAKE با پایتون

با عرض سلام و وقت بخیر خدمت شما کاربر عزیز

رامتین نیک آموز هستم برنامه نویس پایتون و با یک آموزش دیگه در خدمت شما کاربر عزیز هستم.

خب در این مقاله از سوین هاست میخواهیم یه کار متفاوت با پایتون بکنیم با شما عشقا.

میخوایم یه بازی بسازیم ؛ چه بازی حالا بازی SNAKE

دیگه 99 درصد میدونن بازی snake چیه ولی خب یه توضیحی بدم عشقا.

 

یه بازی بود داخل نوکیا گوشت کوبی باید هی باید پیتزا میخوردی توش.

خب شما باید pygame داخل ادیتور خود مثل VScode نصب کنیدش

 

خب سورس کد زیر را تایپ کنید و عشق کنید.

سورس کد بازی snake :

import pygame

import random

import time

from pygame import K_UP, K_DOWN, K_LEFT, K_RIGHT

def spawn_food():

    while True:

        gen_rnd = lambda x: random.randrange(1, (x//10))*10

        food = [gen_rnd(window_width), gen_rnd(window_height)]

        if food != snake_pos:

            return food

fps = 25

window_width = 720

window_height = 480

pygame.init()

pygame.display.set_caption(“Snake Game”)

game_window = pygame.display.set_mode((window_width, window_height))

black = (0, 0, 0)

white = (255, 255, 255)

red = (255, 0, 0)

green = (0, 255, 0)

KEYS = [K_UP, K_DOWN, K_RIGHT, K_LEFT]

fps_controller = pygame.time.Clock()

snake_pos = [100, 50]

snake_body = [[100, 50], [100-10, 50], [100-(2*10), 50]]

food_pos = spawn_food()

food_spawn = True

direction = K_RIGHT

change_to = direction

score = 0

def show_score(color, font, size, game_over=0):

    score_font = pygame.font.SysFont(font, size)

    score_surface = score_font.render(f”Score: {score}”, True, color)

    score_rect = score_surface.get_rect()

    if not game_over:

        score_rect.midtop = (window_width/10, 15)

    else:

        score_rect.midtop = (window_width/2, window_height/1.25)

    game_window.blit(score_surface, score_rect)

def game_over():

    font = pygame.font.SysFont(‘times new roman’, 90)

    game_over_surface = font.render(“Game Over”, True, red)

    game_over_rect = game_over_surface.get_rect()

    game_over_rect.midtop = (window_width/2, window_height/4)

    game_window.fill(black)

    game_window.blit(game_over_surface, game_over_rect)

    show_score(green, ‘times new roman’, 30, 1)

    pygame.display.flip()

    time.sleep(2)

    pygame.quit()

    exit(0)

while True:

    for event in pygame.event.get():

        if event.type == pygame.QUIT:

            pygame.quit()

            exit(0)

        if event.type == pygame.KEYDOWN and event.key in KEYS:

            change_to = event.key

    if change_to == K_UP and direction != K_DOWN:

        direction = K_UP

    if change_to == K_DOWN and direction != K_UP:

        direction = K_DOWN

    if change_to == K_RIGHT and direction != K_LEFT:

        direction = K_RIGHT

    if change_to == K_LEFT and direction != K_RIGHT:

        direction = K_LEFT

    if direction == K_UP:

        snake_pos[1] -= 10

    if direction == K_DOWN:

        snake_pos[1] += 10

    if direction == K_RIGHT:

        snake_pos[0] += 10

    if direction == K_LEFT:

        snake_pos[0] -= 10

    snake_body.insert(0, list(snake_pos))

    if snake_pos == food_pos:

        score += 1

        food_spawn = False

    else:

        snake_body.pop()

    if not food_spawn:

        food_pos = spawn_food()

        food_spawn = True

    game_window.fill(white)

    for pos in snake_body[1:]:

        pygame.draw.rect(game_window, red, [pos[0], pos[1], 10, 10])

    pygame.draw.rect(game_window, (150,0,0), [snake_body[0][0], snake_body[0][1], 10, 10])

    pygame.draw.rect(game_window, green, [food_pos[0], food_pos[1], 10, 10])

    if snake_pos[0] < 0 or snake_pos[0] > window_width-10:

        game_over()

    if snake_pos[1] < 0 or snake_pos[1] > window_height-10:

        game_over()

    if snake_pos in snake_body[1:]:

        game_over()

    show_score(black, “consolas”, 40)

    pygame.display.update()

    fps_controller.tick(fps)

خب عشقای رامتین ؛ نفسای من

اگه با این سبک پست ( بازی سازی ، سورس کد و… ) حال کردین

به همین سادگی و به همین خوشمزگی.

خیلی ممنونم که وقت طلاییتون را در اختیار این مطلب و سایت قرار دادین

حتما مارو به دوستان خود معرفی کنید.

اگه دوست داشتید یه نگاهی به لیست قیمت هاست هامون بندازید چون واقعا عالین { سرعت بالا ، قیمت پایین }

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

در هر قدم کنار شما هستیم

به توسعه کسب و کار آنلاین خود بیاندیشید، دلسوزانه از آن محافظت خواهیم کرد 

021-91301614

7 روز هفته 24 ساعته پاسخگوی شما هستیم

نماد های سوین

تمامی حقوق این وب سایت برای سوین هاست محفوظ می باشد . فعالیت از سال (1393-1401)

طراحی وب سایت توسط تیم طراحی سوین هاست 

خرید هاست

سرورها

لینک های مرتبط

نماد ها

samandehi

تمامی حقوق این وب سایت برای سوین هاست محفوظ می باشد . فعالیت از (1393-1400)

طراحی وب سایت توسط تیم طراحی سوین هاست

واتساپ