お知らせ

『プログラミング能力検定(11月検定)』参加者募集中!

詳細はこちら

【02】左右に向きを変える

向きを変える(turn)のイメージ画像 マイクラ(Python)

この項では「右向けぇ~右!」といったように、エージェントの向きを変えるための命令を学習します。1回の命令で指定した方向に90度回転しますので、同じ方向に2回連続実行することで真後ろを向かせることもできます。

エージェントの向きを左・右へ変える

agent.turn(LEFT)
agent.turn(RIGHT)

LEFTレフト は英語で「左」、RIGHTライト は「右」、そして turnターン は「向きを変える」という意味です。前回FORWARD などと同じように LEFTRIGHT も大文字で書くところに注意してください。

また、この場合はエージェントから見て「左」もしくは「右」ということなので、コードを書くときにはエージェントの視点で回転する方向を考えてください。

実際にエージェントの向きを変えてみる

それでは実際にエージェントの向きを変える課題に挑戦してみましょう。課題の内容は前回と同じにしましょう。ただし今回は move(RIGHT) は使ってはいけません。

turn課題1

まずは前回と同じように前方向3ブロック進みます。

agent.move(FORWARD3)

turn課題2

ここまでは前回と同じです。前回はここから右方向に横移動しましたが、今回はまずエージェントを右方向へ向かせます。

agent.turn(RIGHT)

turn課題3

これで画像のようにエージェントが進行方向を向いたので、最後はそのまま前方向2ブロック移動します。

agent.move(FORWARD, 2)

turn課題4

これでゴールに到達できました!

「左へ向く」もチャットコマンドで実行できるようにする

この命令も、エージェントの向きを微調整したいときによく使うので、前回前々回と同じように、チャットコマンドで実行できるようにしておきましょう。ただし、左右両方向を設定する必要はないので、ここでは「左へ向く」だけ設定します。

def on_chat3():
    agent.turn(LEFT)
player.on_chat(“LT”, on_chat3)

今回は LEFT の略の “LT” をコマンドにしました。