Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import pygame
- import sys
- import random
- os.environ['SDL_VIDEO_CENTERED'] = '1'
- pygame.init()
- screen = pygame.display.set_mode((1920,1080))
- pygame.display.set_caption("Gra O Zaliczenie")
- clock = pygame.time.Clock()
- #STAŁE
- MY_LETTERS="ABCDEFGHJKNOPRSXZ"
- class Interface:
- def __init__(self):
- pygame.sprite.Sprite.__init__(self)
- self.rect = self.image.get_rect()
- class BG:
- def __init__(self):
- self.bg = pygame.image.load(os.path.join(os.getcwd(), 'obrazki/chest.png'))
- self.rect = self.bg.get_rect()
- def draw(self,surface):
- surface.blit(self.bg, self.rect)
- class Letters:
- def __init__(self, char=""):
- self.letter= pygame.image.load(os.path.join(os.getcwd(), 'obrazki/letter_' + char + ".png"))
- self.rect = self.letter.get_rect()
- self.__char = char
- def get_char(self):
- return self.__char
- def draw(self, surface):
- surface.blit(self.letter, self.rect)
- def set_start_position(self,pos_x,pos_y):
- self.rect.x = pos_x
- self.rect.y = pos_y
- def switch_letter_position(self):
- self.rect.x += 100
- class Frame:
- def __init__(self):
- self.frame= pygame.image.load(os.path.join(os.getcwd(), 'obrazki/frame.png'))
- self.rect = self.frame.get_rect()
- def draw(self, surface):
- surface.blit(self.frame, self.rect)
- def set_start_position(self,pos_x,pos_y):
- self.rect.x = pos_x
- self.rect.y = pos_y
- def update_position(self):
- if (self.rect.x < 1231):
- self.rect.x += 100
- else:
- self.rect.x = 530
- class ButtonL:
- def __init__(self):
- self.br= pygame.image.load(os.path.join(os.getcwd(), 'obrazki/button_L.png'))
- self.rect = self.br.get_rect()
- def draw(self, surface):
- surface.blit(self.br, self.rect)
- def set_start_position(self, pos_x, pos_y):
- self.rect.x = pos_x
- self.rect.y = pos_y
- class ButtonR:
- def __init__(self):
- self.bl= pygame.image.load(os.path.join(os.getcwd(), 'obrazki/button_R.png'))
- self.rect = self.bl.get_rect()
- def draw(self, surface):
- surface.blit(self.bl, self.rect)
- def set_start_position(self, pos_x, pos_y):
- self.rect.x = pos_x
- self.rect.y = pos_y
- class ButtonS:
- def __init__(self):
- self.bs= pygame.image.load(os.path.join(os.getcwd(), 'obrazki/button_O.png'))
- self.rect = self.bs.get_rect()
- def draw(self, surface):
- surface.blit(self.bs, self.rect)
- def set_start_position(self, pos_x, pos_y):
- self.rect.x = pos_x
- self.rect.y = pos_y
- class Random_Letter_Generator:
- def get_word_unique(length=10):
- selected_letters = []
- for i in range(length):
- letter = MY_LETTERS[random.randrange(len(MY_LETTERS))]
- while letter in selected_letters:
- letter = MY_LETTERS[random.randrange(len(MY_LETTERS))]
- selected_letters.append(letter)
- return ''.join(selected_letters)
- # TWORZENIE OBIEKTÓW
- bg=BG()
- frame=Frame()
- letter=Letters("a")
- bl=ButtonL()
- br=ButtonR()
- bs=ButtonS()
- word=Random_Letter_Generator.get_word_unique()
- letter.set_start_position(535, 185)
- frame.set_start_position(530, 180)
- bl.set_start_position(500, 400)
- br.set_start_position(900, 400)
- bs.set_start_position(1300, 400)
- def event_handler():
- for event in pygame.event.get():
- keys = pygame.key.get_pressed()
- if event.type == pygame.QUIT:
- sys.exit(0)
- elif event.type == pygame.KEYDOWN:
- if keys[pygame.K_RIGHT]:
- frame.update_position()
- frame.draw(screen)
- elif event.key == pygame.K_ESCAPE:
- sys.exit(0)
- # main loop
- i=0
- while (True):
- clock.tick(30)
- event_handler()
- bg.draw(screen)
- for i in word:
- letter = Letters(word[i])
- letter.draw(screen)
- letter.switch_letter_position()
- frame.draw(screen)
- bl.draw(screen)
- br.draw(screen)
- bs.draw(screen)
- pygame.display.flip()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement