Traktor/app/__init__.py
2021-04-11 19:48:44 +02:00

93 lines
2.1 KiB
Python

#!/usr/bin/python3
import pygame
from config import *
from app.board import Board
from app.tractor import Tractor
class App:
def __init__(self):
self.__running = True
self.__screen = None
self.__clock = None
self.__board = Board()
self.__tractor = Tractor(self.__board)
def initialize(self):
pygame.init()
pygame.display.set_caption(CAPTION)
self.__screen = pygame.display.set_mode((WIDTH, HEIGHT))
self.__clock = pygame.time.Clock()
def event_handler(self, event: pygame.event.Event):
if event.type == pygame.QUIT:
self.__running = False
def loop_handler(self):
self.__board.draw(self.__screen)
self.__tractor.draw(self.__screen)
def keys_pressed_handler(self):
keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
self.__tractor.move_up()
print(self.__tractor)
if keys[pygame.K_DOWN]:
self.__tractor.move_down()
print(self.__tractor)
if keys[pygame.K_LEFT]:
self.__tractor.move_left()
print(self.__tractor)
if keys[pygame.K_RIGHT]:
self.__tractor.move_right()
print(self.__tractor)
if keys[pygame.K_w]:
self.__tractor.move()
print(self.__tractor)
if keys[pygame.K_h]:
self.__tractor.harvest()
if keys[pygame.K_v]:
self.__tractor.sow()
if keys[pygame.K_n]:
self.__tractor.hydrate()
if keys[pygame.K_f]:
self.__tractor.fertilize()
if keys[pygame.K_l]:
self.__tractor.rotate_left()
if keys[pygame.K_r]:
self.__tractor.rotate_right()
def update_screen(self):
pygame.display.flip()
def quit(self):
pygame.quit()
def run(self):
self.initialize()
while self.__running:
self.__clock.tick(FPS)
for event in pygame.event.get():
self.event_handler(event)
self.keys_pressed_handler()
self.loop_handler()
self.update_screen()
self.quit()