Traktor/source/area/field.py
2024-04-14 14:29:11 +02:00

71 lines
1.8 KiB
Python

# create a field here : 1: add tiles, 2: place them
import pygame
from area.constants import WIDTH,HEIGHT,FIELD_WIDTH,FIELD_HEIGHT,TILE_SIZE,GREY,ROWS,COLS
from tile import Tile
tiles = []
fieldX = (WIDTH-FIELD_WIDTH)/2
# in center of the screen
fieldY = 100
# move field elements to field position
def positionFieldElements():
for t in tiles:
t.x += fieldX
t.y += fieldY
def createTiles():
for y in range(0, COLS):
for x in range(0, ROWS):
tile = Tile(x*TILE_SIZE, y*TILE_SIZE)
tile.randomizeContent()
tiles.append(tile)
positionFieldElements()
return tiles
def createField(win):
createTiles()
for t in tiles:
image = pygame.image.load(t.image).convert()
image = pygame.transform.scale(image, (TILE_SIZE, TILE_SIZE))
win.blit(image, (t.x, t.y))
pygame.display.flip()
def drawWindow(win):
win.fill(GREY)
createField(win)
pygame.display.flip()
#experimental:
# def update_tiles(win, tractor):
# tiles = createTiles()
# for tile in tiles:
# if tile.x == tractor.previous_x and tile.y == tractor.previous_y:
# tile.x = tractor.x
# tile.y = tractor.y
# if tile.image is not None:
# new_tile = Tile(tile.x, tile.y)
# new_tile.image = tile.image
# tiles.append(new_tile)
# image = pygame.image.load(tile.image).convert()
# image = pygame.transform.scale(image, (TILE_SIZE, TILE_SIZE))
# win.blit(image, (tile.x + fieldX-1, tile.y + fieldY-1))
def get_tile_coordinates(index):
if index < len(tiles):
tile = tiles[index]
return tile.x, tile.y
else:
return None