Microsoft Small Basic

Program Listing: XWN791-0
' mahreen miangul
' ApRiL 2019

GraphicsWindow.Width = 420
GraphicsWindow.height = 420
GraphicsWindow.backgroundcolor = "DodgerBlue"
GraphicsWindow.pencolor = "black"
GraphicsWindow.penwidth = 2
GraphicsWindow.brushcolor = "yellow"
GraphicsWindow.fillrectangle(0, 210, 640, 210)
GraphicsWindow.drawrectangle(0, 210, 640, 210)
GraphicsWindow.brushcolor = "red"
GraphicsWindow.fillellipse(80, 20, 50, 60)
Lion()
Pyramid()
ShowLion()
For x = 5 To 220
Program.Delay(100)
GraphicsWindow.Width = 420 + x
Shapes.Move(obj[1], x * 0.8, 0)
For i = 2 To 7
Shapes.Move(obj[i], x, 0)
EndFor
EndFor

Sub Pyramid
tri[1] = "x1=340;y1=230;x2=370;y2=150;x3=400;y3=230;bc=Maroon;pw=2;pc=black;"
tri[2] = "x1=0;y1=420;x2=200;y2=20;x3=420;y3=420;bc=Maroon;pw=2;pc=black;"
tri[3] = "x1=160;y1=100;x2=245;y2=100;x3=200;y3=180;bc=Chocolate;pw=0;"
tri[4] = "x1=115;y1=190;x2=295;y2=190;x3=200;y3=270;bc=Chocolate;pw=0;"
tri[5] = "x1=75;y1=290;x2=200;y2=370;x3=340;y3=290;bc=Chocolate;pw=0;"
tri[6] = "x1=60;y1=330;x2=80;y2=410;x3=100;y3=330;bc=Chocolate;pw=0;"
tri[7] = "x1=310;y1=330;x2=340;y2=410;x3=360;y3=330;bc=Chocolate;pw=0;"
For i = 1 To Array.GetItemCount(tri)
t = tri[i]
GraphicsWindow.PenWidth = t["pw"]
If 0 < t["pw"] Then
GraphicsWindow.PenColor = t["pc"]
EndIf
GraphicsWindow.BrushColor = t["bc"]
obj[i] = Shapes.AddTriangle(t["x1"], t["y1"], t["x2"], t["y2"], t["x3"], t["y3"])
EndFor
EndSub

