Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame
- #See klass hoiab väljaku seisu ja oskab seda joonistada
- class Kaart:
- laius = 20 #niipalju ruute laiuses
- kõrgus = 40 #niipalju ruute kõrguses
- def __init__(self):
- #Teeme 2-mõõtmelise listi
- self.kaart = []
- for x in range(Kaart.laius):
- self.kaart.append([])
- for y in range(Kaart.kõrgus):
- self.kaart[x].append(0)
- def joonista(self):
- #Joonistame ruudud
- for x, rida in enumerate(self.kaart):
- for y, lahter in enumerate(rida):
- if lahter != 0:
- kasJoonistas = lahter.joonista(x, y)
- if lahter == 0 or not kasJoonistas:
- pygame.draw.rect(ekraan, (20, 20, 20), (x * ruuduLaius, y * ruuduLaius, ruuduLaius, ruuduLaius))
- pygame.draw.rect(ekraan, (0, 0, 0), (x * ruuduLaius + 1, y * ruuduLaius + 1, ruuduLaius - 2, ruuduLaius - 2))
- def lisaKujund(self, kujund):
- for lokaalneX, rida in enumerate(kujund.kujund):
- for lokaalneY, lahter in enumerate(rida):
- self.kaart[kujund.x + lokaalneX][kujund.y + lokaalneY] = kujund;
- #Klass, mille objektid on erinevad kujundid
- class Kujund:
- def __init__(self, x, y, kujund, värv):
- self.x = x #Kujundi asukoht kaardil
- self.y = y
- self.kujund = kujund #2-mõõtmeline list, mis hoiab kujundit
- self.värv = värv
- def joonista(self, kaardiX, kaardiY):
- #Joonistame kujundi vastavatele kordinaatidele, kui kujund on seal
- x = kaardiX - self.x
- y = kaardiY - self.y
- if self.kujund[x][y]:
- alumineVärv = (self.värv[0] - 10, self.värv[1] - 10, self.värv[2] - 10)
- print(alumineVärv)
- pygame.draw.rect(ekraan, alumineVärv, (kaardiX * ruuduLaius + 1, kaardiY * ruuduLaius + 1, ruuduLaius - 1, ruuduLaius - 1))
- ülemineVärv = [üksVärv + 10 for üksVärv in self.värv]
- print(ülemineVärv)
- pygame.draw.rect(ekraan, ülemineV, (kaardiX * ruuduLaius, kaardiY * ruuduLaius, ruuduLaius - 1, ruuduLaius - 1))
- pygame.draw.rect(ekraan, self.värv, (kaardiX * ruuduLaius + 1, kaardiY * ruuduLaius + 1, ruuduLaius - 2, ruuduLaius - 2))
- return True
- else:
- return False
- #Globaalne ruudu laius/kõrgus
- ruuduLaius = 15
- #Vastava suurusega aken
- ekraan = pygame.display.set_mode([ruuduLaius * Kaart.laius, ruuduLaius * Kaart.kõrgus])
- #Meie kaart
- kaart = Kaart()
- kujund = Kujund(10, 10, [[False, False], [True, True], [False, False]], (100, 0, 0))
- kaart.lisaKujund(kujund)
- while True:
- ekraan.fill((0,0,0))
- kaart.joonista()
- pygame.display.flip()
- pygame.time.delay(10)
- events = pygame.event.get()
- for oneEvent in events:
- if oneEvent.type == pygame.QUIT:
- #quit()
- exit()
- break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement