Python Pygame kullanarak yapılan "Solo Test" oyunu kodunda hata var mı?

Fueren

Centipat
Katılım
23 Aralık 2023
Mesajlar
1.302
Çözümler
18
Daha fazla  
Sistem Özellikleri
İşlemci: Intel© Core™ i7-4510U CPU @ 2.00GHz × 2
Ekran kartı: NVIDIA Geforce 840M
İşletim Sistemi: Arch Linux
Masaüstü Ortamı: Gnome 46.1
Laptop modeli: ASUS X555LN
Cinsiyet
Erkek
Meslek
Öğrenci
Python:
import pygame, sys


class Piyon(pygame.sprite.Sprite):
    def __init__(self, pos):
        super().__init__()
        self.image = pygame.image.load('piyon.png')
        self.rect = self.image.get_rect(center = pos)


    def draw(self):
        screen.blit(self.image, self.rect)


def restart():
    piyon1.draw()
    piyon2.draw()
    piyon3.draw()
    piyon4.draw()
    piyon5.draw()
    piyon6.draw()
    piyon7.draw()
    piyon8.draw()
    piyon9.draw()
    piyon10.draw()
    piyon11.draw()
    piyon12.draw()
    piyon13.draw()
    piyon14.draw()
    piyon15.draw()
    piyon16.draw()
    piyon18.draw()
    piyon19.draw()
    piyon20.draw()
    piyon21.draw()
    piyon22.draw()
    piyon23.draw()
    piyon24.draw()
    piyon25.draw()
    piyon26.draw()
    piyon27.draw()
    piyon28.draw()
    piyon29.draw()
    piyon30.draw()
    piyon31.draw()
    piyon32.draw()
    piyon33.draw()


