توسعه بازی با پایتون با استفاده از کتابخانه Pygame در این زبان برنامهنویسی امکانپذیر است که در ابتدا باید آن را روی سیستم خود نصب کنید. بعد از نصب و اضافه کردن این ماژول به کدهای پروژه پایتون خود در ابتدا نیازمند این هستید که زمینه بازی یا همان surface را روی صفحه نمایش ایجاد کرده و در ادامه میتوانید اشیا دیگری را نیز به صفحه اضافه کنید. برای اضافهکردن تصاویر و اشیا میتوانید از قابلیتهای image و rect در کتابخانه Pygame استفاده کنید. در ادامه شما نیازمند ساخت حلقه اصلی بازی هستید که این حلقه میتواند رویدادهای بازی، تنظیم سرعت، ورودیهای کاربران و بازیکنان و بهروزرسانی اشیائی که در صفحه هستند را برای شما انجام دهد. اگر جز آن دسته از افراد هستید که به بازی علاقه مندید با شرکت در بوت کمپ پایتون و یادگیری این زبان میتوانید به یک توسعه دهنده بازی تبدیل شوید.
در نهایت وقتی که قصد دارید یک زمینه دیگر را برای بازی خود بسازید نیازمند این هستید که ابتدا این زمینه را ایجاد کرده و در قدم بعدی با استفاده از blit آن را به زمینه کنونی که در صفحه نمایش بازی شما وجود دارد اضافه کنید. در آموزش برنامه نویسی برای ساخت بازی ماشین با پایتون میتوانید تمامی این موارد را بیاموزید و از آنها استفاده کنید.
زبان برنامهنویسی پایتون برای ساخت بازی
آموزش توسعه بازی با پایتون + کد پایتون برای ساخت بازی، به شما کمک میکند تا بتوانید از زبان برنامهنویسی پایتون که یکی از محبوبترین زبانهای برنامهنویسی برای بازیسازی است استفاده کرده و بازیهای جذابی را ایجاد کنید. این زبان کتابخانهها و ابزارهای متعددی را در زمینه بازیسازی و توسعه انواع بازیهای کامپیوتری به شما ارائه میدهد. همین ابزارها نیز باعث میشوند تا فرایند ساخت بازیهای مختلف با استفاده از زبان پایتون برای شما سادهتر شود. در بوت کمپ برنامه نویسی به طور کامل تری با همه این ابزار ها و کتابخانه ها آشنا میشوید.
استفاده از زبان پایتون برای بازیسازی میتواند مزایای زیر را برای شما به همراه داشته باشد:
- این زبان برنامهنویسی دارای تکنولوژیهای جدید و بهروزی در زمینه بازیسازی است.
- از تمامی قابلیتهای موردنیاز شما برای بازیسازی از جمله شیگرایی پشتیبانی میکند.
- یادگیری پایتون کاملا ساده و راحت است و نیازی به صرف زمان خیلی طولانی ندارد.
- جامعه توسعهدهندگان بسیار بزرگی دارد که به تمامی سوالات شما در زمینه بازیسازی پاسخ میدهند.

