ساخت بازی پایتون با Pygame: آموزش ساخت بازی ساده توپ و پنجره
دستهبندی: برنامهنویسی و بازیسازی | تاریخ: هفتم شهریور ۱۴۰۴
در این مقاله، با مراحل ساخت یک بازی ساده توپ و پنجره آشنا میشویم؛ جایی که توپ در صفحه حرکت میکند و با برخورد به لبههای پنجره برمیگردد.
۱. نصب Pygame
ابتدا باید Pygame را نصب کنید. در ترمینال یا CMD بنویسید:
pip install pygame
پس از نصب موفق، آماده شروع کدنویسی هستیم.
۲. ایجاد پنجره بازی
ابتدا باید یک پنجره برای نمایش بازی ایجاد کنیم:
import pygame pygame.init() screen = pygame.display.set_mode((600, 400)) pygame.display.set_caption("توپ و پنجره")
این کد یک پنجره با ابعاد ۶۰۰x۴۰۰ ایجاد میکند.
۳. اضافه کردن توپ
حالا توپ را تعریف میکنیم:
ball_x, ball_y = 300, 200 ball_dx, ball_dy = 3, 3 ball_radius = 20
در اینجا مختصات اولیه توپ و سرعت حرکت آن را مشخص کردیم.
نکته کلیدی
اگر مقدار ball_dx
یا ball_dy
را بیشتر کنید، توپ سریعتر حرکت خواهد کرد.
۴. حلقه اصلی بازی
برای اجرای مداوم بازی از یک حلقه بینهایت استفاده میکنیم:
running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False
این حلقه بازی تا زمانی که کاربر پنجره را ببندد اجرا میشود.
۵. حرکت توپ و برخورد با دیوارهها
حالا توپ را به حرکت در میآوریم:
ball_x += ball_dx ball_y += ball_dy if ball_x - ball_radius < 0 or ball_x + ball_radius > 600: ball_dx = -ball_dx if ball_y - ball_radius < 0 or ball_y + ball_radius > 400: ball_dy = -ball_dy
این بخش باعث میشود توپ هنگام برخورد به لبهها برگردد.
توصیه مهم
ابعاد پنجره و شعاع توپ را طوری تنظیم کنید که توپ بهراحتی دیده شود و سرعت مناسب داشته باشد.
۶. رسم توپ روی صفحه
در هر بار اجرای حلقه باید صفحه را بهروز کرده و توپ را رسم کنیم:
screen.fill((255, 255, 255)) # رنگ پسزمینه سفید pygame.draw.circle(screen, (255, 0, 0), (ball_x, ball_y), ball_radius) pygame.display.update()
با این کد، توپ قرمز روی صفحه ظاهر میشود.
جمعبندی
Pygame ابزاری عالی برای شروع یادگیری بازیسازی با پایتون است.
در این مقاله یاد گرفتید چگونه یک پنجره ایجاد کنید، توپ را تعریف کنید، آن را حرکت دهید و برخورد آن با دیوارهها را مدیریت کنید.
این پروژه ساده پایهای است برای یادگیری مفاهیم پیچیدهتر مانند اضافه کردن کاراکترها، صدا و کنترلهای کاربر.