Advertisement
finySTAR

Untitled

Dec 5th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 8.26 KB | None | 0 0
  1. # az importálást nem így kell meg oldani hanem pl: from valami import egyes nevek amiket használsz (fontos egy pontott ér)
  2. import pygame
  3. import random
  4. from fuggvenyek import egy_babura_kattintott
  5. import kockak
  6. from babu import Babu
  7. # TODO : (nem nagyon fontos) vagy magyarul legyenek a függvény, változók neve vagy angolul
  8. # TODO : minden egyes föggvénynek a leírása és commentelése (fontos) mert így könnyen nyomon követhető a program
  9. # TODO : minden egyes értéket amik le vannak írva azokat egyes váltzozókba át írni és vagy azokbol ki számolni igy aprogram könnyebben javítható
  10. # TODO : a fölös leges pygame loopok ki tisztitása
  11. # az egyes funkciok külün fájlba tá rakása
  12. # el kell dönteni hogy van egy fö listánk amiben objeceket tárölunk amik mindent tudnak magukrol !!!ez meg kell kérdeznem!!!
  13. # vagy a listában nem objecteket tárólunk hanem egy kicsit lebutitottan mit mos nem tudok el képzelni :)
  14.  
  15. # Kepernyő inicializálása
  16. pygame.init()
  17. width = 800
  18. height = 600
  19. gameDisplay = pygame.display.set_mode((width, height))
  20. pygame.display.set_caption('Ki nevet a végén')
  21. # előre definiált színek
  22. black = (0, 0, 0)
  23. white = (255, 255, 255)
  24. green = (0, 255, 0)
  25. red = (255, 0, 0)
  26. blue = (0, 0, 255)
  27. yellow = (255, 255, 0)
  28. clock = pygame.time.Clock()
  29. board = pygame.image.load('kep.png')
  30.  
  31. # egy csoport tárolom a bábukat így könnyebb lesz kirajzolni öket
  32. babuk_csapat = pygame.sprite.Group()
  33.  
  34. # ezzel a függvénnyel jelenítem meg a játék teret
  35. def tabla(x,y):
  36.  
  37.     gameDisplay.blit(board, (x,y))
  38.  
  39. # képek betöltése
  40. #dobasEgy = pygame.image.load("dice_one.png")
  41. kocka = kockak.kocka(gameDisplay)
  42. dobasKetto = pygame.image.load("dice_two.png")
  43. dobasHarom = pygame.image.load("dice_three.png")
  44. dobasNegy = pygame.image.load("dice_four.png")
  45. dobasOt = pygame.image.load("dice_five.png")
  46. dobasHat = pygame.image.load("dice_six.png")
  47. e = pygame.event.get()
  48.  
  49.  
  50.  
  51.  
  52. def korok_sorrend():
  53.     # (lorincek) ez mikor hívodik meg!!!
  54.     # TODO : szerintem egy kicsit bonyolultnak tünik elsőre
  55.     sorszam = [0, 1, 2, 3]
  56.     # ide ez főlosleges
  57.     for event in pygame.event.get():
  58.  
  59.         if event.type == pygame.MOUSEBUTTONDOWN:
  60.             a, b = pygame.mouse.get_pos()
  61.             # elég csak ezt meg hívni és ugyanazt meg fogja tenni mert nem kell még egy loopot
  62.             # futtatni a game loopon belül
  63.             if 40 + 565 < a and b > 40 + 565:
  64.                 for i in sorszam:
  65.  
  66.                     if sorszam[0] == 0:
  67.                         gameDisplay.fill(red)
  68.                     elif sorszam[1] == 1:
  69.                         gameDisplay.fill(green)
  70.                     elif sorszam[2] == 2:
  71.                         gameDisplay.fill(blue)
  72.                     elif sorszam[3] == 3:
  73.  
  74.                         gameDisplay.fill(yellow)
  75.  
  76.  
  77.  
  78. def babukirajzol(a,b,szin):
  79.  
  80.     ma = 38
  81.     mb = 38
  82.     coord = ((0,0),(2,0),(2,2),(0,2))
  83.     lista = []
  84.    
  85.     for i in coord:
  86.         x=a+i[0]
  87.         y=b+i[1]
  88.         lista.append(Babu(gameDisplay,(40 + ma * x, 30 + mb * y), szin))
  89.        
  90.     return lista
  91.        
  92. def babuDefault():
  93. ##    ma = 38
  94. ##    mb = 38
  95. ##    coord = ((0,0),(2,0),(2,2),(0,2))
  96. ##    
  97. ##    kek = []
  98. ##    piros=[]
  99. ##    zold=[]
  100. ##    sarga[]
  101. ##    for i in range(4):
  102. ##        a = 11+coord[i][0]
  103. ##        b = 11+coord[i][1]
  104. ##        kek.append(Babu(gameDisplay,(40 + ma * a, 30 + mb * b), blue))
  105. ##        piros.append(Babu(gameDisplay,(40 + ma * a, 30 + mb * b), red))
  106. ##        zold.append(Babu(gameDisplay,(40 + ma * a, 30 + mb * b), blue))
  107. ##        sarga.append(Babu(gameDisplay,(40 + ma * a, 30 + mb * b), blue))
  108.    
  109.     # ez tökéletesnek tünik (lehetne olyan ami értéket kap) vagy az osztályon belül van
  110.     """kekBabuk = [pygame.draw.rect(gameDisplay, blue, [455, 520, 36, 38]),
  111.                pygame.draw.rect(gameDisplay, blue, [455, 440, 36, 38]),
  112.                pygame.draw.rect(gameDisplay, blue, [530, 520, 36, 38]),
  113.                pygame.draw.rect(gameDisplay, blue, [530, 440, 36, 38])]"""
  114.  
  115.  
  116.     # egész jó megoldás !!! TODO : meg beszélni hogy ez hogyan kénne fojtani !!!
  117.     """pirosBabuk = [pygame.draw.rect(gameDisplay, red, [78, 68, 36, 38]),
  118.                  pygame.draw.rect(gameDisplay, red, [155, 68, 36, 38]),
  119.                  pygame.draw.rect(gameDisplay, red, [78, 140, 36, 38]),
  120.                  pygame.draw.rect(gameDisplay, red, [155, 140, 36, 38])]
  121.  
  122.    zold = [pygame.draw.rect(gameDisplay, green, [455, 68, 36, 38]),
  123.            pygame.draw.rect(gameDisplay, green, [455, 140, 36, 38]),
  124.            pygame.draw.rect(gameDisplay, green, [530, 68, 36, 38]),
  125.            pygame.draw.rect(gameDisplay, green, [530, 140, 36, 38])]
  126.  
  127.    sarga = [pygame.draw.rect(gameDisplay, yellow, [78, 520, 36, 38]),
  128.             pygame.draw.rect(gameDisplay, yellow, [78, 440, 36, 38]),
  129.             pygame.draw.rect(gameDisplay, yellow, [155, 440, 36, 38]),
  130.             pygame.draw.rect(gameDisplay, yellow, [155, 520, 36, 38])]"""
  131.  
  132. def display_first(first):
  133.     # maga a függvény név nem árulja el hogy mit is csinál
  134.     # egyes dobo kocka
  135.     if (first == 1):
  136.         kocka.egyes()
  137.         #gameDisplay.blit(dobasEgy, (670, 250))
  138.     # kettes dobo kocka
  139.     elif (first == 2):
  140.         gameDisplay.blit(dobasKetto, (670, 250))
  141.     # harmas dobo kocka
  142.     elif (first == 3):
  143.         gameDisplay.blit(dobasHarom, (670, 250))
  144.     # negyes dobo kocka
  145.     elif (first == 4):
  146.         gameDisplay.blit(dobasNegy, (670, 250))
  147.     # ötös dobo kocka
  148.     elif (first == 5):
  149.         gameDisplay.blit(dobasOt, (670, 250))
  150.     # hatos dobo kocka
  151.     elif (first == 6):
  152.         gameDisplay.blit(dobasHat, (670, 250))
  153.  
  154.  
  155. x = 40
  156. y = 30
  157.  
  158.  
  159. def main():
  160.     # ez teljesen folosleges az x, y változók definiálása kéttszer
  161.     x = 40
  162.     y = 30
  163.     quit = False
  164.  
  165.     gameDisplay.fill(green)
  166.     tabla(x, y)
  167.     c = babuDefault()
  168.     szin_index = 0
  169.     szin_lista = [green, red, yellow, blue]
  170.  
  171.     babu = pygame.draw.rect(gameDisplay, red, [40 + 33 * 8, 30, 36, 38])
  172.     while not quit:
  173.         for event in pygame.event.get():
  174.             if event.type == pygame.QUIT:
  175.                 quit = True
  176.  
  177.             if event.type == pygame.MOUSEBUTTONDOWN:
  178.                 a, b = pygame.mouse.get_pos()
  179.  
  180.                 if 40 + 565 > a and b < 40 + 565:
  181.                     # babu mozgatás ha a táblán belüre kattinta felhasználó
  182.  
  183.                     print("mo")
  184.                     ma = 38
  185.                     mb = 38
  186.                     a = int((a-40) / 38)
  187.                     b = int((b-30) / 38)
  188.                     #tabla(x, y)
  189.                     # itt korigálom hogy a kockán belül maradjanak a kockák
  190.                     if a > 4:
  191.                         ma -= 0.3
  192.                     if b > 5:
  193.                         mb -= 0.3
  194.                     babu = pygame.draw.rect(gameDisplay, red, [40 + ma * 7, 30 + mb * 5, 36, 38])
  195.                     lista = []
  196.                     lista2 = [(1,1),(5,7)]
  197.                     for i in lista2:
  198.                         lista.append([40 + ma * i[0], 30 + mb * i[1]])
  199.                        
  200.                     d = egy_babura_kattintott(a, b, c)
  201.                     if d != None:
  202.                         pass
  203.  
  204.                     #print(babu)
  205.                     print(a, b)
  206.  
  207.                 else:
  208.                     # ezt meg lehetne oldani choice all is nem kell számokat használni !!!meg kérdezés mert lehet hogy ez már feltünü hogy ennyire más lessz a program!!!
  209.                     kocka_ertek = random.randint(1, 6)
  210.                     display_first(kocka_ertek)
  211.                     szin_index += 1
  212.                     if szin_index > 3:
  213.                         szin_index = 0
  214.                     gameDisplay.fill(szin_lista[szin_index])
  215.  
  216.         # print(korok_sorrend())
  217.         # ezt elég elég lenne csak egyszer meg hívni
  218.         babukirajzol(11,11,blue)
  219.         babukirajzol(11,11,red)
  220.         babukirajzol(11,11,green)
  221.         babukirajzol(11,11,yellow)
  222.         tabla(x,y)
  223.         pygame.display.update()
  224.         clock.tick(60)
  225.         # érdemes lenne pygame.sprite.group() ott használni így csa
  226.         # mindig meg kell addni a új poziciót
  227.  
  228.     pygame.quit()
  229.  
  230.  
  231. # 36x36 egy kis kocka
  232.  
  233. # 565 × 565 a palya
  234.  
  235. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement