Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # az importálást nem így kell meg oldani hanem pl: from valami import egyes nevek amiket használsz (fontos egy pontott ér)
- import pygame
- import random
- from fuggvenyek import egy_babura_kattintott
- import kockak
- from babu import Babu
- # TODO : (nem nagyon fontos) vagy magyarul legyenek a függvény, változók neve vagy angolul
- # TODO : minden egyes föggvénynek a leírása és commentelése (fontos) mert így könnyen nyomon követhető a program
- # 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ó
- # TODO : a fölös leges pygame loopok ki tisztitása
- # az egyes funkciok külün fájlba tá rakása
- # el kell dönteni hogy van egy fö listánk amiben objeceket tárölunk amik mindent tudnak magukrol !!!ez meg kell kérdeznem!!!
- # vagy a listában nem objecteket tárólunk hanem egy kicsit lebutitottan mit mos nem tudok el képzelni :)
- # Kepernyő inicializálása
- pygame.init()
- width = 800
- height = 600
- gameDisplay = pygame.display.set_mode((width, height))
- pygame.display.set_caption('Ki nevet a végén')
- # előre definiált színek
- black = (0, 0, 0)
- white = (255, 255, 255)
- green = (0, 255, 0)
- red = (255, 0, 0)
- blue = (0, 0, 255)
- yellow = (255, 255, 0)
- clock = pygame.time.Clock()
- board = pygame.image.load('kep.png')
- # egy csoport tárolom a bábukat így könnyebb lesz kirajzolni öket
- babuk_csapat = pygame.sprite.Group()
- # ezzel a függvénnyel jelenítem meg a játék teret
- def tabla(x,y):
- gameDisplay.blit(board, (x,y))
- # képek betöltése
- #dobasEgy = pygame.image.load("dice_one.png")
- kocka = kockak.kocka(gameDisplay)
- dobasKetto = pygame.image.load("dice_two.png")
- dobasHarom = pygame.image.load("dice_three.png")
- dobasNegy = pygame.image.load("dice_four.png")
- dobasOt = pygame.image.load("dice_five.png")
- dobasHat = pygame.image.load("dice_six.png")
- e = pygame.event.get()
- def korok_sorrend():
- # (lorincek) ez mikor hívodik meg!!!
- # TODO : szerintem egy kicsit bonyolultnak tünik elsőre
- sorszam = [0, 1, 2, 3]
- # ide ez főlosleges
- for event in pygame.event.get():
- if event.type == pygame.MOUSEBUTTONDOWN:
- a, b = pygame.mouse.get_pos()
- # elég csak ezt meg hívni és ugyanazt meg fogja tenni mert nem kell még egy loopot
- # futtatni a game loopon belül
- if 40 + 565 < a and b > 40 + 565:
- for i in sorszam:
- if sorszam[0] == 0:
- gameDisplay.fill(red)
- elif sorszam[1] == 1:
- gameDisplay.fill(green)
- elif sorszam[2] == 2:
- gameDisplay.fill(blue)
- elif sorszam[3] == 3:
- gameDisplay.fill(yellow)
- def babukirajzol(a,b,szin):
- ma = 38
- mb = 38
- coord = ((0,0),(2,0),(2,2),(0,2))
- lista = []
- for i in coord:
- x=a+i[0]
- y=b+i[1]
- lista.append(Babu(gameDisplay,(40 + ma * x, 30 + mb * y), szin))
- return lista
- def babuDefault():
- ## ma = 38
- ## mb = 38
- ## coord = ((0,0),(2,0),(2,2),(0,2))
- ##
- ## kek = []
- ## piros=[]
- ## zold=[]
- ## sarga[]
- ## for i in range(4):
- ## a = 11+coord[i][0]
- ## b = 11+coord[i][1]
- ## kek.append(Babu(gameDisplay,(40 + ma * a, 30 + mb * b), blue))
- ## piros.append(Babu(gameDisplay,(40 + ma * a, 30 + mb * b), red))
- ## zold.append(Babu(gameDisplay,(40 + ma * a, 30 + mb * b), blue))
- ## sarga.append(Babu(gameDisplay,(40 + ma * a, 30 + mb * b), blue))
- # ez tökéletesnek tünik (lehetne olyan ami értéket kap) vagy az osztályon belül van
- """kekBabuk = [pygame.draw.rect(gameDisplay, blue, [455, 520, 36, 38]),
- pygame.draw.rect(gameDisplay, blue, [455, 440, 36, 38]),
- pygame.draw.rect(gameDisplay, blue, [530, 520, 36, 38]),
- pygame.draw.rect(gameDisplay, blue, [530, 440, 36, 38])]"""
- # egész jó megoldás !!! TODO : meg beszélni hogy ez hogyan kénne fojtani !!!
- """pirosBabuk = [pygame.draw.rect(gameDisplay, red, [78, 68, 36, 38]),
- pygame.draw.rect(gameDisplay, red, [155, 68, 36, 38]),
- pygame.draw.rect(gameDisplay, red, [78, 140, 36, 38]),
- pygame.draw.rect(gameDisplay, red, [155, 140, 36, 38])]
- zold = [pygame.draw.rect(gameDisplay, green, [455, 68, 36, 38]),
- pygame.draw.rect(gameDisplay, green, [455, 140, 36, 38]),
- pygame.draw.rect(gameDisplay, green, [530, 68, 36, 38]),
- pygame.draw.rect(gameDisplay, green, [530, 140, 36, 38])]
- sarga = [pygame.draw.rect(gameDisplay, yellow, [78, 520, 36, 38]),
- pygame.draw.rect(gameDisplay, yellow, [78, 440, 36, 38]),
- pygame.draw.rect(gameDisplay, yellow, [155, 440, 36, 38]),
- pygame.draw.rect(gameDisplay, yellow, [155, 520, 36, 38])]"""
- def display_first(first):
- # maga a függvény név nem árulja el hogy mit is csinál
- # egyes dobo kocka
- if (first == 1):
- kocka.egyes()
- #gameDisplay.blit(dobasEgy, (670, 250))
- # kettes dobo kocka
- elif (first == 2):
- gameDisplay.blit(dobasKetto, (670, 250))
- # harmas dobo kocka
- elif (first == 3):
- gameDisplay.blit(dobasHarom, (670, 250))
- # negyes dobo kocka
- elif (first == 4):
- gameDisplay.blit(dobasNegy, (670, 250))
- # ötös dobo kocka
- elif (first == 5):
- gameDisplay.blit(dobasOt, (670, 250))
- # hatos dobo kocka
- elif (first == 6):
- gameDisplay.blit(dobasHat, (670, 250))
- x = 40
- y = 30
- def main():
- # ez teljesen folosleges az x, y változók definiálása kéttszer
- x = 40
- y = 30
- quit = False
- gameDisplay.fill(green)
- tabla(x, y)
- c = babuDefault()
- szin_index = 0
- szin_lista = [green, red, yellow, blue]
- babu = pygame.draw.rect(gameDisplay, red, [40 + 33 * 8, 30, 36, 38])
- while not quit:
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- quit = True
- if event.type == pygame.MOUSEBUTTONDOWN:
- a, b = pygame.mouse.get_pos()
- if 40 + 565 > a and b < 40 + 565:
- # babu mozgatás ha a táblán belüre kattinta felhasználó
- print("mo")
- ma = 38
- mb = 38
- a = int((a-40) / 38)
- b = int((b-30) / 38)
- #tabla(x, y)
- # itt korigálom hogy a kockán belül maradjanak a kockák
- if a > 4:
- ma -= 0.3
- if b > 5:
- mb -= 0.3
- babu = pygame.draw.rect(gameDisplay, red, [40 + ma * 7, 30 + mb * 5, 36, 38])
- lista = []
- lista2 = [(1,1),(5,7)]
- for i in lista2:
- lista.append([40 + ma * i[0], 30 + mb * i[1]])
- d = egy_babura_kattintott(a, b, c)
- if d != None:
- pass
- #print(babu)
- print(a, b)
- else:
- # 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!!!
- kocka_ertek = random.randint(1, 6)
- display_first(kocka_ertek)
- szin_index += 1
- if szin_index > 3:
- szin_index = 0
- gameDisplay.fill(szin_lista[szin_index])
- # print(korok_sorrend())
- # ezt elég elég lenne csak egyszer meg hívni
- babukirajzol(11,11,blue)
- babukirajzol(11,11,red)
- babukirajzol(11,11,green)
- babukirajzol(11,11,yellow)
- tabla(x,y)
- pygame.display.update()
- clock.tick(60)
- # érdemes lenne pygame.sprite.group() ott használni így csa
- # mindig meg kell addni a új poziciót
- pygame.quit()
- # 36x36 egy kis kocka
- # 565 × 565 a palya
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement