🎮🕹️ Python Pacman Oyunu: Adım Adım Kodlama Rehberi 👾🍕

Sir ggdS*

Yeni üye
30 May 2023
23
20
👨‍💻 Adım 1: Ana Menü
Oyunun ana menüsünü oluşturmak için "menu.py" adında bir dosya oluşturun. Bu dosyada, kullanıcının oyunu başlatması, seçenekleri değiştirmesi veya oyunu kapatması gibi seçenekler yer almalıdır. Ana menüde birkaç seçenek belirleyin ve kullanıcıların bunları seçmesini sağlayın.
Python:
import time

def main_menu():
    print("Pacman Oyunu")
    time.sleep(1)  # 1 saniye bekleme
    print("1. Oyuna Başla")
    time.sleep(0.5)  # 0.5 saniye bekleme
    print("2. Seçenekleri Değiştir")
    time.sleep(0.5)  # 0.5 saniye bekleme
    print("3. Oyundan Çık")
    time.sleep(0.5)  # 0.5 saniye bekleme
    
    while True:
        choice = input("Seçiminizi yapın: ")
        
        if choice == "1":
            start_game()
            break
        elif choice == "2":
            options_menu()
            break
        elif choice == "3":
            exit_game()
            break
        else:
            print("Geçersiz seçim. Tekrar deneyin.")

def start_game():
    print("Oyun başlatılıyor...")
    # Oyunun başlatılması için gerekli kodlar buraya yazılır

def options_menu():
    print("Seçenekler menüsü")
    # Seçeneklerin değiştirilmesi için gerekli kodlar buraya yazılır

def exit_game():
    print("Oyun kapatılıyor...")
    # Oyunun kapatılması için gerekli kodlar buraya yazılır

main_menu()

🎲 Adım 2: Oyun Tahtası
Pacman oyunu, bir oyun tahtası kullanır. Bu tahtayı oluşturmak için "board.py" adında bir dosya oluşturun ve tahta boyutlarını belirleyin. Ayrıca, Pacman'in konumunu ve yönünü takip etmek için bir dizi veya bağlı liste kullanabilirsiniz.
Python:
class Board:
    def __init__(self, width, height):
        self.width = width
        self.height = height
        self.board = [[' ' for _ in range(width)] for _ in range(height)]

    def draw(self):
        print('+' + '-' * self.width + '+')
        for row in self.board:
            print('|' + ''.join(row) + '|')
        print('+' + '-' * self.width + '+')

    def update(self, x, y, symbol):
        if self.is_valid_position(x, y):
            self.board[y][x] = symbol

    def is_valid_position(self, x, y):
        return 0 <= x < self.width and 0 <= y < self.height

# Oyun tahtasını test etmek için örnek kullanım
if __name__ == '__main__':
    board = Board(10, 10)
    board.update(5, 5, 'P')  # Örneğin Pacman'in 'P' sembolüyle temsil edildiğini varsayalım
    board.update(3, 7, '*')  # Örneğin yemlerin '*' sembolüyle temsil edildiğini varsayalım
    board.draw()

🐍 Adım 3: Pacman ve Yemler
Pacman oyununda, Pacman yemleri yiyerek puan kazanır. Pacman'i ve yemleri oluşturmak için "pacman.py" ve "food.py" adında iki dosya oluşturun. Pacman'in boyutunu, renklerini, yönlerini ve diğer özelliklerini belirleyin. Ayrıca, yemleri rastgele bir konuma yerleştirin.

pacman.py ;​
Python:
import pygame
import sys

# Ekran boyutu ve renk tanımlamaları
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480
BACKGROUND_COLOR = (0, 0, 0)  # Siyah

class PacmanGame:
    def __init__(self):
        pygame.init()
        self.screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
        pygame.display.set_caption("Pacman")
        self.clock = pygame.time.Clock()
        self.running = False

    def start(self):
        self.running = True
        while self.running:
            self.clock.tick(60)
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    self.quit()
            self.update()
            self.draw()

    def update(self):
        # Oyun durumu güncellemeleri burada yapılır
        pass

    def draw(self):
        self.screen.fill(BACKGROUND_COLOR)
        # Oyun nesnelerinin çizimi burada yapılır
        pygame.display.flip()

    def quit(self):
        pygame.quit()
        sys.exit()