def checkPlayable(piyon):
    select = piyon
    if piyon == 1:
        if container[3] == ' ':
            canPlayable = (True, 3)
        elif container[9] == ' ':
            canPlayable = (True, 9)
        else: canPlayable = False
   
    if piyon == 2:
        if container[10] == ' ':
            canPlayable = (True, 10)
        else: canPlayable = False


    if piyon == 3:
        if container[1] == ' ':
            canPlayable = (True, 1)
        elif container[11] == ' ':
            canPlayable = (True, 11)
        else: canPlayable = False
   
    if piyon == 4:
        if container[6] == ' ':
            canPlayable = (True, 6)
        elif container[16] == ' ':
            canPlayable = (True, 16)
        else: canPlayable = False
   
    if piyon == 5:
        if container[17] == ' ':
            canPlayable = (True, 17)
        else: canPlayable = False


    if piyon == 6:
        if container[4] == ' ':
            canPlayable = (True, 4)
        elif container[18] == ' ':
            canPlayable = (True, 18)
        else: canPlayable = False
   
    if piyon == 7:
        if container[21] == ' ':
            canPlayable = (True, 21)
        elif container[9] == ' ':
            canPlayable = (True, 9)
        else: canPlayable = False


    if piyon == 8:
        if container[10] == ' ':
            canPlayable = (True, 10)
        elif container[22] == ' ':
            canPlayable = (True, 22)
        else: canPlayable = False
   
    if piyon == 9:
        if container[1] == ' ':
            canPlayable = (True, 1)
        elif container[7] == ' ':
            canPlayable = (True, 7)
        elif container[11] == ' ':
            canPlayable = (True, 11)
        elif container[23] == ' ':
            canPlayable = (True, 23)
        else: canPlayable = False


    if piyon == 10:
        if container[2] == ' ':
            canPlayable = (True, 2)
        elif container[8] == ' ':
            canPlayable = (True, 8)
        elif container[12] == ' ':
            canPlayable = (True, 12)
        elif container[24] == ' ':
            canPlayable = (True, 24)
        else: canPlayable = False


    if piyon == 11:
        if container[3] == ' ':
            canPlayable = (True, 3)
        elif container[9] == ' ':
            canPlayable = (True, 9)
        elif container[13] == ' ':
            canPlayable = (True, 13)
        elif container[25] == ' ':
            canPlayable = (True, 25)
        else: canPlayable = False


    if piyon == 12:
        if container[26] == ' ':
            canPlayable = (True, 26)
        elif container[10] == ' ':
            canPlayable = (True, 10)
        else: canPlayable = False
   
    if piyon == 13:
        if container[11] == ' ':
            canPlayable = (True, 11)
        elif container[27] == ' ':
            canPlayable = (True, 27)
        else: canPlayable = False


    if piyon == 14:
        if container[16] == ' ':
            canPlayable = (True, 16)
        else: canPlayable = False


    if piyon == 15:
        if container[17] == ' ' :
            canPlayable = (True, 17)
        else: canPlayable = False


    if piyon == 16:
        if container[4] == ' ':
            canPlayable = (True, 4)
        elif container[14] == ' ':
            canPlayable = (True, 14)
        elif container[28] == ' ':
            canPlayable = (True, 28)
        elif container[18] == ' ':
            canPlayable = (True, 18)
        else: canPlayable = False


    if piyon == 17:
        if container[5] == ' ':
            canPlayable = (True, 5)
        elif container[19] == ' ':
            canPlayable = (True, 19)
        elif container[29] == ' ':
            canPlayable = (True, 29)
        elif container[15] == ' ':
            canPlayable = (True, 15)
        else: canPlayable = False
   
    if piyon == 18:
        if container[6] == ' ':
            canPlayable = (True, 6)
        elif container[20] == ' ':
            canPlayable = (True, 20)
        elif container[16] == ' ':
            canPlayable = (True, 16)
        elif container[30] == ' ':
            canPlayable = (True, 30)
        else: canPlayable = False


    if piyon == 19:
        if container[17] == ' ':
            canPlayable = (True, 17)
        else: canPlayable = False


    if piyon == 20:
        if container[18] == ' ':
            canPlayable = (True, 18)
        else: canPlayable = False
   
    if piyon == 21:
        if container[7] == ' ':
            canPlayable = (True, 7)
        elif container[23] == ' ':
            canPlayable = (True, 23)
        else: canPlayable = False


    if piyon == 22:
        if container[8] == ' ':
            canPlayable = (True, 8)
        elif container[24] == ' ':
            canPlayable = (True, 24)
        else: canPlayable = False


    if piyon == 23:
        if container[21] == ' ':
            canPlayable = (True, 21)
        elif container[31] == ' ':
            canPlayable = (True, 31)
        elif container[9] == ' ':
            canPlayable = (True, 9)
        elif container[25] == ' ':
            canPlayable = (True, 25)
        else: canPlayable = False


    if piyon == 24:
        if container[32] == ' ':
            canPlayable = (True, 32)
        elif container[10] == ' ':
            canPlayable = (True, 10)
        elif container[22] == ' ':
            canPlayable = (True, 22)
        elif container[26] == ' ':
            canPlayable = (True, 26)
        else: canPlayable = False


    if piyon == 25:
        if container[11] == ' ':
            canPlayable = (True, 11)
        elif container[33] == ' ':
            canPlayable = (True, 33)
        elif container[27] == ' ':
            canPlayable = (True, 27)
        elif container[23] == ' ':
            canPlayable = (True, 23)
        else: canPlayable = False


    if piyon == 26:
        if container[12] == ' ':
            canPlayable = (True, 12)
        elif container[24] == ' ':
            canPlayable = (True, 24)
        else: canPlayable = False


    if piyon == 27:
        if container[13] == ' ':
            canPlayable = (True, 13)
        elif container[25] == ' ':
            canPlayable = (True, 25)
        else: canPlayable = False


    if piyon == 28:
        if container[30] == ' ':
            canPlayable = (True, 30)
        elif container[26] == ' ':
            canPlayable = (True, 16)
        else: canPlayable = False


    if piyon == 29:
        if container[17] == ' ':
            canPlayable = (True, 17)
        else: canPlayable = False


    if piyon == 30:
        if container[18] == ' ':
            canPlayable = (True, 18)
        elif container[28] == ' ':
            canPlayable = (True, 28)
        else: canPlayable = False


    if piyon == 31:
        if container[23] == ' ':
            canPlayable = (True, 23)
        elif container[33] == ' ':
            canPlayable = (True, 33)
        else: canPlayable = False


    if piyon == 32:
        if container[24] == ' ':
            canPlayable = (True, 24)
        else: canPlayable = False


    if piyon == 33:
        if container[31] == ' ':
            canPlayable = (True, 31)
        elif container[25] == ' ':
            canPlayable = (True, 25)
        else: canPlayable = False


pygame.init()
screen = pygame.display.set_mode((500, 850))
clock = pygame.time.Clock()
cords = [" ",(206, 292),
                (249, 291),
                (294, 291),
                (205, 336),
                (249, 336),
                (294, 336),
                (118, 378),
                (162, 379),
                (205, 379),
                (249, 379),
                (294, 379),
                (337, 378),
                (383, 379),
                (119, 422),
                (163, 423),
                (205, 424),
                (249, 424),
                (293, 424),
                (339, 422),
                (382, 422),
                (118, 467),
                (163, 467),
                (207, 466),
                (249, 467),
                (294, 467),
                (338, 467),
                (383, 466),
                (206, 511),
                (250, 511),
                (294, 510),
                (205, 555),
                (249, 555),
                (294, 555)]
canPlayable = False
select = 0


container = [' ', '*', '*', '*'
                  '*', '*', '*'
        '*', '*', '*', '*', '*', '*', '*'
        '*', '*', '*', ' ', '*', '*', '*'
        '*', '*', '*', '*', '*', '*', '*'
                  '*', '*', '*'
                  '*', '*', '*']


