
MSWLogoは、コンピュータ言語Logoをベースにした、グラフィカルユーザーインターフェース(GUI)フロントエンドを備えたインタープリタ型プログラミング言語です。マサチューセッツ工科大学(MIT)のジョージ・ミルズによって開発されました。そのコアはブライアン・ハーベイによるUCBLogoと同じです。Borland C++で書かれたソースコードが入手可能な、無料のオープンソースソフトウェアです
MSWLogoは、マルチタートルグラフィックス、3Dコンピュータグラフィックスをサポートし、COMポートとLPTポートからの入力が可能です。また、Windowsインターフェースもサポートしているため、このGUIを介して入出力(I/O)を利用でき、キーボードとマウスのイベントで割り込みをトリガーできます。MSWLogoバージョン6.5では、コマンドを使用して簡単なGIFアニメーションを作成することもできます。このプログラムは教育用ソフトウェアgifsaveとしても使用されています。ジム・ミュラーは、MSWLogoをデモ言語として使用した完全なLogoマニュアル 「The Great Logo Adventure」を執筆しました。
MSWLogoは、 Microsoft Windows向けのLogo言語のフリーでオープンソースな実装であるFMSLogo (教育用プログラミング環境)へと進化しました。GNU General Public License (GPL)に基づいてリリースされており、主にDavid Costanzoによって開発・保守されています。
特徴


MSWLogoはバージョン6.5b以降、以下の多くの機能をサポートしています: [ 2 ]
- TCP/IP Winsockネットワーク
- Win16、Win32、Win32s
- 利用可能なすべてのフォントとサイズのテキスト。
- 1024個の独立したタートル
- ビットマップタートル
- ビットマップの切り取り、貼り付け、伸縮
- クリップボードのテキストとビットマップ
- MIDIデバイス
- 外部ハードウェアを制御するための直接I/O
- シリアルポートおよびパラレルポート通信
- ズーム
- 末尾再帰:ほとんどの再帰関数を最適化
- ユーザーエラー処理
- 標準ロゴ解析
- 画像の保存と復元。BMP形式ファイル
- ピクセルあたりのカラービット数:1、4、8、16、24
- 標準のWindowsハイパーテキストヘルプ
- Windows標準印刷
- ライブラリと作業領域を分離
- Windowsダイアログボックスの構築
- イベント駆動型プログラミング: マウス、キーボード、タイマー
- マルチメディア デバイス: WAVサウンド ファイル、CD-ROMコントロールなど。
- マルチプロセスを可能にするイベントタイマー
- 3D透視図:ワイヤーフレームとソリッド
- アニメーションGIF生成
| コマンド | 略語 | 構文 | 出力 | 例 |
|---|---|---|---|---|
| 転送 | fd | FORWARD␣⟨number of steps to move forward⟩ | 指定された回数だけタートルを前進させる | forward 100またはfd 100 |
| 戻る | bk | BACK␣⟨number of steps to move backward⟩ | 指定された回数だけタートルを後退させます | back 100またはbk 100 |
| 右 | rt | RIGHT␣⟨degrees to rotate toward right⟩ | 指定した角度だけタートルを右に回転させます | right 228またはrt 228 |
| 左 | lt | LEFT␣⟨degrees to rotate toward left⟩ | 指定した角度だけタートルを左に回転させます | left 228またはlt 228 |
| ホーム | ホーム | 画面中央に来るが画面は消えない | home | |
| クリーン | ct cs | 画面上の軌跡を消去しますが、タートルは動かずにその場に留まります | clean | |
| クリアスクリーン | CS | 画面上の軌跡を消去し、画面中央に移動します | cs | |
| タートルを隠す | HT | タートルを非表示にして、画面上の描画を鮮明に表示します | ht | |
| ショータートル | ST | 画面から隠れたタートルを表示します | st | |
| ペンアップ | PU | タートルを描画せずに移動するように設定します | pu | |
| ペンダウン | PD | 移動命令が出ると描画ペンに戻ります | pd | |
| クリアテキスト | CT | コマンド画面内のすべてのテキストをクリアします | ct | |
| 円 | 円を作るrepeat 360 [FD ⟨desired length in number of pixels divided by 360⟩ RT or LT 1] | circle | ||
| 模様 | 支払う | 模様を作る | pattern | |
| SetPC | SetPC␣⟨RGB value here (ex. 255, 255, 255)⟩ | ペンの色をそのRGB値に設定します | setpc [255 255 255] | |
| SetSC | SetSC␣⟨RGB value here (ex. 255, 255, 255)⟩ | 画面の色をそのRGB値に設定します | setsc [255 255 255] |
参考文献
- ^ピエトロコラ、ジョルジオ(2005年)「タルタペラゴ」マエクラ
- ^ 「MSWLogo バージョン 6.5b for Micro-Soft Windows 95/98/NT/2000/XP」Softron . 2019年7月21日閲覧。
ウィキメディア コモンズには、 MSWLogoに関連するメディアがあります。