if __name__ == '__main__':
    game = PacmanGame()
    game.start()

food.py;​
Python:
import pygame
import random

# Yem boyutu ve renk tanımlamaları
FOOD_SIZE = 20
FOOD_COLOR = (255, 255, 0)  # Sarı

class Food:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def draw(self, screen):
        pygame.draw.circle(screen, FOOD_COLOR, (self.x, self.y), FOOD_SIZE // 2)

    @staticmethod
    def generate_random_food(width, height):
        x = random.randrange(FOOD_SIZE, width - FOOD_SIZE, FOOD_SIZE)
        y = random.randrange(FOOD_SIZE, height - FOOD_SIZE, FOOD_SIZE)
        return Food(x, y)

    @staticmethod
    def generate_multiple_food(width, height, count):
        foods = []
        for _ in range(count):
            food = Food.generate_random_food(width, height)
            foods.append(food)
        return foods


🕹️ Adım 4: Oyun Mantığı
Pacman oyununun temel mantığı, Pacman'in yemleri yiyerek puan kazanması ve hayaletlere yakalanmadan mümkün olduğunca uzun süre hayatta kalmasıdır. Oyun mantığını oluşturmak için "game.py" adında bir dosya oluşturun ve oyunun temel kurallarını, puanlama sistemini ve diğer özellikleri belirleyin.
Python:
import pygame
from pygame.locals import *
import sys

# Ekran boyutu ve renk tanımlamaları
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480
BACKGROUND_COLOR = (0, 0, 0)  # Siyah

class PacmanGame:
    def __init__(self):
        pygame.init()
        self.screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
        pygame.display.set_caption("Pacman")
        self.clock = pygame.time.Clock()
        self.running = False

        # Oyuna ait değişkenler ve nesnelerin tanımlanması
        self.player_pos = (SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2)
        self.player_speed = 5

    def start(self):
        self.running = True
        while self.running:
            self.clock.tick(60)
            for event in pygame.event.get():
                if event.type == QUIT:
                    self.quit()
                elif event.type == KEYDOWN:
                    if event.key == K_UP:
                        self.move_player(0, -self.player_speed)
                    elif event.key == K_DOWN:
                        self.move_player(0, self.player_speed)
                    elif event.key == K_LEFT:
                        self.move_player(-self.player_speed, 0)
                    elif event.key == K_RIGHT:
                        self.move_player(self.player_speed, 0)
            self.update()
            self.draw()

    def update(self):
        # Oyun durumu güncellemeleri burada yapılır
        pass

    def draw(self):
        self.screen.fill(BACKGROUND_COLOR)
        # Oyun nesnelerinin çizimi burada yapılır
        pygame.draw.circle(self.screen, (255, 255, 0), self.player_pos, 20)
        pygame.display.flip()

    def move_player(self, dx, dy):
        self.player_pos = (self.player_pos[0] + dx, self.player_pos[1] + dy)

    def quit(self):
        pygame.quit()
        sys.exit()

if __name__ == '__main__':
    game = PacmanGame()
    game.start()

🚀 Adım 5: Oyun Motoru
Child olarak, oyunun motorunu oluşturmanız gerekiyor. Bu engine, oyuncuların Pacman'i hareket ettirmelerini, yönlerini değiştirmelerini ve Pacman'in yemlerle etkileşime girmesini sağlar. Motoru oluşturmak için "engine.py" adında bir dosya oluşturun ve oyunun işleyişini sağlayacak fonksiyonları burada tanımlayın.
Python:
import pygame
from pygame.locals import *
import sys

# Ekran boyutu ve renk tanımlamaları
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480
BACKGROUND_COLOR = (0, 0, 0)  # Siyah

class PacmanEngine:
    def __init__(self):
        pygame.init()
        self.screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
        pygame.display.set_caption("Pacman")
        self.clock = pygame.time.Clock()
        self.running = False

        # Oyuna ait değişkenler ve nesnelerin tanımlanması
        self.player_pos = (SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2)
        self.player_speed = 5

    def start(self):
        self.running = True
        while self.running:
            self.clock.tick(60)
            self.handle_events()
            self.update()
            self.draw()

    def handle_events(self):
        for event in pygame.event.get():
            if event.type == QUIT:
                self.quit()
            elif event.type == KEYDOWN:
                if event.key == K_UP:
                    self.move_player(0, -self.player_speed)
                elif event.key == K_DOWN:
                    self.move_player(0, self.player_speed)
                elif event.key == K_LEFT:
                    self.move_player(-self.player_speed, 0)
                elif event.key == K_RIGHT:
                    self.move_player(self.player_speed, 0)

    def update(self):
        # Oyun durumu güncellemeleri burada yapılır
        pass

    def draw(self):
        self.screen.fill(BACKGROUND_COLOR)
        # Oyun nesnelerinin çizimi burada yapılır
        pygame.draw.circle(self.screen, (255, 255, 0), self.player_pos, 20)
        pygame.display.flip()

    def move_player(self, dx, dy):
        self.player_pos = (self.player_pos[0] + dx, self.player_pos[1] + dy)

    def quit(self):
        pygame.quit()
        sys.exit()

if __name__ == '__main__':
    engine = PacmanEngine()
    engine.start()

Bu beş adımı takip ederek, Python'da Pacman oyununu oluşturabilirsiniz. Her adım için ayrı dosyalar oluşturarak kodunuzu daha düzenli ve yönetilebilir solidness getirebilirsiniz.
Evet konu tarzını fsKS`den aldım​
 

ACE Veen

Uzman üye
4 Şub 2023
1,087
544
Belirsiz
👨‍💻 Adım 1: Ana Menü
Oyunun ana menüsünü oluşturmak için "menu.py" adında bir dosya oluşturun. Bu dosyada, kullanıcının oyunu başlatması, seçenekleri değiştirmesi veya oyunu kapatması gibi seçenekler yer almalıdır. Ana menüde birkaç seçenek belirleyin ve kullanıcıların bunları seçmesini sağlayın.
Python:
import time

def main_menu():
    print("Pacman Oyunu")
    time.sleep(1)  # 1 saniye bekleme
    print("1. Oyuna Başla")
    time.sleep(0.5)  # 0.5 saniye bekleme
    print("2. Seçenekleri Değiştir")
    time.sleep(0.5)  # 0.5 saniye bekleme
    print("3. Oyundan Çık")
    time.sleep(0.5)  # 0.5 saniye bekleme
   
    while True:
        choice = input("Seçiminizi yapın: ")
       
        if choice == "1":
            start_game()
            break
        elif choice == "2":
            options_menu()
            break
        elif choice == "3":
            exit_game()
            break
        else:
            print("Geçersiz seçim. Tekrar deneyin.")

def start_game():
    print("Oyun başlatılıyor...")
    # Oyunun başlatılması için gerekli kodlar buraya yazılır

def options_menu():
    print("Seçenekler menüsü")
    # Seçeneklerin değiştirilmesi için gerekli kodlar buraya yazılır

def exit_game():
    print("Oyun kapatılıyor...")
    # Oyunun kapatılması için gerekli kodlar buraya yazılır

main_menu()

🎲 Adım 2: Oyun Tahtası
Pacman oyunu, bir oyun tahtası kullanır. Bu tahtayı oluşturmak için "board.py" adında bir dosya oluşturun ve tahta boyutlarını belirleyin. Ayrıca, Pacman'in konumunu ve yönünü takip etmek için bir dizi veya bağlı liste kullanabilirsiniz.
Python:
class Board:
    def __init__(self, width, height):
        self.width = width
        self.height = height
        self.board = [[' ' for _ in range(width)] for _ in range(height)]

    def draw(self):
        print('+' + '-' * self.width + '+')
        for row in self.board:
            print('|' + ''.join(row) + '|')
        print('+' + '-' * self.width + '+')

    def update(self, x, y, symbol):
        if self.is_valid_position(x, y):
            self.board[y][x] = symbol

    def is_valid_position(self, x, y):
        return 0 <= x < self.width and 0 <= y < self.height

# Oyun tahtasını test etmek için örnek kullanım
if __name__ == '__main__':
    board = Board(10, 10)
    board.update(5, 5, 'P')  # Örneğin Pacman'in 'P' sembolüyle temsil edildiğini varsayalım
    board.update(3, 7, '*')  # Örneğin yemlerin '*' sembolüyle temsil edildiğini varsayalım
    board.draw()

🐍 Adım 3: Pacman ve Yemler
Pacman oyununda, Pacman yemleri yiyerek puan kazanır. Pacman'i ve yemleri oluşturmak için "pacman.py" ve "food.py" adında iki dosya oluşturun. Pacman'in boyutunu, renklerini, yönlerini ve diğer özelliklerini belirleyin. Ayrıca, yemleri rastgele bir konuma yerleştirin.

pacman.py ;​
Python:
import pygame
import sys

# Ekran boyutu ve renk tanımlamaları
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480
BACKGROUND_COLOR = (0, 0, 0)  # Siyah

class PacmanGame:
    def __init__(self):
        pygame.init()
        self.screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
        pygame.display.set_caption("Pacman")
        self.clock = pygame.time.Clock()
        self.running = False

    def start(self):
        self.running = True
        while self.running:
            self.clock.tick(60)
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    self.quit()
            self.update()
            self.draw()

    def update(self):
        # Oyun durumu güncellemeleri burada yapılır
        pass

    def draw(self):
        self.screen.fill(BACKGROUND_COLOR)
        # Oyun nesnelerinin çizimi burada yapılır
        pygame.display.flip()

    def quit(self):
        pygame.quit()
        sys.exit()

if __name__ == '__main__':
    game = PacmanGame()
    game.start()

food.py;​
Python:
import pygame
import random

# Yem boyutu ve renk tanımlamaları
FOOD_SIZE = 20
FOOD_COLOR = (255, 255, 0)  # Sarı

class Food:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def draw(self, screen):
        pygame.draw.circle(screen, FOOD_COLOR, (self.x, self.y), FOOD_SIZE // 2)

    @staticmethod
    def generate_random_food(width, height):
        x = random.randrange(FOOD_SIZE, width - FOOD_SIZE, FOOD_SIZE)
        y = random.randrange(FOOD_SIZE, height - FOOD_SIZE, FOOD_SIZE)
        return Food(x, y)

    @staticmethod
    def generate_multiple_food(width, height, count):
        foods = []
        for _ in range(count):
            food = Food.generate_random_food(width, height)
            foods.append(food)
        return foods


🕹️ Adım 4: Oyun Mantığı
Pacman oyununun temel mantığı, Pacman'in yemleri yiyerek puan kazanması ve hayaletlere yakalanmadan mümkün olduğunca uzun süre hayatta kalmasıdır. Oyun mantığını oluşturmak için "game.py" adında bir dosya oluşturun ve oyunun temel kurallarını, puanlama sistemini ve diğer özellikleri belirleyin.
Python:
import pygame
from pygame.locals import *
import sys

# Ekran boyutu ve renk tanımlamaları
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480
BACKGROUND_COLOR = (0, 0, 0)  # Siyah

class PacmanGame:
    def __init__(self):
        pygame.init()
        self.screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
        pygame.display.set_caption("Pacman")
        self.clock = pygame.time.Clock()
        self.running = False

        # Oyuna ait değişkenler ve nesnelerin tanımlanması
        self.player_pos = (SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2)
        self.player_speed = 5

    def start(self):
        self.running = True
        while self.running:
            self.clock.tick(60)
            for event in pygame.event.get():
                if event.type == QUIT:
                    self.quit()
                elif event.type == KEYDOWN:
                    if event.key == K_UP:
                        self.move_player(0, -self.player_speed)
                    elif event.key == K_DOWN:
                        self.move_player(0, self.player_speed)
                    elif event.key == K_LEFT:
                        self.move_player(-self.player_speed, 0)
                    elif event.key == K_RIGHT:
                        self.move_player(self.player_speed, 0)
            self.update()
            self.draw()

    def update(self):
        # Oyun durumu güncellemeleri burada yapılır
        pass

    def draw(self):
        self.screen.fill(BACKGROUND_COLOR)
        # Oyun nesnelerinin çizimi burada yapılır
        pygame.draw.circle(self.screen, (255, 255, 0), self.player_pos, 20)
        pygame.display.flip()

    def move_player(self, dx, dy):
        self.player_pos = (self.player_pos[0] + dx, self.player_pos[1] + dy)

    def quit(self):
        pygame.quit()
        sys.exit()

if __name__ == '__main__':
    game = PacmanGame()
    game.start()

🚀 Adım 5: Oyun Motoru
Child olarak, oyunun motorunu oluşturmanız gerekiyor. Bu engine, oyuncuların Pacman'i hareket ettirmelerini, yönlerini değiştirmelerini ve Pacman'in yemlerle etkileşime girmesini sağlar. Motoru oluşturmak için "engine.py" adında bir dosya oluşturun ve oyunun işleyişini sağlayacak fonksiyonları burada tanımlayın.
Python:
import pygame
from pygame.locals import *
import sys

# Ekran boyutu ve renk tanımlamaları
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480
BACKGROUND_COLOR = (0, 0, 0)  # Siyah

class PacmanEngine:
    def __init__(self):
        pygame.init()
        self.screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
        pygame.display.set_caption("Pacman")
        self.clock = pygame.time.Clock()
        self.running = False

        # Oyuna ait değişkenler ve nesnelerin tanımlanması
        self.player_pos = (SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2)
        self.player_speed = 5

    def start(self):
        self.running = True
        while self.running:
            self.clock.tick(60)
            self.handle_events()
            self.update()
            self.draw()

    def handle_events(self):
        for event in pygame.event.get():
            if event.type == QUIT:
                self.quit()
            elif event.type == KEYDOWN:
                if event.key == K_UP:
                    self.move_player(0, -self.player_speed)
                elif event.key == K_DOWN:
                    self.move_player(0, self.player_speed)
                elif event.key == K_LEFT:
                    self.move_player(-self.player_speed, 0)
                elif event.key == K_RIGHT:
                    self.move_player(self.player_speed, 0)

    def update(self):
        # Oyun durumu güncellemeleri burada yapılır
        pass

    def draw(self):
        self.screen.fill(BACKGROUND_COLOR)
        # Oyun nesnelerinin çizimi burada yapılır
        pygame.draw.circle(self.screen, (255, 255, 0), self.player_pos, 20)
        pygame.display.flip()

    def move_player(self, dx, dy):
        self.player_pos = (self.player_pos[0] + dx, self.player_pos[1] + dy)

    def quit(self):
        pygame.quit()
        sys.exit()

if __name__ == '__main__':
    engine = PacmanEngine()
    engine.start()

Bu beş adımı takip ederek, Python'da Pacman oyununu oluşturabilirsiniz. Her adım için ayrı dosyalar oluşturarak kodunuzu daha düzenli ve yönetilebilir solidness getirebilirsiniz.
Evet konu tarzını fsKS`den aldım​
elinize sağlıkta bu python kodu değilmi neden C++ kategorisine açtınız
 

Sir ggdS*

Yeni üye
30 May 2023
23
20
elinize sağlıkta bu python kodu değilmi neden C++ kategorisine açtınız
dalgınlığıma gelmiş bende paylaşınca anladım adminler düzeltir diye düşünmüştüm düzeltmemişler bildiğim kadarıyla katagori paylaşıldıktan sonra değisilmiyor eğer değişilebiliyorsa bana anlatırsanız sevinirim
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.