import pygame import Slot import random import time pygame.init() BLACK = (0, 0, 0) BROWN = (139, 69, 19) WHITE = (255, 255, 255) RED=(255,0,0) GREEN=(0,255,0) CUBE_SIZE = 128 NUM_X = 8 NUM_Y = 4 WIDTH = 1024 HEIGHT = 512 screen = pygame.display.set_mode((WIDTH, HEIGHT)) screen.fill(WHITE) pygame.display.update() SLOT_DICT={} #Slot are stored in dictionary with key being a Tuple of x and y coordinates so top left slot key is (0,0) and value is slot object """#Draw grid and tractor (old one) def draw_grid(): for x in range(0, 8): pygame.draw.line(screen, BLACK, (x*CUBE_SIZE, 0), (x*CUBE_SIZE, HEIGHT)) #We got 8 lines in Y axis so to draw them we use x from range <0,7) to make slot manage easier for y in range(0, 4): pygame.draw.line(screen, BLACK, (0, y*CUBE_SIZE), (WIDTH, y*CUBE_SIZE)) #We got 4 lines in X axis so to draw them we use y from range <0,4) to make slot manage easier # Draw tractor tractor_image = pygame.image.load('images/traktor.png') tractor_image = pygame.transform.scale(tractor_image, (CUBE_SIZE, CUBE_SIZE)) screen.blit(tractor_image, (CUBE_SIZE - 128, CUBE_SIZE - 128))""" def draw_tractor(): #TODO? I think we should move draw_tractor to tractor class in the future tractor_image = pygame.image.load('images/traktor.png') tractor_image = pygame.transform.scale(tractor_image, (CUBE_SIZE, CUBE_SIZE)) screen.blit(tractor_image, (CUBE_SIZE - 128, CUBE_SIZE - 128)) pygame.display.update() #Draw grid and tractor (new one) def draw_grid(): for x in range(0,WIDTH//CUBE_SIZE): #We got 8 cubes in X axis so we use for from 0 to 7 do draw them all for y in range(0,HEIGHT//CUBE_SIZE): #We got 4 cubes in Y axis so we use for from 0 to 3 to draw them all new_slot=Slot.Slot(x,y,BROWN,screen) #Creation of empty slot SLOT_DICT[(x,y)]=new_slot #Adding slots to dict for entity in SLOT_DICT: SLOT_DICT[entity].draw() #For each slot in dictionary draw it on the screen draw_tractor() def change_color_of_slot(coordinates,color): #Coordinates must be tuple (x,y) x from range 0,7 and y in range 0,3 (left top slot has cord (0,0) ), color has to be from defined or custom in RGB value (R,G,B) SLOT_DICT[coordinates].color_change(color) def random_color(): x=random.randint(0,3) switcher={0:BROWN, 1:GREEN, 2:RED, 3:WHITE} return switcher[x] #Demo purpose, can be reused for photos of crops in the future(?) def randomize_colors(): font=pygame.font.Font('freesansbold.ttf',32) text=font.render('Randomizing crops',True,BLACK,WHITE) textRect=text.get_rect() textRect.center=(WIDTH//2,HEIGHT//2) screen.blit(text,textRect) pygame.display.update() time.sleep(3) for coordinates in SLOT_DICT: SLOT_DICT[coordinates].color_change(random_color()) draw_tractor() def init_demo(): #Demo purpose draw_grid() time.sleep(2) randomize_colors() #Main program init_demo() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: quit()