استفاده از کتابخانه Pygame برای بازیسازی در پایتون
برای بازی سازی با پایتون شما نیازمند استفاده کردن از کتابخانههایی هستید که به شما در این مسیر کمک کرده و ابزارهای موردنیاز را در اختیارتان قرار دهند. کتابخانه Pygame یکی از بهترین گزینههایی است که برای این کار پیش روی شما قرار دارد. این کتابخانه در واقع مجموعهای از ماژولهای از پیش طراحی شده است که برای ایجاد بازیهای ویدئویی به کمک پایتون به شما کمک میکنند. از طرف دیگر باید بدانید که Pygame قدیمیترین کتابخانهای است که در این زمینه وجود دارد.
در گام نخست برای استفاده از این کتابخانه شما باید مطمئن شوید که محیط مجازی آن را نصب کرده و خروجی زیر را دریافت کردهاید:
$ python3 -m venv mycode/venv
$ cd mycode
$ source ./venv/bin/activate
(venv)$
وقتی که در محیط مجازی قرار گرفتید میتوانید خیلی راحت Pygame را در یک پوشه از پروژه خود نصب کنید که این کار به شکل زیر قابل انجام خواهد بود:
(venv)$ echo “pygame” >> requirements.txt
(venv)$ python -m pip install -r requirements.txt
[…] Installing collected packages: pygame
Successfully installed pygame-x.y.z
دقت داشته باشید که برای نصب این کتابخانه روی سیستم خود میتوانید از دستور زیر نیز استفاده کنید:
$ pip install pygame
پیشنهاد مقالات: کار با ماژول در پایتون
حال برای اینکه بتوانید از این کتابخانه استفاده کنید میتوانید فایلی با نام main.py را ایجاد کرده و کدهای زیر را به آن اضافه کنید تا این ماژول به کدهای شما اضافه شود و بتوانید از آن استفاده کنید:
import pygame
pygame.init()
screen = pygame.display.set_mode((960,720))
قطعه کد زیر میتواند نحوه استفاده از این کتابخانه را تا حدی به شما نشان دهد:
class Cup(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
# image
img = pygame.image.load(‘coffeecup.png’).convert()
self.image = img
# volume
self.rect = self.image.get_rect()
self.rect.x = 10
self.rect.y = 10
ساخت یک بازی مقدماتی با استفاده از Pygame
برای آموزش ساخت بازی با پایتون، اجازه دهید تا یک مثال ساده از نحوه استفاده از این کتابخانه برای ایجاد یک بازی کاملا ساده را مشاهده کنیم که به شکل زیر خواهد بود:
# Simple pygame program
# Import and initialize the pygame library
import pygame
pygame.init()
# Set up the drawing window
screen = pygame.display.set_mode([500, 500])
# Run until the user asks to quit
running = True
while running:
# Did the user click the window close button?
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Fill the background with white
screen.fill((255, 255, 255))
# Draw a solid blue circle in the center
pygame.draw.circle(screen, (0, 0, 255), (250, 250), 75)
# Flip the display
pygame.display.flip()
# Done! Time to quit.
pygame.quit()
در این قطعه کد ما ابتدا کتابخانه Pygame را به پروژه خود اضافه کرده و مقداردهی اولیه آن را نیز انجام دادهایم. در قدم بعدی اقدام به ساخت یک پنجره نمایش بازی کرده و تنظیمات مدنظر را نیز روی آن اعمال کردهایم. در ادامه یک حلقه را برای بازی خود ایجاد کردهایم که برنامه زمانی بازی را نشان میدهد. در قدم بعدی فرایند اسکن و مدیریت بازی را درون این حلقه مدیریت کرده و البته رویدادهایی که به وجود میآیند را نیز ارزیابی کردهایم.
در ادامه نیز فرایندهای گرافیکی مربوط به ساخت بازی ساده با پایتون را انجام دادهایم تا شکل ظاهری بازی ما بهبود پیدا کند.
در کتابخانه Pygame به چه ابزارهایی دسترسی داریم؟
اگر شما هم علاقهمند به آموزش ساخت بازی اندروید با پایتون هستید، باید بدانید که برای انجام این کار کتابخانه Pygame ابزارهای مختلفی را در اختیار شما قرار میدهد که ساخت یک بازی را برای شما سادهتر خواهد کرد. در ادامه قصد داریم برخی از این ابزارها را به شما معرفی کرده و توضیحاتی را درباره هریک از آنها در اختیارتان قرار دهیم:
صفحههای نمایش و زمینهها
Surface یکی از ابزارهای مهمی است که در این کتابخانه به شما ارائه شده و در ابتداییترین حالت یک ناحیه مستطیلی را به شما ارائه میدهد تا بتوانید اشکال مدنظر خود را روی آن ایجاد کنید. وقتی که قصد استفاده از این کتابخانه را دارید باید بدانید که همه چیز در یک ناحیه مستطیلی شکل توسط کاربر مشاهده میشوند که برای ساخت آن میتوانید از دستور .set_mode() استفاده کنید. از طرف دیگر وقتی که این صفحه زمینه را ایجاد کردید میتوانید با کدهایی همچون pygame.draw.circle() اقدام به ساخت اشکال دایرهای شکل یا سایر اشکال کنید.
پیشنهاد مقالات: نصب پایتون روی ویندوز 11
تصاویر و رکتها
یکی از ویژگیهای مهمی که کتابخانه Pygame به شما ارائه میدهد این است که با استفاده از آن میتوانید تصاویر مختلفی را نیز به صفحه نمایش بازی خود اضافه کنید. ماژول تصویر به شما کمک میکند تا بتوانید به شکلهای مختلف تصاویر را به پروژه بازی خود اضافه کنید. دقت داشته باشید که این کتابخانه از تصاویر با فرمتهای مختلف پشتیبانی میکند. از طرف دیگر، وقتی که تصاویر را برای ساخت بازی سه بعدی با پایتون اضافه کردید این امکان در اختیار شما قرار میگیرد تا بتوانید تغییرات و اصلاحاتی را روی آن انجام دهید.
از طرف دیگر رکتها در زبان برنامهنویسی پایتون و در کتابخانه Pygame به شما اجازه میدهند تا بتوانید اشیا مختلفی را نیز به بازی کامپیوتری خود اضافه کنید. به این ترتیب، میتوانید بازیکنان بازی خود را ترسیم کرده یا اینکه برای آنها دشمنانی را تعریف کنید. این کار به شما کمک میکند تا بتوانید مدیریت بازی خود را به شکل بهتری انجام دهید.

ساخت یک بازی جدید با استفاده از pygame در پایتون
برای اینکه بتوانید اقدام به ساخت بازی گرافیکی با پایتون کنید نیازمند این خواهید بود که ابتدا تنظیمات اولیه را روی کتابخانه Pygame اعمال کنید که این کار را میتوانید به شکل زیر انجام دهید:
# Import the pygame module
import pygame
# Import pygame.locals for easier access to key coordinates
# Updated to conform to flake8 and black standards
from pygame.locals import (
K_UP,
K_DOWN,
K_LEFT,
K_RIGHT,
K_ESCAPE,
KEYDOWN,
QUIT,
)
# Initialize pygame
pygame.init()
# Define constants for the screen width and height
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
# Create the screen object
# The size is determined by the constant SCREEN_WIDTH and SCREEN_HEIGHT
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
حال باید حلقهای را ایجاد کنید که برای گیم پلی بازی و مدیریت آن از این حلقه استفاده کنید. چنین حلقهای میتواند ورودیهای کاربر را پردازش کرده و بر این اساس وضعیت اشیائی که در بازی قرار دارند را بهروزرسانی کند. از طرف دیگر مدیریت خروجی صدا و صفحه نمایش و همینطور تنظیم سرعت بازی نیز برعهده همین حلقه خواهد بود. برای مثال قطعه کد زیر را مشاهده کنید که برخورد بازیکنان با مانع، پردازش ورودیها و مواردی از این قبیل را خیلی راحت انجام میدهد:
# Variable to keep the main loop running
running = True
# Main loop
while running:
# Look at every event in the queue
for event in pygame.event.get():
# Did the user hit a key?
if event.type == KEYDOWN:
# Was it the Escape key? If so, stop the loop.
if event.key == K_ESCAPE:
running = False
# Did the user click the window close button? If so, stop the loop.
elif event.type == QUIT:
running = False
حال برای اینکه بتوانید صفحه نمایش خود را بهصورت کامل به کاربر نمایش دهید، میتوانید از قطعه کد زیر استفاده کنید:
# Fill the screen with white
screen.fill((255, 255, 255))
# Create a surface and pass in a tuple containing its length and width
surf = pygame.Surface((50, 50))
# Give the surface a color to separate it from the background
surf.fill((0, 0, 0))
rect = surf.get_rect()
گاهی اوقات ممکن است شما بخواهید یک زمینه جدید را ایجاد کنید. در این شرایط نباید فراموش کنید که ایجاد این زمینه کافی نخواهد بود و شما باید آن را روی یک زمینه دیگر blit کنید. قطعه کد زیر نحوه انجام این کار را به شما آموزش میدهد.
# This line says “Draw surf onto the screen at the center”
screen.blit(surf, (SCREEN_WIDTH/2, SCREEN_HEIGHT/2))
pygame.display.flip()
# Put the center of surf at the center of the display
surf_center = (
(SCREEN_WIDTH-surf.get_width())/2,
(SCREEN_HEIGHT-surf.get_height())/2
)
# Draw surf at the new coordinates
screen.blit(surf, surf_center)
pygame.display.flip()
بازی که شما در زبان برنامهنویسی پایتون ایجاد میکنید قطعا نیازمند بازیکنانی نیز خواهد بود. برای اینکه بتوانید این بازیکنان را در کدهای خود ایجاد کنید میتوانید از قطعه کد زیر کمک بگیرید:
# Define a Player object by extending pygame.sprite.Sprite
# The surface drawn on the screen is now an attribute of ‘player’
class Player(pygame.sprite.Sprite):
def __init__(self):
super(Player, self).__init__()
self.surf = pygame.Surface((75, 25))
self.surf.fill((255, 255, 255))
self.rect = self.surf.get_rect()
در نهایت باید بدانید بازی شما نیازمند این خواهد بود که ورودیهایی را از کاربر دریافت کند. در چنین شرایطی شما میتوانید خیلی راحت از کد زیر استفاده کرده و ورودیهای موردنیاز را از کاربر دریافت کرده و آنها را روی بازی خود اعمال کنید:
# Get the set of keys pressed and check for user input
pressed_keys = pygame.key.get_pressed()
# Move the sprite based on user keypresses
def update(self, pressed_keys):
if pressed_keys[K_UP]:
self.rect.move_ip(0, -5)
if pressed_keys[K_DOWN]:
self.rect.move_ip(0, 5)
if pressed_keys[K_LEFT]:
self.rect.move_ip(-5, 0)
if pressed_keys[K_RIGHT]:
self.rect.move_ip(5, 0)
به این ترتیب، شما میتوانید با موفقیت فرایند ساخت یک بازی به کمک زبان برنامهنویسی پایتون را طی کنید و انتظار نتایج مطلوبی را نیز از بازی خود داشته باشید.
سخن پایانی
امروزه توسعه بازی با پایتون کاملا امکانپذیر است و این زبان برنامهنویسی به شما اجازه میدهد تا از ابزارهایی که توسط کتابخانه pygame به شما ارائه میشوند استفاده کرده و بهترین و جذابترین بازیهای کامپیوتری را با استفاده از آن ایجاد کنید. برای اینکه بتوانید با استفاده از زبان پایتون بازیسازی کنید بهتر است حتما در دورههای آموزش زبان پایتون شرکت کنید. با استفاده از خدمات مجموعه بامداد نهتنها میتوانید با این موضوع آشنا شوید؛ بلکه میتوانید اطلاعات مختلف زیادی در زمینه برنامهنویسی پایتون مانند آموزش کار با پایتون در vscode به صورت قدم به قدم را نیز به دست بیاورید که بدون شک برای شما مفید و کاربردی خواهد بود.


