automatyczny_kelner/main.py
Vadzim Valchkovich 263ae113d4 add agent roles
2023-03-30 15:03:19 +02:00

69 lines
2.0 KiB
Python

import pygame
import random
pygame.init()
screen_size = (600, 600)
screen = pygame.display.set_mode(screen_size)
square_size = 50
num_squares = screen_size[0] // square_size
squares = []
for i in range(num_squares):
row = []
for j in range(num_squares):
square_rect = pygame.Rect(
j * square_size, i * square_size, square_size, square_size)
row.append(square_rect)
squares.append(row)
roles = ["kuchnia", "stół", "zamowienie", "czeka", "wykonane", "kelner"]
images = {}
roles_rect = {}
for role in roles:
images[role] = pygame.transform.scale(pygame.image.load(
'images/{0}.png'.format(role)), (square_size, square_size))
left = random.randint(0, num_squares - 1) * square_size
top = random.randint(0, num_squares - 1) * square_size
roles_rect[role] = pygame.Rect(left, top, square_size, square_size)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP:
if roles_rect["kelner"].top > 0:
roles_rect["kelner"].top -= square_size
elif event.key == pygame.K_DOWN:
if roles_rect["kelner"].bottom < screen_size[1]:
roles_rect["kelner"].top += square_size
elif event.key == pygame.K_LEFT:
if roles_rect["kelner"].left > 0:
roles_rect["kelner"].left -= square_size
elif event.key == pygame.K_RIGHT:
if roles_rect["kelner"].right < screen_size[0]:
roles_rect["kelner"].left += square_size
screen.fill((255, 255, 255))
for row in squares:
for square_rect in row:
pygame.draw.rect(screen, (0, 0, 0), square_rect, 1)
for role in roles:
pygame.draw.rect(screen, (0, 0, 0), roles_rect[role])
screen.blit(images[role], roles_rect[role])
pygame.display.flip()