InteligentnySaper/main.py
2022-03-09 23:37:42 +01:00

62 lines
1.7 KiB
Python

#pygame - biblioteka do symulacji graficznych
import pygame
#system - klasy związane z pygame
#minesweeper - klasy związane z samym saperem
from classes import system, minesweeper
#ustalenie wielkości pojedyńczych kawałków mapy, oraz wielkości mapy
TILE_SIZE = 64
TILES_X = 16
TILES_Y = 10
#ustalenie FPS
FPS = 60
def main():
#utworzenie okna do gry
window = system.Window(TILE_SIZE*TILES_X, TILE_SIZE*TILES_Y, "Intelligent Minesweeper", "icon.png")
#utworzenie objektu mapy, wygenerowanie jej i narysowanie na ekranie
map = minesweeper.Map(window, TILE_SIZE, TILES_X, TILES_Y)
map.generate()
map.draw_tiles()
#utworzenie sapera
saper = minesweeper.Minesweeper(0,0, TILE_SIZE)
#główna pętla
game_loop = True
clock = pygame.time.Clock()
while game_loop:
#wdrożenie FPS, delta - czas od ostatniej klatki
delta = clock.tick(FPS)
#sterowanie
keys = pygame.key.get_pressed()
if keys[pygame.K_DOWN]:
saper.move(map, 0)
elif keys[pygame.K_UP]:
saper.move(map, 180)
elif keys[pygame.K_LEFT]:
saper.move(map, 270)
elif keys[pygame.K_RIGHT]:
saper.move(map, 90)
#narysowanie terenu i obiektów
map.draw_tiles()
map.draw_objects()
saper.draw(window.window, delta, map)
#odświeżenie ekranu
pygame.display.update()
#sprawdzanie różnych interakcji użytkownika
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_loop = False
pygame.quit()
if __name__ == "__main__":
main()