
-----------------------------------
spacedout
Fri Dec 19, 2008 10:20 pm

need help on improving code for christmas animations
-----------------------------------
can someone please help me shorten this code and help me fix a problem? its due soon. its a snowman decorating a tree but i dont know how to make him throw a star onto the top of the tree at the last lines of the program (so far). 

View.Set ("graphics") 
setscreen ("graphics:800;600")
View.Set ("offscreenonly")
colourback (blue)
       type SnowType : 
    record 
        X, Y, Spd, Size : int 
    end record 

var Snow : array 1 .. 100 of SnowType 

for rep : 1 .. 100 
    Snow (rep).X := Rand.Int (0, 800) 
    Snow (rep).Y := Rand.Int (0, 600) 
    Snow (rep).Spd := Rand.Int (1, 3) 
    Snow (rep).Size := Snow (rep).Spd 
end for 
var n : array 1 .. 3 of int := init (350, 650, 500) %tree
var m : array 1 .. 3 of int := init (164, 164, 350)

var q : array 1 .. 3 of int := init (350, 650, 500) %tree
var w : array 1 .. 3 of int := init (250, 250, 400)

var e : array 1 .. 3 of int := init (350, 650, 500) %tree
var r : array 1 .. 3 of int := init (325, 325, 450)


var c : array 1 .. 3 of int := init (375, 625, 500) %tree
var v : array 1 .. 3 of int := init (400, 400, 500)

var l : array 1 .. 3 of int := init (400, 600, 500) %tree
var k : array 1 .. 3 of int := init (450, 450, 575)

 loop 
 
for decreasing armmove: 325..300
cls
drawfill (0, 0, cyan, grey)
drawline (400, 200, 450, 200, grey)
drawline (425, 225, 425, 175, grey)
drawline (400, 225, 450, 175, grey)
drawline (400, 175, 450, 225, grey)

