Curso Avançado de Desenvolvimento Python
Capítulo
>
Nível
Assíncrono/Aguardar
Lendo Mensagens
Objetivo
Verifique se os números dos itens na adega estão corretos utilizando a função read() e faça uma contagem do estoque restante.
A adega possui várias caixas com garrafas de vinho, que serão movidas para o andar de cima para distribuição. No depósito, as mesas terão memorandos com os pedidos, e, ao lado delas, haverá caixas contendo as garrafas. Você precisa verificar se o número de garrafas em cada caixa corresponde ao dos memorandos e complementar os itens faltantes.
Primeiro, pegue as garrafas soltas que estão na sala de vinhos para que você as tenha à disposição para complementar qualquer item ausente dos pedidos. Existem três (3) tipos de garrafas de vinho; uma vez coletadas, crie variáveis para elas da seguinte forma: empty_bottles, purple_bottles, yellow_bottles e armazene o número coletado de cada uma nas variáveis.
Depois de recolher todas as garrafas no campo, dirija-se às marcas de X claras dentro do depósito e encare os memorandos. Use a função read() para ler as informações do pedido no memorando acionando um pop-up. Semelhante à função write(), a função read() é uma função assíncrona que requer await antes do código ser escrito, assim: await player.read().
Os memorandos são codificados por cores com base nos tapetes abaixo deles; uma vez que você identifique os números dos pedidos, dirija-se às marcas de X escuras em frente às caixas codificadas por cores e use a função speak() para verificar o conteúdo de cada caixa. Existem três (3) constantes correspondentes a cada uma das caixas: green_crate, blue_crate e red_crate.
Verifique se o conteúdo de cada caixa corresponde ao do memorando do tapete da cor correspondente. Se houver itens faltantes nas caixas descritos no memorando, adicione-os às caixas correspondentes. Crie variáveis: empty_missing, purple_missing e yellow_missing e adicione o número de cada item faltante ao conteúdo da caixa.
Depois que as variáveis estiverem definidas, use a função place() para adicionar as garrafas faltantes às caixas, por exemplo: player.place(empty_missing). Após configurar todos os itens, vá até a marca de X dourada e use write() para registrar uma contagem de todas as garrafas restantes que não foram armazenadas.
Um rascunho da mensagem será escrito no editor de código; defina as quantidades corretas de cada uma das garrafas restantes que não foram armazenadas subtraindo as duas variáveis que você criou, por exemplo: empty_bottles-empty_missing. Depois que todos os itens restantes forem contados, você terá completado o nível.