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() で一度しか消せないことを意味していました。しかしタートルの軌跡を消す標準的な方法がないという問題は残っています。タートルの軌跡を消すための回避策について、こちらのブログの記事(英語)に詳細が書かれています。
- Small Basic 既知の留意点: 25671 - GraphicsWindow.Clear() または Turtle.Hide() 呼び出し後、Turtle.Show() はタートルを表示しない (英語)- v1.2 で修正済み
- タートルの軌跡だけを消す標準的な方法がない。回避策(英語)
サンプルコード
' 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) - 迷路ゲーム
追加リソース
- API リファレンス: Turtle オブジェクト
- タートルの軌跡を消す(Small Basic公式ブログ:英語)
- Small Basic: タートルビットマップともう一つのタートルプロジェクト: PNG 画像(TechNet ギャラリ:英語)
- Small Basic: もう一つのタートルプロジェクト: PowerPoint プレゼンテーション(TechNet ギャラリ:英語)
- Small Basic Turtle オブジェクト - 5 つの練習問題!(User Ed ブログ:英語)
関連項目
- Small Basic 入門ガイド: 第8章: タートルグラフィックス(英語)
- Small Basic カリキュラム: レッスン 2.2: タートルグラフィックス(英語)
- Small Basic リファレンスドキュメント: Turtle オブジェクト(英語)
- Small Basic: Logo タートルの歴史(英語)
- Small Basic: タートル迷路ゲームの作り方(英語)
- [[articles: Wiki: Small Basic ポータル (ja-JP)]]
他の言語
- [[articles: Small Basic: Turtle]] (en-US) (英語)
- Small Basic: La Tortue (Turtle) (fr-FR)(フランス語)
- [[articles: Small Basic:龟标(Turtle)(zh-CN)]](中国語)