Sub Lion
s = 0.5 ' scale
shX = 0 ' x offset
shY = 180 ' y offset
Lion = ""
Lion[1] = "func=rect;x=266;y=288;width=166;height=80;bc=gold;pw=0;"
Lion[2] = "func=ell;x=210;y=40;width=280;height=280;bc=coral;"
Lion[3] = "func=rect;x=260;y=110;width=66;height=80;angle=80;bc=gold;pw=0;"
Lion[4] = "func=rect;x=363;y=110;width=66;height=80;angle=-80;bc=gold;pw=0;"
Lion[5] = "func=tri;x=240;y=40;x1=120;y1=85;x2=147;y2=30;x3=200;y3=85;bc=gold;pw=0;"' 1
Lion[6] = "func=tri;x=200;y=40;x1=50;y1=85;x2=110;y2=30;x3=140;y3=85;bc=gold;pw=0;"' 2
Lion[7] = "func=tri;x=230;y=140;x1=120;y1=30;x2=120;y2=-40;x3=80;y3=20;bc=sandybrown;pw=0;"' 3
Lion[8] = "func=tri;x=250;y=140;x1=140;y1=20;x2=100;y2=-40;x3=100;y3=30;bc=sandybrown;pw=0;"' 4
Lion[9] = "func=tri;x=155;y=150;x1=100;y1=30;x2=140;y2=60;x3=180;y3=30;bc=snow;pw=0;"
Lion[10] = "func=tri;x=150;y=150;x1=140;y1=60;x2=160;y2=120;x3=180;y3=60;bc=snow;pw=0;"
Lion[11] = "func=rect;x=295;y=188;width=100;height=44;bc=snow;pw=0;"
Lion[12] = "func=tri;x=153;y=154;x1=200;y1=30;x2=240;y2=60;x3=280;y3=30;bc=snow;pw=0;"
Lion[13] = "func=tri;x=120;y=150;x1=240;y1=60;x2=260;y2=120;x3=280;y3=60;bc=snow;pw=0;"
Lion[14] = "func=rect;x=310;y=200;width=70;height=70;bc=snow;pw=0;"
Lion[15] = "func=tri;x=230;y=140;x1=120;y1=30;x2=120;y2=80;x3=80;y3=20;bc=orangered;pw=0;"
Lion[16] = "func=tri;x=250;y=140;x1=140;y1=20;x2=100;y2=80;x3=100;y3=30;bc=orangered;pw=0;"
Lion[17] = "func=tri;x=230;y=50;x1=120;y1=30;x2=120;y2=110;x3=80;y3=20;bc=sandybrown;pw=0;"
Lion[18] = "func=tri;x=250;y=50;x1=140;y1=20;x2=100;y2=110;x3=100;y3=30;bc=sandybrown;pw=0;"
Lion[19] = "func=tri;x=230;y=140;x1=120;y1=30;x2=120;y2=-40;x3=80;y3=20;bc=sandybrown;pw=0;"
Lion[20] = "func=tri;x=250;y=140;x1=140;y1=20;x2=100;y2=-40;x3=100;y3=30;bc=sandybrown;pw=0;"
Lion[21] = "func=tri;x=181;y=272;x1=120;y1=-35;x2=168;y2=-45;x3=171;y3=-55;bc=saddlebrown;pw=0;"
Lion[22] = "func=tri;x=171;y=272;x1=220;y1=-40;x2=180;y2=-44;x3=177;y3=-55;bc=saddlebrown;pw=0;"
Lion[23] = "func=tri;x=215;y=90;x1=120;y1=30;x2=80;y2=28;x3=120;y3=40;bc=saddlebrown;pw=0;"
Lion[24] = "func=tri;x=245;y=90;x1=120;y1=30;x2=160;y2=28;x3=120;y3=40;bc=saddlebrown;pw=0;"
Lion[25] = "func=line;x=348;y=188;x1=22;y1=0;x2=100;y2=4;pc=gold;pw=2;"
Lion[26] = "func=line;x=347;y=189;x1=22;y1=2;x2=100;y2=10;pc=gold;pw=2;"
Lion[27] = "func=line;x=347;y=191;x1=22;y1=3;x2=100;y2=22;pc=gold;pw=2;"
Lion[28] = "func=line;x=343;y=194;x1=22;y1=4;x2=100;y2=33;pc=gold;pw=2;"
Lion[30] = "func=line;x=222;y=187;x1=22;y1=6;x2=100;y2=0;pc=gold;pw=2;"
Lion[31] = "func=line;x=230;y=188;x1=18;y1=11;x2=100;y2=3;pc=gold;pw=2;"
Lion[32] = "func=line;x=230;y=191;x1=18;y1=18;x2=105;y2=3;pc=gold;pw=2;"
Lion[33] = "func=line;x=230;y=192;x1=19;y1=28;x2=108;y2=5;pc=gold;pw=2;"
For i = 1 To Array.GetItemCount(Lion)
GraphicsWindow.PenWidth = Lion[i]["pw"]*s
GraphicsWindow.PenColor = Lion[i]["pc"]
GraphicsWindow.BrushColor = Lion[i]["bc"]
If Lion[i]["func"] = "rect" Then
Lion[i]["obj"] = Shapes.AddRectangle(Lion[i]["width"]*s, Lion[i]["height"]*s)
ElseIf Lion[i]["func"] = "ell" Then
Lion[i]["obj"] = Shapes.AddEllipse(Lion[i]["width"]*s, Lion[i]["height"]*s)
ElseIf Lion[i]["func"] = "tri" Then
Lion[i]["obj"] = Shapes.AddTriangle(Lion[i]["x1"]*s, Lion[i]["y1"]*s, Lion[i]["x2"]*s, Lion[i]["y2"]*s, Lion[i]["x3"]*s, Lion[i]["y3"]*s)
ElseIf Lion[i]["func"] = "line" Then
Lion[i]["obj"] = Shapes.AddLine(Lion[i]["x1"]*s, Lion[i]["y1"]*s, Lion[i]["x2"]*s, Lion[i]["y2"]*s)
EndIf
Shapes.Move(Lion[i]["obj"], shX + Lion[i]["x"]*s, shY + Lion[i]["y"]*s)
Shapes.Rotate(Lion[i]["obj"], Lion[i]["angle"])
Shapes.HideShape(Lion[i]["obj"])
EndFor
EndSub

Sub ShowLion
For i = 1 To Array.GetItemCount(Lion)
Shapes.ShowShape(Lion[i]["obj"])
EndFor
EndSub