آموزش برنامه‌نویسی از صفر ، بدون پیش‌نیاز، برای تمام سنین! آموزش برنامه‌نویسی ، از صفر بدون پیش‌نیاز!
🎯 شروع یادگیری
بستن تبلیغات
دوره تسلط بر پایتون ؛ آموزش پروژه محور برای حرفه ای ها

با آموزش حضوری و آنلاین مقدماتی تا پیشرفته پایتون , محبوب‌ترین زبان برنامه‌نویسی دنیا در محیطی عملی کاربردی و پروژه محور وارد دنیای برنامه نویسی شوید

مشاهده بیشتر
دوره آموزش ماشین لرنینگ

اگه پایتون بلدی و می‌خوای وارد دنیای هوش مصنوعی بشی، این دوره مخصوص توئه! با آموزش پروژه‌محور و همراهی اساتید حرفه‌ای، یاد بگیر چطور از هوش مصنوعی تو زمینه‌هایی مثل پزشکی، بورس و املاک استفاده کنی.

مشاهده بیشتر
یادگیری عمیق از پایه تا پیشرفته، همراه با پروژه‌های واقعی!

اگه یادگیری ماشین بلدی و آماده‌ای وارد چالش‌های حرفه‌ای بشی، دوره یادگیری عمیق پروژه‌محور برای توئه! طراحی شبکه‌های عصبی و کار روی پروژه‌های واقعی مثل تشخیص تصویر و پردازش زبان رو اینجا یاد می‌گیری.

مشاهده بیشتر
دوره پروژه محور آموزش جنگو

با این دوره، Django رو از پایه شروع کن و به یک حرفه‌ای تبدیل شو! یاد بگیر چطور با معماری MVT، پایگاه داده و RESTful API کار کنی، پروژه‌های واقعی بسازی و آن‌ها رو روی وب سرور مستقر کنی!

مشاهده بیشتر

بازی عبور از موانع با پایتون

بازی عبور از موانع با پایتون
شرح مختصر پروژه

بازی عبور از موانع یک بازی ساده و در عین حال یک پروژه نسبتا چالش برانگیز برای برنامه نویسان مبتدی پایتون است که در آن از کتابخانه ی pygame استفاده می شود.

توضیحات پروژه

این بازی یک بازی ساده و جذاب است که شما در آن یک بازیکن را کنترل کرده و باید از بین موانعی که به صورت تصادفی در مسیر شما قرار دارند عبور کنید. با استفاده از کلیدهای جهت‌دهی، می‌توانید بازیکن را حرکت دهید و از برخوردهای با موانع جلوگیری کنید. هر بار که بازیکن با یک مانع برخورد می‌کند، بازی متوقف می‌شود و شما باید بازی را از ابتدا شروع کنید.

اما جالب‌ترین بخش این بازی این است که سرعت موانع به مرور زمان افزایش می‌یابد و شما باید با توجه به این افزایش سرعت، بازیکن را کنترل کنید تا از برخوردهای با موانع جلوگیری کنید. همچنین، با استفاده از کلیدهای Shift و Ctrl می‌توانید به ترتیب سرعت موانع را افزایش و کاهش دهید تا بازی را برای خودتان چالش‌برانگیز‌تر یا آسان‌تر کنید.

مراحل ساخت بازی با استفاده از پایتون

مرحله اول : نصب کتابخانه های مورد نیاز

برای ایجاد این بازی، از کتابخانه Pygame استفاده شده است که یک کتابخانه‌ی متن باز و رایگان برای توسعه‌ی بازی‌ها و برنامه‌های چندرسانه‌ای در زبان برنامه‌نویسی پایتون است. Pygame امکاناتی را برای رسم شیءها در پنجره، مدیریت ورودی کاربر، صدا و موزیک، تصاویر و انیمیشن فراهم می‌کند که همگی برای ساخت بازی‌های ساده یا پیشرفته کافی هستند.

برای نصب کتابخانه Pygame، می‌توانید از دستور زیر در خط فرمان (CMD) استفاده کنید:

pip install pygame

کد برنامه

import pygame
import sys
import random
import math

# Initialize Pygame
pygame.init()

# Settings
WIDTH, HEIGHT = 500, 500
WIN = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("حرکت بين موانع")

# Colors
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 0)
PURPLE = (128, 0, 128)
CYAN = (0, 255, 255)
ORANGE = (255, 165, 0)

# List of colors
COLORS = [RED, GREEN, BLUE, YELLOW, PURPLE, CYAN, ORANGE]



# Player class
class Player:
    def __init__(self, x, y):
        self.x = x
        self.y = y
        self.radius = 25
        self.color = WHITE
        self.velocity = 5

    def draw(self, win):
        pygame.draw.circle(win, self.color, (self.x, self.y), self.radius)

# Obstacle class
class Obstacle:
    def __init__(self, x, y, radius, velocity, color):
        self.x = x
        self.y = y
        self.radius = radius
        self.color = color
        self.velocity = velocity

    def draw(self, win):
        pygame.draw.circle(win, self.color, (self.x, self.y), self.radius)

    def move(self, speed_change):
        self.x -= self.velocity + speed_change

def create_obstacles():
    obstacles = []
    for _ in range(5):  # Number of obstacles
        obstacle_radius = random.randint(10, 30)
        obstacle_x = random.randint(WIDTH, 2 * WIDTH)
        obstacle_y = random.randint(obstacle_radius, HEIGHT - obstacle_radius)
        obstacle_velocity = random.randint(1, 5)
        obstacle_color = random.choice(COLORS)
        obstacles.append(Obstacle(obstacle_x, obstacle_y, obstacle_radius, obstacle_velocity, obstacle_color))
    return obstacles

# Main function
def main():
    player = Player(50, 50)
    obstacles = create_obstacles()
    clock = pygame.time.Clock()

    # Settings for adjusting obstacle speed
    speed_increase_amount = 1  # Amount to increase speed by
    speed_change = 0

    running = True
    while running:
        clock.tick(60)
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False

        keys = pygame.key.get_pressed()
        if keys[pygame.K_LEFT]:
            player.x -= player.velocity
        if keys[pygame.K_RIGHT]:
            player.x += player.velocity
        if keys[pygame.K_UP]:
            player.y -= player.velocity
        if keys[pygame.K_DOWN]:
            player.y += player.velocity
        if keys[pygame.K_LSHIFT]:
            speed_change += speed_increase_amount
        if keys[pygame.K_LCTRL]:
            speed_change -= speed_increase_amount
            if speed_change < 0:
                speed_change = 0

        # Move obstacles
        for obstacle in obstacles:
            obstacle.move(speed_change)
            if obstacle.x < -obstacle.radius:
                obstacle.x = WIDTH + random.randint(50, 200)
                obstacle.y = random.randint(obstacle.radius, HEIGHT - obstacle.radius)
                obstacle.velocity = random.randint(1, 5)
                obstacle.color = random.choice(COLORS)

        # Check collision with obstacles
        for obstacle in obstacles:
            distance = math.sqrt((player.x - obstacle.x)**2 + (player.y - obstacle.y)**2)
            if distance < player.radius + obstacle.radius:
                running = False  # End the game if collision occurs

        # Draw everything on the screen
        WIN.fill(BLACK)
        for obstacle in obstacles:
            obstacle.draw(WIN)
        player.draw(WIN)
        pygame.display.update()

    pygame.quit()
    sys.exit()

if __name__ == "__main__":
    main()

1403/02/21 2706 268
رمز عبور : tahlildadeh.com یا www.tahlildade.com
نظرات شما

نظرات خود را ثبت کنید...