69 lines
1.8 KiB
Python
69 lines
1.8 KiB
Python
import pygame
|
|
from container.constans import WIDTH, HEIGHT,SQUARE_SIZE,ROWS,COLUMNS
|
|
from container.board import Board
|
|
|
|
FPS = 8
|
|
|
|
#creating game window
|
|
WIN = pygame.display.set_mode((WIDTH,HEIGHT))
|
|
#setting name
|
|
pygame.display.set_caption('Forest')
|
|
|
|
|
|
detective =pygame.image.load(r'container\detective.png')
|
|
|
|
|
|
def main():
|
|
|
|
run = True
|
|
clock = pygame.time.Clock() #for fps
|
|
board = Board()
|
|
#board.manage_rows_and_col(ROWS,COLUMNS)
|
|
|
|
#managing agent location
|
|
current_column = 0
|
|
current_row = 0
|
|
current_piece = board.get_piece(current_row,current_column)
|
|
current_piece.change_status()
|
|
|
|
#calculate desireable location to pixels
|
|
def claculate_position(x,y):
|
|
x = SQUARE_SIZE * x
|
|
y = SQUARE_SIZE * y
|
|
return [x,y]
|
|
|
|
while run:
|
|
|
|
clock.tick(FPS)
|
|
#print(current_column,current_row)
|
|
|
|
for event in pygame.event.get():
|
|
if event.type == pygame.QUIT:
|
|
run = False
|
|
|
|
#managing arrow click
|
|
key_input = pygame.key.get_pressed()
|
|
if key_input[pygame.K_LEFT] and current_column != 0:
|
|
current_column -= 1
|
|
if key_input[pygame.K_UP] and current_row != 0:
|
|
current_row -= 1
|
|
if key_input[pygame.K_RIGHT] and current_column != COLUMNS - 1:
|
|
current_column += 1
|
|
if key_input[pygame.K_DOWN] and current_row != 6 - 1:
|
|
current_row += 1
|
|
|
|
#managing agent location
|
|
current_piece.change_status()
|
|
current_piece = board.get_piece(current_row,current_column)
|
|
current_piece.change_status()
|
|
|
|
|
|
#drawing map and detective
|
|
board.draw_squares(WIN)
|
|
WIN.blit(detective, (claculate_position(current_column,current_row)[0], claculate_position(current_column,current_row)[1]))
|
|
pygame.display.update()
|
|
|
|
pygame.quit()
|
|
|
|
main()
|