特集:Small Basicで初プログラミング

超簡単「Small Basic」でプログラミングを始めよう!

デジタルアドバンテージ 一色 政彦
2009/08/25
Page1 Page2 Page3

カメを自由自在に動かそう

 さらにSmall Basicには、プログラミング学習に適した機能も用意されている。それがカメ(Turtle)を歩かせてグラフィックを描画する機能だ(一般に「タートル・グラフィック」と呼ばれる)。

 例えば、次のようなコードになる。

Turtle.Show()
sides = 50
length = 8
angle = 360 / sides
Turtle.Speed = 9
For j = 1 To 20
  For i = 1 To sides
    Turtle.Move(length)
    Turtle.Turn(angle)
  EndFor
  Turtle.Turn(18)
EndFor
カメを自由自在に動かすコード例

 このコードでは、まずTurtleオブジェクトのShowオペレーションによりカメを表示している。sides変数は1回に移動する量、length変数は移動する長さ、angle変数は移動する角度を決めている。TurtleオブジェクトのSpeedプロパティでは速度(1〜10の10段階)を設定している。

 Forキーワードは、EndForまでの内容を繰り返し処理(=「ループ」と呼ばれる)するためのもので、「For j = 1 To 20」は1〜20まで(つまり20回)繰り返す(j変数には、1〜20のうち、何回目の繰り返しかという番号が代入される)。この例では、

  For i = 1 To sides
    Turtle.Move(length)
    Turtle.Turn(angle)
  EndFor
  Turtle.Turn(18)

を20回繰り返す。このようにループの中は、コードを読みやすくするためにインデントする(=文の初めに固定数のスペースを挿入する)。

 このループの中にはさらにループがある。sides変数には「50」が代入されているので、1〜50まで(つまり50回)、

    Turtle.Move(length)
    Turtle.Turn(angle)

という内容を繰り返す(i変数には、1〜50のうち、何回目の繰り返しかという番号が代入される)。ここでは、TurtleオブジェクトのMoveオペレーションによりカメが移動し、移動した跡には自動的に線が引かれる。また、TurtleオブジェクトのTurnオペレーションによりカメが回転する。つまりこの例では、「8」移動して、「7.2度=360÷50」回転することになる。

 7.2度を50回繰り返すので(合計360度になり)、カメが動いたあとには円が出来上がる(実際にはカクカクした円なのだが、見た目には正円に見える)。その後、TurtleオブジェクトのTurnオペレーションによりカメの向きが18度変えられているので、少しずれた位置から再び円が描かれる。

 18度を20回繰り返すので、描かれる正円が少しずつずれながら、さらに360度の円を描く。具体的には、次のような実行結果になる。

カメを自由自在に動かす実行例
グラフィックス・ウィンドウが自動的に立ち上がり、そのウィンドウ内にこのような図が、カメにより描かれる。

 例えばこのカメに描かせる図形を、課題としてプログラミング学習者に提示し、プログラミング技術のレベルを計測したり、また課題をこなすことでプログラミングの基礎を習得したりできるだろう。

 また、このカメ以外にも、ほかのオブジェクトを利用したり、工夫したりすれば、ちょっとしたゲームを作ったり、デスクトップの壁紙を替えたり、Flickrという画像サイトからランダムに画像を取得したり、さまざまなことが実現できる。より詳しい情報は、「Small Basic公式サイト」内の「Getting Started guide(docx or pdf)」のリンクから、Wordドキュメント(.docxファイル)もしくはPDFドキュメント(.pdfファイル)をダウンロードしてほしい。ドキュメントは英語だが、コードなどはそのまま使えるので、ざっと目を通すだけでも参考になるだろう。

 また、Small Basicのオブジェクトにどのようなものがあるかが記載された「APIリファレンス」(英語)が、次のリンク先に用意されている。

Small Basicプログラムを共有しよう

 最後にプログラムの共有機能について説明しよう。作成したプログラム・コードは、ほかのSmall Basicプログラマーと手軽に共有できる(ただしインターネットに接続している必要がある)。

Small Basicプログラム・コードの共有(プログラムIDの取得)

 共有するには、ツールバーの[Publish]ボタンをクリックするだけ。クリックすると、次のようなダイアログ・ボックスが表示される。

Small Basicプログラム・コードの発行(Publish)

 中央のテキストボックスに表示されているプログラムID(この例では「ZKP861」)をメモに取り、共有したい相手に伝えればよい。

Small Basicプログラム・コードのWeb上での共有

 もしくは、ダイアログ・ボックスの下にあるリンクのURLアドレス(この例は「http://smallbasic.com/program/?ZKP861」)を伝えてもよい。このリンクをクリックした場合は次のように、Web上にコードが表示される。

Small Basicプログラム・コードのWeb上での共有

Small Basicプログラム・コードの共有(プログラムIDの設定)

 プログラムID(この例では「ZKP861」)を共有相手に渡した場合は、その相手はツールバーの[Import]ボタンをクリックする。すると、次のダイアログ・ボックスが表示されるので、先ほどのプログラムIDをテキストボックスに入力して[OK]ボタンをクリックする。

Small Basicプログラム・コードのインポート(Import)

 これにより、エディタ上にコードが表示される。

 いかがだっただろうか? 必要最小限のプログラミング技術だけを使っても、これだけのことが行える。いきなりVisual Basicの全構文を覚えて使おうとするよりも、まずはSmall Basicで必要最小限のことからマスターした方が、初学者も着実にプログラミングの基礎を学べるのではないだろうか。それが結局、プログラミング習得の近道になるのではないだろうか。End of Article

 

 INDEX
  [特集] Small Basicで初プログラミング
  超簡単「Small Basic」でプログラミングを始めよう!
    1.Small Basic環境の概要/初めてのSmall Basicプログラミング
    2.Small Basicプログラミングの基礎/Small Basicによるグラフィックス・ウィンドウ
  3.カメを自由自在に動かそう/Small Basicプログラムを共有しよう


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH