🎮 بازیسازی با پایتون – قسمت دوم: طراحی مستطیل متحرک با انتخاب رنگ
محمد امین فتحی نژاد
در قسمت قبل، با پایتون و کتابخانهی Pygame آشنا شدیم و یک پنجرهی سادهی بازی ساختیم. حالا وقتشه اولین عنصر گرافیکی واقعی رو به بازیمون اضافه کنیم:
یک مستطیل که در صفحه حرکت کنه و حتی رنگش رو خودمون انتخاب کنیم!
✅ رسم مستطیل
✅ حرکت دادن مستطیل در محور عمودی
✅ گرفتن رنگ دلخواه از کاربر
✅ ترکیب Tkinter (برای انتخاب رنگ) با Pygame
pygame → برای ساخت پنجره و گرافیک
tkinter → برای انتخاب رنگ توسط کاربر
import pygame import tkinter as tk from tkinter import colorchooser import sys # تابع برای گرفتن رنگ از کاربر def pick_color(): root = tk.Tk() root.withdraw() # مخفی کردن پنجره اصلی color = colorchooser.askcolor()[0] # گرفتن رنگ if color is None: return (255, 255, 255) # اگر کاربر رنگ انتخاب نکرد، سفید return tuple(map(int, color)) # راهاندازی pygame pygame.init() WIDTH, HEIGHT = 700, 700 window = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("مستطیل متحرک") # انتخاب رنگها bg_color = pick_color() rect_color = pick_color() # مشخصات مستطیل rect_x = WIDTH // 4 rect_y = 10 rect_width = WIDTH // 4 rect_height = WIDTH // 4 speed = 2 y_min = 10 y_max = 400 # حلقه اصلی بازی running = True while running: window.fill(bg_color) pygame.draw.rect(window, rect_color, (rect_x, rect_y, rect_width, rect_height)) rect_y += speed if rect_y >= y_max or rect_y <= y_min: speed *= -1 for event in pygame.event.get(): if event.type == pygame.QUIT: running = False pygame.display.update() pygame.time.delay(10) pygame.quit() sys.exit(
🧠 توضیح مرحله به مرحله:
تابع pick_color()
از tkinter استفاده میکنیم تا کاربر رنگ دلخواهش رو انتخاب کنه.
تنظیمات پنجره
پنجرهی 700x700 پیکسلی ایجاد میکنیم و عنوانش رو میذاریم "مستطیل متحرک".
مکان و سرعت مستطیل
مستطیل به صورت عمودی بین بالا و پایین حرکت میکنه. اگر به یکی از دو انتها رسید، جهتش عوض میشه.
حلقه اصلی بازی
تا وقتی کاربر پنجره رو نبسته، صفحه مدام بهروزرسانی میشه، رنگ پسزمینه و مستطیل دوباره رسم میشن، و مستطیل حرکت میکنه.
وقتی کد رو اجرا میکنی، اول دو پنجره ظاهر میشن تا:
رنگ پسزمینه رو انتخاب کنی
رنگ مستطیل رو انتخاب کنی
بعدش پنجره بازی باز میشه و مستطیل بالا و پایین حرکت میکنه.
✅ کنترل مستطیل با کیبورد
✅ اضافه کردن چند شکل
✅ ساخت برخورد بین اشیا (Collision Detection)
اگه سوالی داشتی یا کد برات اجرا نشد، حتماً توی کامنت بنویس.
یادگیری بازیسازی با پایتون میتونه هم سرگرمکننده باشه، هم شروعی برای مسیر حرفهایت.
📌 منتظر قسمت سوم باش: کنترل بازی با کیبورد!