Draw.FillBox (0, 0, 800, 100, white) %ground
drawbox (759, 50, 729, 0, black) %boxes
drawbox (799, 50, 769, 0, black)
drawline (759, 48, 729, 48, brightred) % letter J
drawline (749, 48, 749, 15, brightred)
drawarc (739, 15, 10, 14, 180, 360, brightred)
drawline (799, 0, 792, 50, brightred) % letter M
drawline (784, 12, 791, 50, brightred)
drawline (784, 12, 777, 50, brightred)
drawline (769, 0, 776, 50, brightred)
Draw.ThickLine (armmove,armmove,350,105,15,grey)%tinsel
drawbox (300,100, 400,200,black) %box
Draw.FillBox (300,100,400,200,brown)
drawpolygon (n, m, 3, 1)% tree
Draw.FillPolygon (n, m, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (q, w, 3, 1)
Draw.FillPolygon (q, w, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (e, r, 3, 1)
Draw.FillPolygon (e, r, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (c, v, 3, 1)
Draw.FillPolygon (c, v, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (l, k, 3, 1)
Draw.FillPolygon (l, k, 3, green)
drawbox (475, 100, 525, 164, black) % trunk
Draw.FillBox (475, 100, 525, 164, brown)
drawfilloval (400, 250, 5,10,blue) % christmas lights1
drawfilloval (450, 275, 5,10,brightgreen) % christmas lights 
drawfilloval (600, 250, 5,10,blue) % christmas lights 
drawfilloval (550, 275, 5,10,brightgreen) % christmas lights 
drawfilloval (400, 325, 5,10,red) % christmas lights2
drawfilloval (450, 375, 5,10,brightgreen) % christmas lights 
drawfilloval (600, 325, 5,10,yellow) % christmas lights 
drawfilloval (550, 375, 5,10,brightgreen) % christmas lights 
drawfilloval (400, 175, 5,10,yellow) % christmas lights3
drawfilloval (450, 225, 5,10,red) % christmas lights 
drawfilloval (600, 175, 5,10,blue) % christmas lights 
drawfilloval (550, 225, 5,10,brightred) % christmas lights 
drawfilloval (400, 400, 5,10,brightred) % christmas lights4
drawfilloval (450, 425, 5,10,blue) % christmas lights 
drawfilloval (600, 400, 5,10,brightgreen) % christmas lights 
drawfilloval (550, 425, 5,10,yellow) % christmas lights 

    drawfilloval (200, 400, 50, 50, white) % snowman
    drawfilloval (200, 300, 75, 75, 0)
    drawfilloval (200, 200, 100, 100, 0)
    drawfilloval (215, 400, 5, 5, black) %eyes
    drawfilloval (235, 400, 5, 5, black) %eyes
    var ex : array 1 .. 3 of int := init (220, 220, 250)
    var why : array 1 .. 3 of int := init (390, 380, 385)
    Draw.FillPolygon (ex, why, 3, brightred)
    Draw.Polygon (ex, why, 3, black)
    drawline (200, 325, armmove, armmove, black)% arm


  for rep : 1 .. 100 
        Snow (rep).Y -= Snow (rep).Spd 
        if Snow (rep).Y < Snow (rep).Size then 
            Snow (rep).Y := Rand.Int (600, 800) 
        end if 
        drawfilloval (Snow (rep).X, Snow (rep).Y, Snow (rep).Size, Snow (rep).Size, white) 
    end for 
    View.Update
    delay (50)
end for
 
    delay (25)
    View.Update
    cls
    exit
end loop


 loop 
 
for armmove: 300..350 by 10
cls
drawfill (0, 0, cyan, grey)
drawline (400, 200, 450, 200, grey)
drawline (425, 225, 425, 175, grey)
drawline (400, 225, 450, 175, grey)
drawline (400, 175, 450, 225, grey)

Draw.FillBox (0, 0, 800, 100, white) %ground
drawbox (759, 50, 729, 0, black) %boxes
drawbox (799, 50, 769, 0, black)
drawline (759, 48, 729, 48, brightred) % letter J
drawline (749, 48, 749, 15, brightred)
drawarc (739, 15, 10, 14, 180, 360, brightred)
drawline (799, 0, 792, 50, brightred) % letter M
drawline (784, 12, 791, 50, brightred)
drawline (784, 12, 777, 50, brightred)
drawline (769, 0, 776, 50, brightred)
drawfill (0, 0, cyan, grey)
drawline (400, 200, 450, 200, grey)
drawline (425, 225, 425, 175, grey)
drawline (400, 225, 450, 175, grey)
drawline (400, 175, 450, 225, grey)

Draw.FillBox (0, 0, 800, 100, white) %ground
drawbox (759, 50, 729, 0, black) %boxes
drawbox (799, 50, 769, 0, black)
drawline (759, 48, 729, 48, brightred) % letter J
drawline (749, 48, 749, 15, brightred)
drawarc (739, 15, 10, 14, 180, 360, brightred)
drawline (799, 0, 792, 50, brightred) % letter M
drawline (784, 12, 791, 50, brightred)
drawline (784, 12, 777, 50, brightred)
drawline (769, 0, 776, 50, brightred)
Draw.ThickLine (armmove,armmove,350,105,15,grey)%tinsel
drawbox (300,100, 400,200,black) %box
Draw.FillBox (300,100,400,200,brown)
drawpolygon (n, m, 3, 1)
Draw.FillPolygon (n, m, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (q, w, 3, 1)
Draw.FillPolygon (q, w, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (e, r, 3, 1)
Draw.FillPolygon (e, r, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (c, v, 3, 1)
Draw.FillPolygon (c, v, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (l, k, 3, 1)
Draw.FillPolygon (l, k, 3, green)
drawbox (475, 100, 525, 164, black) % trunk
Draw.FillBox (475, 100, 525, 164, brown)
drawfilloval (400, 250, 5,10,blue) % christmas lights1
drawfilloval (450, 275, 5,10,brightgreen) % christmas lights 
drawfilloval (600, 250, 5,10,blue) % christmas lights 
drawfilloval (550, 275, 5,10,brightgreen) % christmas lights 
drawfilloval (400, 325, 5,10,red) % christmas lights2
drawfilloval (450, 375, 5,10,brightgreen) % christmas lights 
drawfilloval (600, 325, 5,10,yellow) % christmas lights 
drawfilloval (550, 375, 5,10,brightgreen) % christmas lights 
drawfilloval (400, 175, 5,10,yellow) % christmas lights3
drawfilloval (450, 225, 5,10,red) % christmas lights 
drawfilloval (600, 175, 5,10,blue) % christmas lights 
drawfilloval (550, 225, 5,10,brightred) % christmas lights 
drawfilloval (400, 400, 5,10,brightred) % christmas lights4
drawfilloval (450, 425, 5,10,blue) % christmas lights 
drawfilloval (600, 400, 5,10,brightgreen) % christmas lights 
drawfilloval (550, 425, 5,10,yellow) % christmas lights 

drawfilloval (200, 400, 50, 50, white) % snowman
    drawfilloval (200, 300, 75, 75, 0)
    drawfilloval (200, 200, 100, 100, 0)
    drawfilloval (215, 400, 5, 5, black) %eyes
    drawfilloval (235, 400, 5, 5, black) %eyes
    var ex : array 1 .. 3 of int := init (220, 220, 250)
    var why : array 1 .. 3 of int := init (390, 380, 385)
    Draw.FillPolygon (ex, why, 3, brightred)
    Draw.Polygon (ex, why, 3, black)
    drawline (200, 325, armmove, armmove, black)% arm
   

 for rep : 1 .. 100 
        Snow (rep).Y -= Snow (rep).Spd 
        if Snow (rep).Y < Snow (rep).Size then 
            Snow (rep).Y := Rand.Int (600, 800) 
        end if 
        drawfilloval (Snow (rep).X, Snow (rep).Y, Snow (rep).Size, Snow (rep).Size, white) 
    end for 
    View.Update
    delay (50)
end for
    delay (25)
    View.Update
    cls
    exit
end loop


 loop 
 
for tinselthrow: 350..525 by 20
cls
drawfill (0, 0, cyan, grey)
drawline (400, 200, 450, 200, grey)
drawline (425, 225, 425, 175, grey)
drawline (400, 225, 450, 175, grey)
drawline (400, 175, 450, 225, grey)

Draw.FillBox (0, 0, 800, 100, white) %ground
drawbox (759, 50, 729, 0, black) %boxes
drawbox (799, 50, 769, 0, black)
drawline (759, 48, 729, 48, brightred) % letter J
drawline (749, 48, 749, 15, brightred)
drawarc (739, 15, 10, 14, 180, 360, brightred)
drawline (799, 0, 792, 50, brightred) % letter M
drawline (784, 12, 791, 50, brightred)
drawline (784, 12, 777, 50, brightred)
drawline (769, 0, 776, 50, brightred)
drawfill (0, 0, cyan, grey)
drawline (400, 200, 450, 200, grey)
drawline (425, 225, 425, 175, grey)
drawline (400, 225, 450, 175, grey)
drawline (400, 175, 450, 225, grey)

Draw.FillBox (0, 0, 800, 100, white) %ground
drawbox (759, 50, 729, 0, black) %boxes
drawbox (799, 50, 769, 0, black)
drawline (759, 48, 729, 48, brightred) % letter J
drawline (749, 48, 749, 15, brightred)
drawarc (739, 15, 10, 14, 180, 360, brightred)
drawline (799, 0, 792, 50, brightred) % letter M
drawline (784, 12, 791, 50, brightred)
drawline (784, 12, 777, 50, brightred)
drawline (769, 0, 776, 50, brightred)
Draw.ThickLine (tinselthrow,tinselthrow,350,105,15,grey)%tinsel
drawbox (300,100, 400,200,black) %box
Draw.FillBox (300,100,400,200,brown)
drawpolygon (n, m, 3, 1)% tree
Draw.FillPolygon (n, m, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (q, w, 3, 1)
Draw.FillPolygon (q, w, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (e, r, 3, 1)
Draw.FillPolygon (e, r, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (c, v, 3, 1)
Draw.FillPolygon (c, v, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (l, k, 3, 1)
Draw.FillPolygon (l, k, 3, green)
drawbox (475, 100, 525, 164, black) % trunk
Draw.FillBox (475, 100, 525, 164, brown)
drawfilloval (400, 250, 5,10,blue) % christmas lights1
drawfilloval (450, 275, 5,10,brightgreen) % christmas lights 
drawfilloval (600, 250, 5,10,blue) % christmas lights 
drawfilloval (550, 275, 5,10,brightgreen) % christmas lights 
drawfilloval (400, 325, 5,10,red) % christmas lights2
drawfilloval (450, 375, 5,10,brightgreen) % christmas lights 
drawfilloval (600, 325, 5,10,yellow) % christmas lights 
drawfilloval (550, 375, 5,10,brightgreen) % christmas lights 
drawfilloval (400, 175, 5,10,yellow) % christmas lights3
drawfilloval (450, 225, 5,10,red) % christmas lights 
drawfilloval (600, 175, 5,10,blue) % christmas lights 
drawfilloval (550, 225, 5,10,brightred) % christmas lights 
drawfilloval (400, 400, 5,10,brightred) % christmas lights4
drawfilloval (450, 425, 5,10,blue) % christmas lights 
drawfilloval (600, 400, 5,10,brightgreen) % christmas lights 
drawfilloval (550, 425, 5,10,yellow) % christmas lights 

drawfilloval (200, 400, 50, 50, white) % snowman
    drawfilloval (200, 300, 75, 75, 0)
    drawfilloval (200, 200, 100, 100, 0)
    drawfilloval (215, 400, 5, 5, black) %eyes
    drawfilloval (235, 400, 5, 5, black) %eyes
    var ex : array 1 .. 3 of int := init (220, 220, 250)
    var why : array 1 .. 3 of int := init (390, 380, 385)
    Draw.FillPolygon (ex, why, 3, brightred)
    Draw.Polygon (ex, why, 3, black)
    drawline (200, 325, 350, 350, black)% arm
    

 for rep : 1 .. 100 
        Snow (rep).Y -= Snow (rep).Spd 
        if Snow (rep).Y < Snow (rep).Size then 
            Snow (rep).Y := Rand.Int (600, 800) 
        end if 
        drawfilloval (Snow (rep).X, Snow (rep).Y, Snow (rep).Size, Snow (rep).Size, white) 
    end for 
    View.Update
    delay (50)
end for
    delay (25)
    View.Update
    cls
    exit
end loop


 loop 
 
for decreasing armmove: 350..200 by 5
cls
drawfill (0, 0, cyan, grey)
drawline (400, 200, 450, 200, grey)
drawline (425, 225, 425, 175, grey)
drawline (400, 225, 450, 175, grey)
drawline (400, 175, 450, 225, grey)

Draw.FillBox (0, 0, 800, 100, white) %ground
drawbox (759, 50, 729, 0, black) %boxes
drawbox (799, 50, 769, 0, black)
drawline (759, 48, 729, 48, brightred) % letter J
drawline (749, 48, 749, 15, brightred)
drawarc (739, 15, 10, 14, 180, 360, brightred)
drawline (799, 0, 792, 50, brightred) % letter M
drawline (784, 12, 791, 50, brightred)
drawline (784, 12, 777, 50, brightred)
drawline (769, 0, 776, 50, brightred)
drawfill (0, 0, cyan, grey)
drawline (400, 200, 450, 200, grey)
drawline (425, 225, 425, 175, grey)
drawline (400, 225, 450, 175, grey)
drawline (400, 175, 450, 225, grey)

Draw.FillBox (0, 0, 800, 100, white) %ground
drawbox (759, 50, 729, 0, black) %boxes
drawbox (799, 50, 769, 0, black)
drawline (759, 48, 729, 48, brightred) % letter J
drawline (749, 48, 749, 15, brightred)
drawarc (739, 15, 10, 14, 180, 360, brightred)
drawline (799, 0, 792, 50, brightred) % letter M
drawline (784, 12, 791, 50, brightred)
drawline (784, 12, 777, 50, brightred)
drawline (769, 0, 776, 50, brightred)

drawbox (300,100, 400,200,black) %box
Draw.FillBox (300,100,400,200,brown)
drawpolygon (n, m, 3, 1)% tree
Draw.FillPolygon (n, m, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (q, w, 3, 1)
Draw.FillPolygon (q, w, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (e, r, 3, 1)
Draw.FillPolygon (e, r, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (c, v, 3, 1)
Draw.FillPolygon (c, v, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (l, k, 3, 1)
Draw.FillPolygon (l, k, 3, green)
drawbox (475, 100, 525, 164, black) % trunk
Draw.FillBox (475, 100, 525, 164, brown)
Draw.ThickLine (550, 512, 450,450, 15,grey) %tinsel 
Draw.ThickLine (562, 450, 437,400, 15,grey) %tinsel 
Draw.ThickLine (575, 384, 425,325, 15,grey) %tinsel 
Draw.ThickLine (575, 325, 425,250, 15,grey) %tinsel 
Draw.ThickLine (575, 257, 425,164, 15,grey) %tinsel 
drawfilloval (400, 250, 5,10,blue) % christmas lights1
drawfilloval (450, 275, 5,10,brightgreen) % christmas lights 
drawfilloval (600, 250, 5,10,blue) % christmas lights 
drawfilloval (550, 275, 5,10,brightgreen) % christmas lights 
drawfilloval (400, 325, 5,10,red) % christmas lights2
drawfilloval (450, 375, 5,10,brightgreen) % christmas lights 
drawfilloval (600, 325, 5,10,yellow) % christmas lights 
drawfilloval (550, 375, 5,10,brightgreen) % christmas lights 
drawfilloval (400, 175, 5,10,yellow) % christmas lights3
drawfilloval (450, 225, 5,10,red) % christmas lights 
drawfilloval (600, 175, 5,10,blue) % christmas lights 
drawfilloval (550, 225, 5,10,brightred) % christmas lights 
drawfilloval (400, 400, 5,10,brightred) % christmas lights4
drawfilloval (450, 425, 5,10,blue) % christmas lights 
drawfilloval (600, 400, 5,10,brightgreen) % christmas lights 
drawfilloval (550, 425, 5,10,yellow) % christmas lights 

drawfilloval (200, 400, 50, 50, white) % snowman
    drawfilloval (200, 300, 75, 75, 0)
    drawfilloval (200, 200, 100, 100, 0)
    drawfilloval (215, 400, 5, 5, black) %eyes
    drawfilloval (235, 400, 5, 5, black) %eyes
    var ex : array 1 .. 3 of int := init (220, 220, 250)
    var why : array 1 .. 3 of int := init (390, 380, 385)
    Draw.FillPolygon (ex, why, 3, brightred)
    Draw.Polygon (ex, why, 3, black)
    drawline (200, 325, 350, armmove, black)% arm
 for rep : 1 .. 100 
        Snow (rep).Y -= Snow (rep).Spd 
        if Snow (rep).Y < Snow (rep).Size then 
            Snow (rep).Y := Rand.Int (600, 800) 
        end if 
        drawfilloval (Snow (rep).X, Snow (rep).Y, Snow (rep).Size, Snow (rep).Size, white) 
    end for 
    View.Update
    delay (50)
end for
    delay (25)
    View.Update
    cls
    exit
end loop

 loop 
 
for armmove: 200..350 by 15

cls
drawfill (0, 0, cyan, grey)
drawline (400, 200, 450, 200, grey)
drawline (425, 225, 425, 175, grey)
drawline (400, 225, 450, 175, grey)
drawline (400, 175, 450, 225, grey)

Draw.FillBox (0, 0, 800, 100, white) %ground
drawbox (759, 50, 729, 0, black) %boxes
drawbox (799, 50, 769, 0, black)
drawline (759, 48, 729, 48, brightred) % letter J
drawline (749, 48, 749, 15, brightred)
drawarc (739, 15, 10, 14, 180, 360, brightred)
drawline (799, 0, 792, 50, brightred) % letter M
drawline (784, 12, 791, 50, brightred)
drawline (784, 12, 777, 50, brightred)
drawline (769, 0, 776, 50, brightred)
drawfill (0, 0, cyan, grey)
drawline (400, 200, 450, 200, grey)
drawline (425, 225, 425, 175, grey)
drawline (400, 225, 450, 175, grey)
drawline (400, 175, 450, 225, grey)

Draw.FillBox (0, 0, 800, 100, white) %ground
drawbox (759, 50, 729, 0, black) %boxes
drawbox (799, 50, 769, 0, black)
drawline (759, 48, 729, 48, brightred) % letter J
drawline (749, 48, 749, 15, brightred)
drawarc (739, 15, 10, 14, 180, 360, brightred)
drawline (799, 0, 792, 50, brightred) % letter M
drawline (784, 12, 791, 50, brightred)
drawline (784, 12, 777, 50, brightred)
drawline (769, 0, 776, 50, brightred)

drawbox (300,100, 400,200,black) %box
Draw.FillBox (300,100,400,200,brown)
drawpolygon (n, m, 3, 1)% tree
Draw.FillPolygon (n, m, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (q, w, 3, 1)
Draw.FillPolygon (q, w, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (e, r, 3, 1)
Draw.FillPolygon (e, r, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (c, v, 3, 1)
Draw.FillPolygon (c, v, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (l, k, 3, 1)
Draw.FillPolygon (l, k, 3, green)
drawbox (475, 100, 525, 164, black) % trunk
Draw.FillBox (475, 100, 525, 164, brown)
Draw.ThickLine (550, 512, 450,450, 15,grey) %tinsel 
Draw.ThickLine (562, 450, 437,400, 15,grey) %tinsel 
Draw.ThickLine (575, 384, 425,325, 15,grey) %tinsel 
Draw.ThickLine (575, 325, 425,250, 15,grey) %tinsel 
Draw.ThickLine (575, 257, 425,164, 15,grey) %tinsel 
drawfilloval (400, 250, 5,10,blue) % christmas lights1
drawfilloval (450, 275, 5,10,brightgreen) % christmas lights 
drawfilloval (600, 250, 5,10,blue) % christmas lights 
drawfilloval (550, 275, 5,10,brightgreen) % christmas lights 
drawfilloval (400, 325, 5,10,red) % christmas lights2
drawfilloval (450, 375, 5,10,brightgreen) % christmas lights 
drawfilloval (600, 325, 5,10,yellow) % christmas lights 
drawfilloval (550, 375, 5,10,brightgreen) % christmas lights 
drawfilloval (400, 175, 5,10,yellow) % christmas lights3
drawfilloval (450, 225, 5,10,red) % christmas lights 
drawfilloval (600, 175, 5,10,blue) % christmas lights 
drawfilloval (550, 225, 5,10,brightred) % christmas lights 
drawfilloval (400, 400, 5,10,brightred) % christmas lights4
drawfilloval (450, 425, 5,10,blue) % christmas lights 
drawfilloval (600, 400, 5,10,brightgreen) % christmas lights 
drawfilloval (550, 425, 5,10,yellow) % christmas lights 

drawfilloval (200, 400, 50, 50, white) % snowman
    drawfilloval (200, 300, 75, 75, 0)
    drawfilloval (200, 200, 100, 100, 0)
    drawfilloval (215, 400, 5, 5, black) %eyes
    drawfilloval (235, 400, 5, 5, black) %eyes
    var ex : array 1 .. 3 of int := init (220, 220, 250)
    var why : array 1 .. 3 of int := init (390, 380, 385)
    Draw.FillPolygon (ex, why, 3, brightred)
    Draw.Polygon (ex, why, 3, black)
    drawline (200, 325, 350, armmove, black)% arm

    drawstar (325,armmove-50,375,armmove, black) % star
     Draw.FillStar (325,armmove-50,375,armmove,yellow)

for rep : 1 .. 100 
        Snow (rep).Y -= Snow (rep).Spd 
        if Snow (rep).Y < Snow (rep).Size then 
            Snow (rep).Y := Rand.Int (600, 800) 
        end if 
        drawfilloval (Snow (rep).X, Snow (rep).Y, Snow (rep).Size, Snow (rep).Size, white) 
    end for 
    View.Update
    delay (50)
end for

    delay (25)
    View.Update
    cls
    exit
end loop

loop
for ystarthrow: 350..600 by 20

cls
var x1starthrow:real:= ystarthrow
var x2starthrow:real:= ystarthrow
x1starthrow:= ystarthrow*0.6+115
x2starthrow:= ystarthrow*0.6+165
drawfill (0, 0, cyan, grey)
drawline (400, 200, 450, 200, grey)
drawline (425, 225, 425, 175, grey)
drawline (400, 225, 450, 175, grey)
drawline (400, 175, 450, 225, grey)

Draw.FillBox (0, 0, 800, 100, white) %ground
drawbox (759, 50, 729, 0, black) %boxes
drawbox (799, 50, 769, 0, black)
drawline (759, 48, 729, 48, brightred) % letter J
drawline (749, 48, 749, 15, brightred)
drawarc (739, 15, 10, 14, 180, 360, brightred)
drawline (799, 0, 792, 50, brightred) % letter M
drawline (784, 12, 791, 50, brightred)
drawline (784, 12, 777, 50, brightred)
drawline (769, 0, 776, 50, brightred)
drawfill (0, 0, cyan, grey)
drawline (400, 200, 450, 200, grey)
drawline (425, 225, 425, 175, grey)
drawline (400, 225, 450, 175, grey)
drawline (400, 175, 450, 225, grey)

Draw.FillBox (0, 0, 800, 100, white) %ground
drawbox (759, 50, 729, 0, black) %boxes
drawbox (799, 50, 769, 0, black)
drawline (759, 48, 729, 48, brightred) % letter J
drawline (749, 48, 749, 15, brightred)
drawarc (739, 15, 10, 14, 180, 360, brightred)
drawline (799, 0, 792, 50, brightred) % letter M
drawline (784, 12, 791, 50, brightred)
drawline (784, 12, 777, 50, brightred)
drawline (769, 0, 776, 50, brightred)

drawbox (300,100, 400,200,black) %box
Draw.FillBox (300,100,400,200,brown)
drawpolygon (n, m, 3, 1)% tree
Draw.FillPolygon (n, m, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (q, w, 3, 1)
Draw.FillPolygon (q, w, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (e, r, 3, 1)
Draw.FillPolygon (e, r, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (c, v, 3, 1)
Draw.FillPolygon (c, v, 3, green)
% This polygon was created using Gurjant Kalsi's Polygon Generator

drawpolygon (l, k, 3, 1)
Draw.FillPolygon (l, k, 3, green)
drawbox (475, 100, 525, 164, black) % trunk
Draw.FillBox (475, 100, 525, 164, brown)
Draw.ThickLine (550, 512, 450,450, 15,grey) %tinsel 
Draw.ThickLine (562, 450, 437,400, 15,grey) %tinsel 
Draw.ThickLine (575, 384, 425,325, 15,grey) %tinsel 
Draw.ThickLine (575, 325, 425,250, 15,grey) %tinsel 
Draw.ThickLine (575, 257, 425,164, 15,grey) %tinsel 
drawfilloval (400, 250, 5,10,blue) % christmas lights1
drawfilloval (450, 275, 5,10,brightgreen) % christmas lights 
drawfilloval (600, 250, 5,10,blue) % christmas lights 
drawfilloval (550, 275, 5,10,brightgreen) % christmas lights 
drawfilloval (400, 325, 5,10,red) % christmas lights2
drawfilloval (450, 375, 5,10,brightgreen) % christmas lights 
drawfilloval (600, 325, 5,10,yellow) % christmas lights 
drawfilloval (550, 375, 5,10,brightgreen) % christmas lights 
drawfilloval (400, 175, 5,10,yellow) % christmas lights3
drawfilloval (450, 225, 5,10,red) % christmas lights 
drawfilloval (600, 175, 5,10,blue) % christmas lights 
drawfilloval (550, 225, 5,10,brightred) % christmas lights 
drawfilloval (400, 400, 5,10,brightred) % christmas lights4
drawfilloval (450, 425, 5,10,blue) % christmas lights 
drawfilloval (600, 400, 5,10,brightgreen) % christmas lights 
drawfilloval (550, 425, 5,10,yellow) % christmas lights 

drawfilloval (200, 400, 50, 50, white) % snowman
    drawfilloval (200, 300, 75, 75, 0)
    drawfilloval (200, 200, 100, 100, 0)
    drawfilloval (215, 400, 5, 5, black) %eyes
    drawfilloval (235, 400, 5, 5, black) %eyes
    var ex : array 1 .. 3 of int := init (220, 220, 250)
    var why : array 1 .. 3 of int := init (390, 380, 385)
    Draw.FillPolygon (ex, why, 3, brightred)
    Draw.Polygon (ex, why, 3, black)
    drawline (200, 325, 350, 350, black)% arm

    drawstar (x1starthrow,ystarthrow-50,x2starthrow,ystarthrow, black) % star
    Draw.FillStar (x1starthrow,ystarthrow-50,x2starthrow,ystarthrow,yellow)

for rep : 1 .. 100 
        Snow (rep).Y -= Snow (rep).Spd 
        if Snow (rep).Y < Snow (rep).Size then 
            Snow (rep).Y := Rand.Int (600, 800) 
        end if 
        drawfilloval (Snow (rep).X, Snow (rep).Y, Snow (rep).Size, Snow (rep).Size, white) 
    end for 
    View.Update
    delay (50)
end for

    delay (25)
    View.Update
    cls
    exit
end loop


Mod Edit: Instead of quote tags, using syntax tags make the code look better :) [syntax="Turing"]Code Here[/syntax]
