62 lines
1.7 KiB
Python
62 lines
1.7 KiB
Python
|
import pygame
|
||
|
import functions
|
||
|
import sys
|
||
|
import time
|
||
|
|
||
|
from agent import Agent
|
||
|
from settings import Settings
|
||
|
from board import create_board, draw_board
|
||
|
|
||
|
|
||
|
# Inicjalizacja programu i utworzenie obiektu ekrany
|
||
|
def run():
|
||
|
pygame.init()
|
||
|
settings = Settings()
|
||
|
screen = pygame.display.set_mode((settings.screen_width, settings.screen_height))
|
||
|
pygame.display.set_caption("Inteligentny wózek widłowy")
|
||
|
agent = Agent(screen, 50, 50, "Down")
|
||
|
board = create_board(screen)
|
||
|
|
||
|
for row in board:
|
||
|
for field in row:
|
||
|
print(field.cost_of_travel)
|
||
|
|
||
|
path = functions.a_star(board[agent.y][agent.x], board[5][7], board)
|
||
|
path.pop(len(path) - 1)
|
||
|
next_step = path.pop(len(path) - 1)
|
||
|
# Rozpoczęcie głównej pętli programu
|
||
|
while True:
|
||
|
# functions.check_events(agent, board)
|
||
|
# functions.update_screen(board, screen, agent)
|
||
|
#
|
||
|
for event in pygame.event.get():
|
||
|
if event.type == pygame.QUIT:
|
||
|
sys.exit()
|
||
|
elif event.type == pygame.KEYDOWN:
|
||
|
if event.key == pygame.K_RIGHT:
|
||
|
agent.turn_right()
|
||
|
elif event.key == pygame.K_LEFT:
|
||
|
agent.turn_left()
|
||
|
elif event.key == pygame.K_UP:
|
||
|
agent.move_forward(board)
|
||
|
|
||
|
if len(path) >= 0:
|
||
|
time.sleep(0.5)
|
||
|
if functions.check_turn(agent, next_step):
|
||
|
agent.move_forward(board)
|
||
|
if len(path) != 0:
|
||
|
next_step = path.pop()
|
||
|
else:
|
||
|
functions.change_turn(agent, next_step)
|
||
|
print(agent.position_x, agent.position_y)
|
||
|
|
||
|
|
||
|
|
||
|
draw_board(board)
|
||
|
agent.blitme()
|
||
|
|
||
|
pygame.display.flip()
|
||
|
|
||
|
|
||
|
run()
|