MSWLogo

**Microsoft Windows Logo** (viết tắt: **MSWLogo** hay ****) là một ngôn ngữ lập trình dựa trên ngôn ngữ Logo, với Front- 

End GUI. Nó được phát triển bởi George Mills tại Viện Công nghệ Massachusetts (MIT). Cốt lõi của nó giống như UCBLogo bởi Brian Harvey. Đây là phần mềm miễn phí, mã nguồn có sẵn, trong Borland C++. MSWLogo hỗ trợ đồ họa turtle và 3D. Nó cũng cho phép đầu vào từ cổng COM và cổng LPT. MSWLogo hỗ trợ giao diện windows, để từ đó, đầu vào và đầu ra (I/O) có thể được thay đổi/hiển thị thông qua cổng GUI. Những hình ảnh động GIF đơn giản  cũng có thể được tạo ra trên MSWLogo phiên bản 6.5 với lệnh gifsave. Phần mềm này không quan trọng chữ viết in hoa hay chữ in thường, bạn có thể chọn cái bạn thích. 

Phần mềm này có thể sử dụng làm phần mềm giáo dục. Jim Muller đã viết *[[The Great Logo Adventure]],* một bản hướng dẫn sử dụng đầy đủ cho MSWLogo.

## Một số lệnh cơ bản khi sử dụng MSWLogo

## Một số nhóm lệnh

### Nhóm lệnh đường tròn - cung tròn - hình elip
ARC a r: Vẽ cung tròn với góc là a và bán kính là r. Sau khi vẽ xong rùa đứng yên tại chỗ.

ARC2 a r: Vẽ cung tròn góc a và bán kính r. Vẽ tới đâu rùa đi theo tới đó.

ELLIPSE x.ngang y.cao: Vẽ hình elip với 2 thông số, chiều ngang theo trục x chiều cao theo trục y, rùa đứng yên tại chỗ.

ELLIPSE2 x.ngang y.cao: Vẽ hình elip với 2 thông số, chiều ngang theo trục x chiều cao theo trục y, rùa chạy theo đường ellipse.

ELLIPSEARC độ dài cung xy góc:

Ví dụ muốn vẽ 1 nửa vòng ellipse ở phía trước mặt rùa (90) lệnh như sau:

ELLIPSEARC 180 150 80 90

Các bạn thay đổi số 90 sẽ hiểu ra cách làm, nếu muốn rùa chạy theo khi vẽ thì dùng ELLIPSEARC2.

CIRCLE r: Vẽ hình trong bán kính r rùa đứng tại tâm.

CIRCLE2 r: Vẽ hình trong bán kính r rùa di chuyển theo đường tròn, sau khi hành thành rùa nẳm trên đừng tròn.

### Nhóm lệnh in kết quả, thông báo.
SHOW [nội dung, kết quả muốn in ], lệnh tương tự PRINT viết tắt PR ví dụ Show 1+2+3 hoặc PR 1+2+3 đều cho ra kết quả là 6 ở trong cửa sổ lệnh.

Lệnh LABEL thì hiện ra kết quả ở sân chơi, nếu muốn hiện thị theo chiều ngang thì cúng ta phải xoay rùa về phải 90 độ.

CT Làm sạch cửa sổ lệnh.

### Nhóm lệnh về bút vẽ, màu sắc.
PU viết đầy đủ là Pen Up lệnh này nhấc viết của rùa lên và kết quả là khi di chuyển rùa không để lại dấu vết.

PD viết đủ là Pen Down lệnh này hạ viết của rùa xuống. Các lệnh di chuyển sau lệnh này ta sẽ thấy dấu vết của sự di chuyển.

SetPenSize [m n] Thiết lập độ dày, mỏng của nét vẽ. Lệnh này có thể thực hiện qua Menu Set→Pen Size …

SetPC [a b c] Thiết lập màu cho bút vẽ Red, Green, Blue có giá trị từ 0→255, ví dụ SetPC [255 0 0] sẽ cho ta màu đỏ.

Setfloodcolor [R G B] viết tắt SETFC[R G B] Cài đặt màu nền sẽ tô bằng lệnh FILL

FILL Tô màu nền trong phạm vi khép kín của hình. Màu nền tô đã được báo trước bằng lệnh Setfloodcolor.

Ví dụ

Setfloodcolor [255 0 0 ]; tô nền màu đỏ

FD 100 RT 120 FD 100 RT 120 FD 100; vẽ tam giác đều độ dài cạnh 100

PU; nhấc bút

LT 45; xoay trái 45 độ

BK 50; đi lùi 50 bước. 3 dòng lệnh PU LT và BK mục đích là đưa rùa vào bên trong hình tam giác đều

FILL

Kết quả ta được hình tam giác tô màu đỏ.

### Nhóm lệnh về rùa và vị trí rùa.
HT ẩn rùa, không thấy hình tam giác (Rùa) trên sân chơi nữa.

ST hiện rùa.

SETPOS [Tọa-độ-X Tọa-độ-Y] đưa rùa tới vị trí X,Y. Chú ý nếu rùa đang ở chế độ Pen down thì nó sẽ tạo thành đường đi. Lệnh SETXY x y cũng có chức năng tương tự.

SETX x di chuyển rùa theo cột x (x>0 qua phải, x0, xuống nếu y<0

SHOWPOS cho ta biết vị trí hiện tại của rùa.

CS Xóa sân chơi đưa rùa về vị trí ban đầu.

HOME Đưa rùa về vị trí ban đầu.