Итак, впереди длинные майские выходные, самое время приготовить шашлык как настоящие программисты.
Что делаем
Готовим шашлык.
Нет, серьёзно, эта статья — подробное руководство по приготовлению шашлыка, но написанное на понятном для разработчиков языке. Мы взяли за основу синтаксис Python и на его основе написали алгоритм — технически точный и практичный. При правильных параметрах запуска у вас получится отличный шашлык :-)
Создаём переменные
Чтобы всё получилось, нам нужны переменные — базовые составляющие всего процесса. Нам понадобится:
- мясо;
 - маринад;
 - угли или дрова;
 - мангал;
 - шампуры.
 
Сразу пропишем нужное количество в коде:
# мясо — 2 кило
meat = 2000
# лук — 4 шт.
onion = 4
# уксус — 200 мл
vinegar = 200
# специи
salt = 10
pepper = 30
# угли для мангала — 2 кг
grill_charcoal = 2000
Теперь инициализируем мангал и шампуры. Для этого инициализируем стандартную библиотеку dacha…
import dacha
…и с её помощью создадим мангал и шампуры:
mangal = dacha.grill()
shampur = dacha.skewer(8)
С инвентарём закончили, переходим к функции маринада.
Готовим маринад
Нам нужно приготовить маринад для шашлыка и выдержать в нём мясо 8 часов, чтобы оно было нежным. Код лучше запускать на ночь — так мясо лучше пропитается.
Для маринада сделаем отдельную функцию, чтобы не смешивать процессы подготовки и жарки.
# берём кастрюлю на 3 литра
pot = 3
# и готовим маринад
def marinade:
	# перемешиваем маринад
	marinad = ingridients.blend(onion, vinegar, salt, pepper)
	# пока есть мясо и маринад
	while meat.isExists and marinad.isExists: 
		# кладём в кастрюлю слой мяса
		pot.add(meat.slice)
		# и добавляем немного маринада
		pot.add(marinad.some)
		# результат — кастрюля с маринадом
		# ставим на ночь в холодильник на 8 часов
		pot.freeze(8)
		# результат — готовое мясо в кастрюле
		return pot
Настраиваем мангал
Для приготовления шашлыка нам нужны прогретые угли без открытого огня, чтобы не спалить мясо. Для этого берём мангал, засыпаем угли, поджигаем и ждём 15–20 минут:
# подготавливаем мангал
def make_heat:
	# засыпаем угли в мангал
	mangal.add(grill_charcoal)
	# и поджигаем их
	mangal.startFire()
	# ждём 20 минут, чтобы угли набрали жар
	mangal.wait(20)
Параллельно насаживаем мясо на шампуры. Можно сделать красиво, добавив между кусками мяса луковые кольца и прочие овощи, но мы сделаем базовую версию, а украшениями займёмся в следующий раз:
# насаживаем мясо на шашлык
def prepare:
	# пока в кастрюле есть мясо
	while pot.isNotEmpty:
		# и пока есть свободные шампуры
		while shampur.available:
		# берём очередной кусочек мяса и насаживаем на шампур
		shampur.add(pot.peaceOfMeat)
Жарим шашлык
У нас всё готово для приготовления шашлыка. Всё, что нам осталось сделать, — положить шампуры на мангал, не слишком близко и не слишком далеко от углей, и поворачивать их время от времени до образования вкусной корочки.
Запишем это в коде:
def cooking:
	# кладём все шампуры на мангал
	shampur.put(mangal)
	# пока не будет готово — ворочаем шампуры раз в 4 минуты
	while shampur.meat is not Ready:
		shampur.rotate(4)
	# как готово — убираем с огня
	shampur.takeOff()
	# и снимаем мясо с шампуров
	shampur.extractMeat()
Для запуска процесса готовки нам теперь достаточно вызвать все четыре функции по очереди:
# старт готовки
# готовим маринад
marinade()
# стартуем мангал
make_heat()
# насаживаем мясо
prepare()
# жарим шашлык
cooking()
# импортируем дачный кухонный инструмент
import dacha
# мясо — 2 кило
meat = 2000
# лук — 4 шт.
onion = 4
# уксус — 200 мл
vinegar = 200
# специи
salt = 10
pepper = 30
# угли для мангала — 2 кг
grill_charcoal = 2000
# создаём мангал и шампуры
mangal = dacha.grill()
shampur = dacha.skewer(8)
# берём кастрюлю на 3 литра
pot = 3
# и готовим маринад
def marinade:
	# перемешиваем маринад
	marinad = ingridients.blend(onion, vinegar, salt, pepper)
	# пока есть мясо и маринад
	while meat.isExists and marinad.isExists: 
		# кладём в кастрюлю слой мяса
		pot.add(meat.slice)
		# и добавляем немного маринада
		pot.add(marinad.some)
		# результат — кастрюля с маринадом
		# ставим на ночь в холодильник на 8 часов
		pot.freeze(8)
		# результат — готовое мясо в кастрюле
		return pot
# подготавливаем мангал
def make_heat:
	# засыпаем угли в мангал
	mangal.add(grill_charcoal)
	# и поджигаем их
	mangal.startFire()
	# ждём 20 минут, чтобы угли набрали жар
	mangal.wait(20)
# насаживаем мясо на шашлык
def prepare:
	# пока в кастрюле есть мясо
	while pot.isNotEmpty:
		# и пока есть свободные шампуры
		while shampur.available:
		# берём очередной кусочек мяса и насаживаем на шампур
		shampur.add(pot.peaceOfMeat)
def cooking:
	# кладём все шампуры на мангал
	shampur.put(mangal)
	# пока не будет готово — ворочаем шампуры раз в 4 минуты
	while shampur.meat is not Ready:
		shampur.rotate(4)
	# как готово — убираем с огня
	shampur.takeOff()
	# и снимаем мясо с шампуров
	shampur.extractMeat()
# старт готовки
# готовим маринад
marinade()
# стартуем мангал
make_heat()
# насаживаем мясо
prepare()
# жарим шашлык
cooking()