if True:
    hitbox1 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox1.center = cords[1]


    piyon1 = Piyon(cords[1])


    hitbox2 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox2.center = cords[2]


    piyon2 = Piyon(cords[2])


    hitbox3 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox3.center = cords[3]


    piyon3 = Piyon(cords[3])


    hitbox4 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox4.center = cords[4]


    piyon4 = Piyon(cords[4])


    hitbox5 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox5.center = cords[5]


    piyon5 = Piyon(cords[5])


    hitbox6 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox6.center = cords[6]


    piyon6 = Piyon(cords[6])


    hitbox7 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox7.center = cords[7]


    piyon7 = Piyon(cords[7])


    hitbox8 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox8.center = cords[8]


    piyon8 = Piyon(cords[8])


    hitbox9 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox9.center = cords[9]


    piyon9 = Piyon(cords[9])


    hitbox10 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox10.center = cords[10]


    piyon10 = Piyon(cords[10])


    hitbox11 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox11.center = cords[11]


    piyon11 = Piyon(cords[11])


    hitbox12 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox12.center = cords[12]


    piyon12 = Piyon(cords[12])


    hitbox13 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox13.center = cords[13]


    piyon13 = Piyon(cords[13])


    hitbox14 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox14.center = cords[14]


    piyon14 = Piyon(cords[14])


    hitbox15 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox15.center = cords[15]


    piyon15 = Piyon(cords[15])


    hitbox16 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox16.center = cords[16]


    piyon16 = Piyon(cords[16])


    hitbox17 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox17.center = cords[17]


    piyon17 = Piyon(cords[17])


    hitbox18 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox18.center = cords[18]


    piyon18 = Piyon(cords[18])


    hitbox19 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox19.center = cords[19]


    piyon19 = Piyon(cords[19])


    hitbox20 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox20.center = cords[20]


    piyon20 = Piyon(cords[20])


    hitbox21 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox21.center = cords[21]


    piyon21 = Piyon(cords[21])


    hitbox22 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox22.center = cords[22]


    piyon22 = Piyon(cords[22])


    hitbox23 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox23.center = cords[23]


    piyon23 = Piyon(cords[23])


    hitbox24 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox24.center = cords[24]


    piyon24 = Piyon(cords[24])


    hitbox25 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox25.center = cords[25]


    piyon25 = Piyon(cords[25])


    hitbox26 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox26.center = cords[26]


    piyon26 = Piyon(cords[26])


    hitbox27 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox27.center = cords[27]


    piyon27 = Piyon(cords[27])


    hitbox28 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox28.center = cords[28]


    piyon28 = Piyon(cords[28])


    hitbox29 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox29.center = cords[29]


    piyon29 = Piyon(cords[29])


    hitbox30 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox30.center = cords[30]


    piyon30 = Piyon(cords[30])


    hitbox31 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox31.center = cords[31]


    piyon31 = Piyon(cords[31])


    hitbox32 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox32.center = cords[32]


    piyon32 = Piyon(cords[32])


    hitbox33 = pygame.rect.Rect((0, 0), (25, 25))
    hitbox33.center = cords[33]


    piyon33 = Piyon(cords[33])


baseSurf = pygame.image.load('solotestbase.png').convert_alpha()
baseRect = baseSurf.get_rect(center = (250, 425))


screen.fill("white")
screen.blit(baseSurf, baseRect)
restart()


while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()


        if event.type == pygame.MOUSEBUTTONDOWN:
            if select == 0:
                if hitbox1.collidepoint(pygame.mouse.get_pos()):
                    checkPlayable(1)
                   
                   
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_INSERT:
                print(pygame.mouse.get_pos())
   
    pygame.display.update()
    clock.tick(60)

Öncelikle kod bu arkadaşlar. Ekte resimleri paylaştım. Devamı gelmiyor. Kod biraz fazla uzun biliyorum. Çoğu şey tekrarlanmış ve kötü yazılmış bir kod. Fakat düzenleyemeyeceğim şu anda bunun için özür diliyorum. Koda kabaca bir bakın ve kod yazmasanız bile anlatırsanız çok sevinirim. solotestbase.pngpiyon.png
 
Son düzenleyen: Moderatör:
Son düzenleme:
Hocam moderatör yanlış düzeltmiş. Çalışıyor ama piyonları oynatma konusunda beyin.exe çalışmayı durduruyor.



Piyonları oynatma konusunda fikir verirseniz çok sevinirim hocam.
Maalesef ki telefondayım.
@Vavien. hocam yardımcı olur diye düşünüyorum. Pygame kütüphanesini daha önce kullanmamıştım. Bu yüzden deneme yanılma falan da yapamıyorum.
 

Yeni konular

Geri
Yukarı