今回は、プログラミングを経験したことのない方でもできる、”アルゴロジック“を紹介していきたいと思います。
アルゴロジックの遊び方
まずはこちらの公式サイトにアクセスしてみましょう。
アルゴロジック1とアルゴロジック2が表示されているかと思います。
まずはアルゴロジック1選択してみましょう。
以下のような表示が出てくるかと思います。
アルゴロジック1には、ジュニア問題とチャレンジ問題があります。
ジュニア問題は、基本動作を覚える問題となっています。
小学生やプログラミング未経験でも気軽に挑戦することができます。
チャレンジ問題は、入門から上級までさまざまな問題で構成されています。
次に、アルゴロジック2を選択してみましょう。
以下のような表示が出てくるか思います。
アルゴロジック2の課題は「画面上に置かれたすべての旗を取る」に限定されています。
アルゴロジック1に比べて難易度は高めになっているかと思います。
アルゴロジック1をクリアできた方は、ぜひアルゴロジック2に挑戦してみましょう。
アルゴロジック1で遊ぶ
それでは実際に遊んでいこうと思います。
アルゴロジック1のジュニア問題で遊んでいきます。
アルゴロジック1の画面を表示させ、ジュニア問題を選択しましょう。
すると以下のような画面に移動するかと思います。
「01 まっすぐ移動」を選択してみましょう。
以下のような画面に移動することができたでしょうか?
こちらでは画面左側に表示されているキャラクターを旗の位置まで移動させることができたらクリアになります。
右側に表示されているコマンドブロックを使用して、キャラクターをどう動かすか設定していきます。
使用できるコマンドブロックは、以下になります。
- 「前進」
- 「右進」
- 「左進」
- 「縦横斜め8方向への回転」
- 「繰り返し始め/終り」
また、コマンドブロック上のカウンタをクリックすることで、進むコマ数や繰り返し回数を変えることができます。また、「前進」「右進」「左進」のコマンドブロックを2つ横に並べることで、2つが表すベクトル方向に進めることができます。
今回は、3マス前に旗がありますので、「前進」のコードブロックを使用します。
startボタンの下に配置、コマンドブロックのカウンタを3に変更して、startボタンを押してみましょう。
キャラクターを前進させて旗までたどり着くことができたでしょうか?
旗までたどり着けない方は以下の動画を参考にしてみてください。
無事たどり着くことができたでしょうか?
解き方の正解は1つだけとは限らず、どの解き方でもクリアすれば○が与えられます。さらに、考えられる最短のコマンドブロック列でクリアしたときには◎が与えられます。コマンドブロック列を短くする工夫は、アルゴリズムの改良であり、プログラミングを行う上でとても重要なものです。
どんどん挑戦していきましょう!
アルゴロジック2で遊ぶ
アルゴロジック2でも遊んでいきましょう。
アルゴロジック2のトップ画面を表示させ、startボタンを押しましょう。
以下のように画面が表示されていることを確認しましょう。
今回は、「09 IFを使う」で遊んでいきましょう。
選択すると以下の画面が表示されるかと思います。
操作方法を説明します。
アルゴロジック1とは違い「右進」「左進」コマンドブロックは無く、回転は縦横4方向に限定しています。コマンドブロックを2つ並べたベクトル方向に進む機能もありません。その代わりに「もし前に壁があったら〇〇をする。そうでなかったら○○をする」という分岐処理や「コードブロックの内容を繰り返す」繰り返し処理を設定することが可能です。
「09 IFを使う」では、前進していくと壁にぶつかってしまいます。
そのため、ifのブロックを使用し、「もし前に壁があれば、進行方向を右に切り替える」ということをしていきます。
そして全体を繰り返し処理のブロックで囲むことで、進むたびに壁があるか確認し、あれば方向を切り替えて進む処理を行うようにしていきます。
実際に挑戦してみましょう。
うまくできなかった方は、下記の動画を参考にしましょう。
無事旗までたどり着くことはできたでしょうか?
この調子で他の問題にもどんどん挑戦していきましょう。
おわりに
今回は、”アルゴロジック“を紹介いたしました。
本当に小学生から大人まで楽しむことができるゲームだと思うので、ぜひ挑戦していただけたら嬉しいです。
楽しくアルゴリズムを身につけていきましょう。
最後までご覧頂きありがとうございました。