توسعه بازی‌ با پایتون توسط کتابخانه های Pygame و PyOpenGL

توسعه بازی‌ با پایتون توسط کتابخانه های Pygame و PyOpenGL

توسعه بازی‌ها با پایتون با استفاده از کتابخانه‌های Pygame و PyOpenGL بسیار جذاب است. در ادامه، به شما نحوه توسعه بازی‌های ساده با استفاده از این دو کتابخانه را توضیح خواهیم داد:

۱) نصب کتابخانه‌های Pygame و PyOpenGL:

ابتدا باید کتابخانه‌های Pygame و PyOpenGL را نصب کنید. برای نصب Pygame، می‌توانید از دستور زیر در ترمینال استفاده کنید:

pip install pygame

برای نصب PyOpenGL نیز می‌توانید از دستور زیر استفاده کنید:

pip install PyOpenGL PyOpenGL_accelerate

۲) نحوه ساخت یک بازی ساده:

یکی از ساده‌ترین بازی‌ها، بازی Pong است. در این بازی، دو بازیکن در دو سمت صفحه هستند و با استفاده از دکمه‌های مشخصی توپ را به سمت حریف می‌فرستند تا امتیاز کسب کنند. برای ساخت این بازی با استفاده از Pygame و PyOpenGL، می‌توانید از مراحل زیر استفاده کنید:

  • ایجاد یک پنجره با Pygame:
    ابتدا باید یک پنجره با Pygame ایجاد کنید. برای این کار، می‌توانید از دستورات زیر استفاده کنید:
import pygame

# Initialize Pygame
pygame.init()

# Set the screen dimensions
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))

# Set the caption of the window
pygame.display.set_caption('Pong Game')
  • ایجاد دو بازیکن و توپ:
    سپس، باید دو بازیکن و توپ را در بازی ایجاد کنید. برای این کار، می‌توانید از کلاس‌هایی مانند  pygame.Rect  و pygame.draw.circle  استفاده کنید. به عنوان مثال:
# Set the dimensions of the paddle
paddle_width = 15
paddle_height = 100

# Create the paddles
player1_paddle = pygame.Rect(50, screen_height/2 - paddle_height/2, paddle_width, paddle_height)
player2_paddle = pygame.Rect(screen_width - 50 - paddle_width, screen_height/2 - paddle_height/2, paddle_width, paddle_height)

# Set the dimensions of the ball
ball_radius = 10

# Create the ball
ball = pygame.draw.circle(screen, (255, 255, 255), (screen_width/2, screen_height/2), ball_radius)
  • تحرک بازیکنان و توپ:
    حال باید بازیکنان و توپ را به حرکت درآورید. برای این کار، می‌توانید از توابعی مانند  ()pygame.key.get_pressed  و pygame.draw.circle  استفاده کنید. به عنوان مثال:
# Set the speed of the paddles and the ball
paddle_speed = 5
ball_speed_x = 5
ball_speed_y = 5

# Move the paddles
keys = pygame.key.get_pressed()
if keys[pygame.K_w]:
    player1_paddle.y -= paddle_speed
if keys[pygame.K_s]:
    player1_paddle.y += paddle_speed
if keys[pygame.K_UP]:
    player2_paddle.y -= paddle_speed
if keys[pygame.K_DOWN]:
    player2_paddle.y += paddle_speed

# Move the ball
ball.x += ball_speed_x
ball.y += ball_speed_y
  • برخورد توپ با دیوار و بازیکنان:
    با توجه به اینکه توپ باید با دیوار و بازیکنان برخورد داشته باشد، باید به این موضوع نیز توجه کنید. برای برخورد توپ با دیوار، می‌توانید از شرط زیر استفاده کنید:

if ball.top <= 0 or ball.bottom >= screen_height:
    ball_speed_y *= -1

و برای برخورد توپ با بازیکنان، می‌توانید از شرایط زیر استفاده کنید:

if ball.colliderect(player1_paddle) or ball.colliderect(player2_paddle):
    ball_speed_x *= -1
  • نمایش امتیاز:
    در نهایت، باید امتیازهای بازی را نیز نمایش داد. برای این کار، می‌توانید از توابعی مانند  pygame.font.Font  و pygame.display.update()  استفاده کنید. به عنوان مثال:
# Set the font and size for the score
score_font = pygame.font.Font(None, 50)

# Display the score
player1_score = score_font.render(str(player1_score), True, (255, 255, 255))
player2_score = score_font.render(str(player2_score), True, (255, 255, 255))
screen.blit(player1_score, (screen_width/4, 50))
screen.blit(player2_score, (screen_width*3/4, 50))

# Update the display
pygame.display.update()

نتیجه‌گیری

در این مقاله به شما نحوه توسعه بازی‌های ساده با استفاده از کتابخانه‌های Pygame و PyOpenGL را آموزش دادیم. با استفاده از این کتابخانه‌ها، شما می‌توانید بازی‌هایی مانندPong، Breakout، Tetris و … را بسازید. همچنین می‌توانید با توجه به نیازهای خود، از کتابخانه‌های دیگری مانند Pyglet، Arcade  و … نیز استفاده کنید.

برای یادگیری کامل زبان برنامه نویسی پایتون پیشنهاد می کنیم از DEVELOPR CLUB آکادمی رستاوا استفاده کنید. فرصت را از دست ندهید و همین الان ثبت نام خود را انجام دهید.

پاسخ‌ها

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

پل ورود به بازار تکنولوژی

مشاوره رایگان انتخاب مسیر

با کمک مشاورهای رستاوا آکادمی مسیر کارآموزی مناسب برای خودت رو برای ورود به بازار کار تکنولوژی انتخاب کن

توسعه فردی برای حرفه‌ای شدن

منتورهای رستاوا و دوره‌های ما شما رو برای کارآموزی و در نهایت جذب و استخدام آماده میکنن

مدرک بین المللی و استانداردهای جهانی

یادگیری با استاندار های بین المللی و دریافت مدرک از Credx Academy کانادا

اگر در مسیرهای کارآموزی ما پذیرش بگیری موقعیت‌های کارآموزی و استخدام در پروژه‌ها و شرکت های بین المللی از طریق مجموعه رستاوا به روت باز می شه.

۲ هفته رایگان

همین حالا با منتورها

ارتباط آنی بگیر!