automatyczny_kelner/main.py

77 lines
1.9 KiB
Python
Raw Normal View History

2023-03-15 13:03:42 +01:00
import pygame
2023-03-30 15:03:19 +02:00
import random
2023-03-15 13:03:42 +01:00
2023-03-31 00:48:17 +02:00
from models.Kitchen import Kitchen
from models.Table import Table
from models.Waiter import Waiter
2023-03-15 13:03:42 +01:00
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):
2023-03-30 15:03:19 +02:00
square_rect = pygame.Rect(
j * square_size, i * square_size, square_size, square_size)
2023-03-15 13:03:42 +01:00
row.append(square_rect)
squares.append(row)
2023-03-31 00:48:17 +02:00
tables = [
Table(square_size, screen_size, 2, 4),
Table(square_size, screen_size, 6, 5),
Table(square_size, screen_size, 4, 2),
Table(square_size, screen_size, 5, 6),
Table(square_size, screen_size, 4, 4),
]
kitchen = Kitchen(square_size, screen_size, 0, 0)
waiter = Waiter(square_size, screen_size, 0, 0)
2023-03-15 13:03:42 +01:00
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:
2023-03-31 00:48:17 +02:00
waiter.up()
2023-03-15 13:03:42 +01:00
elif event.key == pygame.K_DOWN:
2023-03-31 00:48:17 +02:00
waiter.down()
2023-03-15 13:03:42 +01:00
elif event.key == pygame.K_LEFT:
2023-03-31 00:48:17 +02:00
waiter.left()
2023-03-15 13:03:42 +01:00
elif event.key == pygame.K_RIGHT:
2023-03-31 00:48:17 +02:00
waiter.right()
elif event.key == pygame.K_ESCAPE:
for table in tables:
table.new_order()
2023-03-15 13:03:42 +01:00
screen.fill((255, 255, 255))
for row in squares:
for square_rect in row:
pygame.draw.rect(screen, (0, 0, 0), square_rect, 1)
2023-03-31 00:48:17 +02:00
for table in tables:
table.blit(screen)
kitchen.blit(screen)
waiter.blit(screen)
for table in tables:
if table.collision(waiter):
waiter.do_smth(table)
if kitchen.collision(waiter):
kitchen.take_orders(waiter)
2023-03-15 13:03:42 +01:00
pygame.display.flip()