Coding for KidsCoding for Kids
クリエイティブレベル挑戦教師ガイド
機能に投票
上級Python開発コース
チャプター
>
レベル

非同期/待機
質問の設定

目的

「質問」を設定して、さまざまなキッチン材料を集め、料理の準備をする

さまざまなキッチンおよび食品の材料が後で使用・消費するために設定され、準備される必要があります。これを容易にするために、question() を設定することができます。これは write() と似た async 関数ですが、静的なメッセージを表示する代わりに、「Yes」「No」 のオプション付きの質問を表示します。

question() 関数を設定するには、条件を処理するためのカスタム関数も設定する必要があります。この関数は async 関数として認識させるために先頭に async を記載する必要があります。内部では、question() 関数は変数に格納され、他の async 関数と同様に前に await が記載されています。引数として、question() 関数にはあなたが尋ねたい質問の文字列が渡されます。

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

関数内では、答えが true または false であるかに応じてどのアクションを取るかを判断する if 文が含まれます。質問用カスタム関数はコードエディターで設定され、単一のソースから複数のアイテムを収集および/または配置することが可能になります。

キッチンで準備する必要がある対象のアイテムは: "water""ice""meat" および "potato" です。これらのアイテムは収集され、キッチン内の異なる場所に配置する必要があります。"ice" は冷凍庫内に、"water" は鍋内に、"meat""potato" はそれぞれ別々のオーブン内に配置する必要があります。

まず、右の部屋にある金色の X マークまで歩き、コードエディターに記載されているカスタム関数 await dispencer() を使用します。アイスボックスに向かい、この関数を 2 回使用します。質問が表示されるので、collect() 関数で "ice" を収集するためには Yes と答え、collect() 関数で "water" を収集するためには No と答えなければなりません。

これらの両方のアイテムを収集したら、隣にある暗い X マーク(冷凍庫の前)まで歩き、place() 関数を使用して "ice" を冷凍庫内に配置します。このように: player.place("ice") 。その後、袋の前にある明るい X マークまで歩いて、collect() 関数を使用して "potato" を取得します。このように: player.collect("potato")

その後、中央の鍋の隣にある暗い X マークまで歩き、収集した "water"place() 関数で配置します。このように: player.place("water") 。完了したら、その上にある明るい X マークまで歩き、冷蔵庫の前で "meat"collect() 関数で収集します。このように: player.collect("meat")

これで "meat""potato" の両方を収集したので、左の部屋にある 2 つの金色の X マークまで歩き、エディターに記載されているカスタム関数 await oven() を使用します。右のオーブンでの質問では、"potato"bake する答えを選択し、左のオーブンでは "meat"grill する答えを選択することでレベルを完了させます。

コードブック