Şimdi Ara

phyton kodum hareket etmeyince otomatik olarak kapanıyor

Bu Konudaki Kullanıcılar:
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
115
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Kod

    Yığını:
    phytonda yeniyim bu yüzden chatgpt den destek alarak bir yılan oyunu yazmaya çalıştım fakat kodumda bir hata var sanırım import random import os import msvcrt import time # Oyun alanı boyutları WIDTH = 20 HEIGHT = 10 # Yılanın başlangıç pozisyonu ve hızı snake_x, snake_y = WIDTH // 2, HEIGHT // 2 snake_speed = 1 # Yılanın başlangıç uzunluğu ve gövdesi snake_length = 1 snake_body = [(snake_x, snake_y)] # Oyun alanında yiyecek oluşturma food_x = random.randint(1, WIDTH - 1) food_y = random.randint(1, HEIGHT - 1) # Yılanın hareket yönü direction = "RIGHT" # Oyun tahtası oluşturma board = [[' ' for _ in range(WIDTH)] for _ in range(HEIGHT)] def draw_board():     os.system('cls' if os.name == 'nt' else 'clear')     for y in range(HEIGHT):         for x in range(WIDTH):             if (x, y) == (food_x, food_y):                 print('F', end=' ')             elif (x, y) in snake_body:                 print('O', end=' ')             else:                 print(board[y][x], end=' ')         print() def get_key():     if msvcrt.kbhit():         key = msvcrt.getch()         return key     return None try:     while True:         key = get_key()         # Yılanın yönünü güncelle         if key == b'w' and direction != "DOWN":             direction = "UP"         elif key == b's' and direction != "UP":             direction = "DOWN"         elif key == b'a' and direction != "RIGHT":             direction = "LEFT"         elif key == b'd' and direction != "LEFT":             direction = "RIGHT"         # Yılanın yeni başını hesapla         if direction == "UP":             new_head = (snake_x, snake_y - 1)         elif direction == "DOWN":             new_head = (snake_x, snake_y + 1)         elif direction == "LEFT":             new_head = (snake_x - 1, snake_y)         elif direction == "RIGHT":             new_head = (snake_x + 1, snake_y)         else:             new_head = (snake_x, snake_y)         snake_body.insert(0, new_head)         if snake_x == food_x and snake_y == food_y:             # Yılan yiyeceği yedi             snake_length += 1             food_x = random.randint(1, WIDTH - 1)             food_y = random.randint(1, HEIGHT - 1)         else:             # Yılanın kuyruğunu kısalt             snake_body.pop()         snake_x, snake_y = snake_body[0]         # Oyun tahtasını temizle         board = [[' ' for _ in range(WIDTH)] for _ in range(HEIGHT)]         # Yılanın gövdesini tahtaya ekle         for segment in snake_body:             x, y = segment             board[y][x] = 'O'         draw_board()         time.sleep(0.1) except KeyboardInterrupt:     print("Oyun bitti!") kodu çalıştırdığımda oyun başlıyor fakat ben w a s veya d tuşların ıbasmadığımda birden çöküyor ki snake oyununa sürekli hareket edemeyeceğimizin farkındasınızdır







  • Bence bu şekilde oyun yapmaya calışma. Bir kere while true baştan falso. Surekli sonsuz dongude olması mantıklı degil. Biz java da observer observable kullanıyorduk python hakkında çok bilgim yok ama github da benzer oyunlar bulabilirsin.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.