Small Basic: タートル (ja-JP)

この記事はプログラミング言語 Microsoft Small Basic の Turtle(タートル)について説明しています。

この記事の目次:


タートルとは?

タートルはプログラミング言語 Logo から来ています。タートルグラフィックスと呼ばれます。タートル(カメ)を回転したり移動させることでグラフィック図形を作成します。タートルの歴史についてはこちらの TechNet Wiki 記事(英語)に詳しく書かれています。

Turtle.Show()

上記の1行で下図のようなタートルを表示させることができます。

Turtle オブジェクト

Turtle オブジェクト はプログラミング言語 Logo のように図形を描く機能を提供します。

プロパティ

Turtle オブジェクトには以下の 4 つのプロパティがあります。

  • Angle - タートルの角度[度]を取得または設定します。初期値は 0 です。
  • Speed - タートルの速度(1 から 10)を取得または設定します。初期値は 5 です。
  • X - タートルの X 座標を取得または設定します。初期値は 320 です。
  • Y - タートルの Y 座標を取得または設定します。初期値は 240 です。

操作

Turtle オブジェクトには以下の 9 つの操作があります。これらの操作の戻り値はありません。

  • Hide() - タートルを非表示にします。
  • Move(distance) - 指定された distance (距離)[ピクセル]だけタートルを移動します。
  • MoveTo(x, y) - 指定した場所へタートルを回転、移動します。
  • PenDown() - ペンを下ろします。
  • PenUp() - ペンを上げます。
  • Show() - タートルを表示します。
  • Turn(angle) - 指定された angle (角度)[度]だけタートルを回転します。
  • TurnLeft() - タートルを 90 度左へ回転します。
  • TurnRight() - タートルを 90 度右へ回転します。

既知の留意点

一度非表示にするとタートルを表示できないという問題がありました。これはタートルグラフィックス(軌跡)を GraphicsWindow.Clear() で一度しか消せないことを意味していました。しかしタートルの軌跡を消す標準的な方法がないという問題は残っています。タートルの軌跡を消すための回避策について、こちらのブログの記事(英語)に詳細が書かれています。

サンプルコード

' Turtle オブジェクトコードサンプル
 
' Turtle.Show() 操作
Turtle.Show()
 
' Turtle.PenUp() と Turtle.MoveTo() 操作
Turtle.PenUp()
x = 320
y = 400
Turtle.MoveTo(x, y)
 
' Turtle.Angle プロパティ
Turtle.Angle = 45
 
' プロパティの表示
GraphicsWindow.BrushColor = "Gray"
GraphicsWindow.DrawText(10, 10,  "Turtle.X=" +  Turtle.X)
GraphicsWindow.DrawText(10, 30,  "Turtle.Y=" +  Turtle.Y)
GraphicsWindow.DrawText(10, 50,  "Turtle.Angle=" +  Turtle.Angle)
GraphicsWindow.DrawText(10, 70,  "Turtle.Speed=" +  Turtle.Speed)
Program.Delay(3000)
 
' Turtle.PenDown() 操作
Turtle.PenDown()
GraphicsWindow.PenColor = "Red"
 
' Turtle.Move() 操作
distance  = 130
Turtle.Move(distance)
 
' Turtle.Turn() と Turtle.Move() 操作
angle = -90
Turtle.Turn(angle)
Turtle.Move(distance)
 
' Turtle.TurnRight() と Turtle.Move() 操作
Turtle.TurnRight()
Turtle.Move(distance)
 
' Turtle.TurnLeft() と Turtle.Move() 操作
Turtle.TurnLeft()
Turtle.Move(distance)
 
' Turtle.Hide() 操作
Turtle.Hide()

サンプルプログラム

  • もう一つのタートルグラフィックス 0.5b (XVK119-3) - 単純な LOGO プログラム
  • ブラウン運動 (RFV485) - ブラウン運動のデモ
  • ドラゴンとタートル 0.6b (HMP803-5) - 格闘ゲーム
  • ヒルベルト曲線 (CMN910) - ヒルベルト曲線を描きます
  • 一筆書きソルバー 0.2 (FST624-0) - 一筆書き問題を解きます
  • タートルブロック 0.1 (KDH145) - タートルでレンガ造り
  • タートルドジャー 0.5b (QZN342-3) - 単純なゲーム
  • タートルフラッシュ 0.3 (RBN002-1) - 単にフラッシュのアニメーションを表示します
  • タートル迷路 1.62 (PNC833-19) - 迷路ゲーム
  • 錯視 #01 (TQH071) - Turtle オブジェクトではなく画像を使います
  • タートル操り人形 (VTD423-0) - Turtle オブジェクトではなく画像を使います

追加リソース

関連項目

他の言語