def placeTower(validTiles): currentTile = detectTile() if drag_select_controller.selected is not None: drag_select_controller.selected.rangeSpr.killVisib() if currentTile in validTiles: if bank.money < bank.prices[currentTower]: snd_man.get('accessdenied').play() else: bank.money -= bank.prices[currentTower] validTiles.remove(currentTile) options = { arrowTower: lambda pos: gameObjs.Tower((pos[0], pos[1]), 'arrowTower', 'axe', 2), swordTower: lambda pos: gameObjs.Tower((pos[0], pos[1]), 'tower1', 'knife', 4) } drag_select_controller.selected = options[currentTower]((currentTile[0] * 32, currentTile[1] * 32))