Curso Avançado de Desenvolvimento Python
Capítulo
>
Nível
Assíncrono/Aguardar
Configurando uma pergunta
Objetivo
Colete vários materiais de cozinha e prepare-os para cozinhar configurando "questions".
Existem vários materiais de cozinha e alimentos que precisam ser organizados e preparados para uso e consumo posteriores. Para facilitar isso, você pode configurar uma question(), que é uma função async similar à write(), mas em vez de exibir uma mensagem estática, você pode exibir uma pergunta com opções “Yes” e “No”.
Para configurar a função question() você também deve configurar uma função personalizada para lidar com condições. Essa função deve ter async escrito no início para estabelecê-la como uma função async. Dentro dela, a função question() é armazenada dentro de uma variável e a função tem await escrito na frente, como as outras funções async. Como argumento, a função question() recebe uma string com a pergunta que você vai fazer.
async def question_function():
answer = await player.question("Question you would like to ask")
if answer:
# Actions to take if answer is Yes
else:
# Actions to take if answer is No
Dentro da função, você terá uma declaração if que determina qual ação tomar se a resposta for verdadeira ou falsa. As funções personalizadas de pergunta serão configuradas no editor de código e permitirão que você colete e/ou posicione múltiplos itens de uma única fonte.
Os itens em questão que precisam ser preparados na cozinha são: "water", "ice", "meat" e "potato". Esses itens precisam ser coletados e colocados em áreas diferentes na cozinha. O "ice" deve ser colocado dentro de um congelador, o "water" deve ser colocado dentro da panela, e o "meat" e o "potato" precisam ser colocados dentro de fornos diferentes.
Primeiro, caminhe até a marca de X dourado na sala à direita e use a função personalizada await dispencer() que está descrita no editor de código. Encare a caixa de gelo e use a função duas (2) vezes. Ela fará uma pergunta, e você deve responder Yes para collect() "ice" e No para collect() "water".
Depois de coletar esses itens, caminhe até a marca de X escura ao seu lado, em frente ao congelador, e use a função place() para depositar o "ice" dentro do congelador. Assim: player.place("ice"). Em seguida, caminhe até a marca de X clara em frente a um saco e use a função collect() para pegar um "potato", assim: player.collect("potato").
Depois, caminhe até a marca de X escura ao lado da panela central e use place() para o "water" que você coletou, assim: player.place("water"). Ao terminar, caminhe até a marca de X clara acima disso, em frente à geladeira, e colete o "meat", assim: player.collect("meat").
Agora que você coletou tanto o "meat" quanto o "potato", caminhe até as duas (2) marcas de X douradas na sala à esquerda e use a função personalizada await oven() que está escrita no editor. Para a pergunta, no forno à direita, você deve escolher a resposta para bake o "potato", e no forno à esquerda você deve escolher a resposta para grill o "meat" para completar o nível.