import arcade from tank import Tank from bonus import Bonus from random import randint class Map(): ground_tiles = arcade.SpriteList() object_tiles = arcade.SpriteList() def __init__(self,width,height,tw,th): self.height = height self.width = width self.tilew = tw self.tileh = th self.ground = [ ' ........ ', ' . ', ' . ', ' . ', ' . ', ' . ', ' . ', ' . ', ' ', ] self.objects = [ ' ', ' e e ', ' s ', ' ', ' p ', ' ', ' e ', ' ', ' s e ', ] self.setup() def init_ground(self): for i in range(len(self.ground)): for j in range(len(self.ground[i])): if self.ground[i][j] == ' ': tile = arcade.Sprite( './assets/tileGrass1.png', scale=1 ) elif self.ground[i][j] == '.': tile = arcade.Sprite( './assets/tileSand1.png', scale=1 ) tile.center_x = self.tilew//2 + j * self.tilew tile.center_y = self.height - (self.tileh//2 + i * self.tileh) Map.ground_tiles.append(tile) def init_objects(self): for i in range(len(self.objects)): for j in range(len(self.objects[i])): if self.objects[i][j] == 'p': Tank( self.tilew//2 + j * self.tilew, self.height - (self.tileh//2 + i * self.tileh), 'player') elif self.objects[i][j] == 'e': Tank( self.tilew//2 + j * self.tilew, self.height - (self.tileh//2 + i * self.tileh) ) elif self.objects[i][j] == 's': Bonus( self.tilew//2 + j * self.tilew, self.height - (self.tileh//2 + i * self.tileh) ) #tile.center_x = self.tilew//2 + j * self.tilew #tile.center_y = self.height - (self.tileh//2 + i * self.tileh) #Map.object_tiles.append(tile) def setup(self): self.init_ground() self.init_objects() def update(self): if self.coin_timer >= 1: for i in range(len(self.objects)): for j in range(len(self.objects[i])): if self.objects[i][j] == ' ' and randint(0,1) == 1: self.objects[i][j] = 's' def draw(self): Map.ground_tiles.draw() #Map.object_tiles.draw()