[Swift Playgrounds] – プログラミングのキホンを学ぼう – Learn to Code1編
おばんです、会社の公式アカウントで誤爆するとすごく嫌な汗が出ることを学んだ田中です。
今回はSwift Playgroundsの中の『Learn to Code1』というコンテンツの紹介です。
Swift Playgroundsとは?
こちらをご覧ください。
[Swift Playgrounds] – Swift Playgroundsことはじめ – 全体紹介編
Learn to Codeとは
Learn to CodeとはSwift Playgroundsに入っているコンテンツの一つで、「Byte」というキャラクターを動かすためのSwiftで書かれたコマンドを使ってパズルを解きながらプログラミング学習をするというものです。
Learn to Code解説
Learn to Codeの最初の二つのお題を解説していきます。
Issuing Commands
説明文
- ゴール:SwiftのコマンドでByteを動かして宝石を集めさせる。
Byteは宝石を集めるのが好きですが、一人では集めることができません。最初のパズルではSwiftのコマンドを書いてByteを動かし、パズルの世界の宝石を集める必要があります。
①パズルの世界の中の宝石を探す。
②moveForward()
とcollectGem()
の二つのコマンドを正しく組み合わせて入力する。
③「Run My Code」をタップする。
解説
使えるコマンドは一歩前進するmoveForward()
コマンドと、宝石を集めるcollectGem()
コマンドの二つ。
Byteの位置から見て、宝石は三マス前方にあります。
三マス前に進むためにはmoveForward()を三回、そして最後に宝石を集めるためにcollectGem()を一回。 コマンドの順序は以下になります。
moveForward() moveForward() moveForward() collectGem()
これをコードエリアに記述し、Run My Codeボタンをタップしましょう。
するとByteが三マス前方に進み、宝石をゲットすることができました! これでIssuing Commandsクリアです。 クリアするとByteも嬉しそうに踊り出します。
Adding a New Commands
説明文
- ゴール:前方に動くコマンド、曲がるコマンドを組み合わせて宝石を集める。
このパズルは前回のものと似ていますが、今回宝石を集めるためにはByteを左向きに曲がらせる必要があります。
前回と同じようにあなたはコマンドを使うことができます。これまでのコマンドに加えて、今回からは新しいturnLeft()
も使いましょう。
①Byteが移動して宝石を取れるようになるコードを考えます。 ②コードエリアにコマンドを入力する。 ③「Run My Code」をタップしてコードを実行する。
解説
今回使えるコマンドは前回の二つに加えて、新たに左に曲がるturnLeft()
コマンド。
宝石の位置はByteから見て二マス前方、左に曲がってさらに二マス前方となっています。
二マス前に進むためにはmoveForward()
を二回、左に曲がるためにturnLeft()
を一回、さらに二マス前に進むためにmoveForward()
を二回、そして最後に宝石を集めるためにcollectGem()を一回。
コマンドの順序は以下になります。
moveForward() moveForward() turnLeft() moveForward() moveForward() collectGem()
これをコードエリアに記述し、Run My Codeボタンをタップしましょう。
するとByteが二マス前方に進み、左に曲がり、さらに二マス前方に進んだのちに宝石をゲットすることができました! これでAdding a New Commandsクリアです。 クリアするとByteが嬉しそうにはにかみます。
まとめ
プログラミングというものを説明する際に、「コンピュータに命令を実行させて何かを達成する」ものがプログラミングであるという話があります。 しかしプログラミングを始める時ってそもそもコンピュータがなんなのかわからない。 コンピュータがなにをできるかもわからないのに漠然と「命令するんだ」と言われてもなにをどうしていいかわからないというのがプログラミングを始めたての頃の僕の感想でした。
Learn to Codeでは「Byteに命令を下して宝石を集めさせる」(=命令を実行させて何かを達成する)わけですが、「なんかByteって生き物が居て宝石が好きらしい。足生えてるし歩けるだろう。手も生えてるし宝石も取れるだろう」というふうに、Byteが何者なのか・出来ることはなんなのかがわかりやすいので入門しやすいなと思いました。
Learn to Codeは初学者がプログラミングってなんなのかを理解するのに良いツールだなと思いました。 英語が読めない人でも、子供でも、コマンドの組み合わせが制限されているのでなんとなく理解できるし、Byte可愛いのでオススメです!