%% swieta
% autor: Monika Korzeniewska
% program rysuje spadaje sniezyczki

function swieta
clc, clear, close
while 1

box on

for i=3:-0.02:0.2
    figure(1)
    
axis([0 1 0 3])
set(gcf, 'color', 'w')
axis off

title('Spadajace sniezynki', 'fontsize', 15)
r='c';
s='b';
% pierwsza sniezynka od prawej (ogolnie)
jeden(i,s,r)
i=i+0.1;
% druga sniezynka od prawej (ogolnie 3)
dwa(i,s,r)
i=i-0.2;
% pierwsza sniezynka od lewej (ogolnie)
trzy(i,s,r)
i=i-0.1;
% druga sniezynka od lewej (ogolnie 3)
cztery(i,s,r)
i=i+0.2;
% sniezynki nizej
% pierwsza sniezynka od prawej (ogolnie 2 od lewej)
piec(i,s,r)
i=i-0.05;
% druga sniezynka od prawej
szesc(i,s,r)
i=i+0.05;
% pierwsza sniezynka od lewej
siedem(i,s,r)
i=i+0.3;
% ktoras
osiem(i,s,r)
dziewiec(i,s,r)
i=i+0.3;
dziesiec(i,s,r)
jeden(i,s,r)
trzy(i,s,r)
i=i+0.4;
dwa(i,s,r)
i=i+0.4;
szesc(i,s,r)
siedem(i,s,r)
i=i+0.3;
% ktoras (juz sie pogubilam w liczeniu...)
osiem(i,s,r)
dziewiec(i,s,r)
i=i+0.3;
dziesiec(i,s,r)
jeden(i,s,r)
trzy(i,s,r)
i=i+0.4;
dwa(i,s,r)

i=i-2.4;
pause(1e-35)
r='w';
s='w';

% pierwsza sniezynka od prawej (ogolnie)
jeden(i,s,r)
i=i+0.1;
% druga sniezynka od prawej (ogolnie 3)
dwa(i,s,r)
i=i-0.2;
% pierwsza sniezynka od lewej (ogolnie)
trzy(i,s,r)
i=i-0.1;
% druga sniezynka od lewej (ogolnie 3)
cztery(i,s,r)
i=i+0.2;
% sniezynki nizej
% pierwsza sniezynka od prawej (ogolnie 2 od lewej)
piec(i,s,r)
i=i-0.05;
% druga sniezynka od prawej
szesc(i,s,r)
i=i+0.05;
% pierwsza sniezynka od lewej
siedem(i,s,r)
i=i+0.3;
% ktoras
osiem(i,s,r)
dziewiec(i,s,r)
i=i+0.3;
dziesiec(i,s,r)
jeden(i,s,r)
trzy(i,s,r)
i=i+0.4;
dwa(i,s,r)
i=i+0.4;
szesc(i,s,r)
siedem(i,s,r)
i=i+0.3;
% ktoras
osiem(i,s,r)
dziewiec(i,s,r)
i=i+0.3;
dziesiec(i,s,r)
jeden(i,s,r)
trzy(i,s,r)
i=i+0.4;
dwa(i,s,r)
end
end

%% pierwsza sniezynka od prawej (ogolnie)
function jeden(i,s,r)
line([0.8 0.8], [i-0.18 i-0.02], 'line', '--', 'marker', '*', 'color', s)
line([0.82 0.78], [i-0.1 i-0.1], 'line', '--', 'marker', '*','color', s)
line([0.81 0.79], [i-0.06 i-0.14], 'line', '--', 'marker', '*','color', r)
line([0.79 0.81], [i-0.06 i-0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.815 0.785], [i-0.08 i-0.12], 'line', '--', 'marker', '*','color', s)
line([0.785 0.815], [i-0.08 i-0.12], 'line', '--', 'marker', '*','color', s)
return

%% druga sniezynka od prawej (ogolnie 3)
function dwa(i,s,r)
line([0.6 0.6], [i-0.18 i-0.02], 'line', '--', 'marker', '*','color', s)
line([0.62 0.58], [i-0.1 i-0.1], 'line', '--', 'marker', '*','color', s)
line([0.61 0.59], [i-0.06 i-0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.59 0.61], [i-0.06 i-0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.615 0.585], [i-0.08 i-0.12], 'line', '--', 'marker', '*','color', s)
line([0.585 0.615], [i-0.08 i-0.12], 'line', '--', 'marker', '*','color', s)
return

%% pierwsza sniezynka od lewej (ogolnie)
function trzy(i,s,r)
line([0.2 0.2], [i-0.18 i-0.02], 'line', '--', 'marker', '*','color', s)
line([0.22 0.18], [i-0.1 i-0.1], 'line', '--', 'marker', '*','color', s)
line([0.21 0.19], [i-0.06 i-0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.19 0.21], [i-0.06 i-0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.215 0.185], [i-0.08 i-0.12], 'line', '--', 'marker', '*', 'color', s)
line([0.185 0.215], [i-0.08 i-0.12], 'line', '--', 'marker', '*','color', s)
return

function cztery(i,s,r)
line([0.4 0.4], [i-0.18 i-0.02], 'line', '--', 'marker', '*','color', s)
line([0.42 0.38], [i-0.1 i-0.1], 'line', '--', 'marker', '*','color', s)
line([0.41 0.39], [i-0.06 i-0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.39 0.41], [i-0.06 i-0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.415 0.385], [i-0.08 i-0.12], 'line', '--', 'marker', '*','color', s)
line([0.385 0.415], [i-0.08 i-0.12], 'line', '--', 'marker', '*','color', s)
return

function piec(i,s,r)
line([0.7 0.7], [i-0.28 i-0.12], 'line', '--', 'marker', '*','color', s)
line([0.72 0.68], [i-0.2 i-0.2], 'line', '--', 'marker', '*','color', s)
line([0.71 0.69], [i-0.16 i-0.24], 'line', '--', 'marker', '*', 'color', r)
line([0.69 0.71], [i-0.16 i-0.24], 'line', '--', 'marker', '*', 'color', r)
line([0.715 0.685], [i-0.18 i-0.22], 'line', '--', 'marker', '*','color', s)
line([0.685 0.715], [i-0.18 i-0.22], 'line', '--', 'marker', '*','color', s)
return

function szesc(i,s,r)
line([0.5 0.5], [i+0.18 i+0.02], 'line', '--', 'marker', '*','color', s)
line([0.52 0.48], [i+0.1 i+0.1], 'line', '--', 'marker', '*','color', s)
line([0.51 0.49], [i+0.06 i+0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.49 0.51], [i+0.06 i+0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.515 0.485], [i+0.08 i+0.12], 'line', '--', 'marker', '*','color', s)
line([0.485 0.515], [i+0.08 i+0.12], 'line', '--', 'marker', '*','color', s)
return

function siedem(i,s,r)
line([0.3 0.3], [i-0.18 i-0.02], 'line', '--', 'marker', '*','color', s)
line([0.32 0.28], [i-0.1 i-0.1], 'line', '--', 'marker', '*','color', s)
line([0.31 0.29], [i-0.06 i-0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.29 0.31], [i-0.06 i-0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.315 0.285], [i-0.08 i-0.12], 'line', '--', 'marker', '*','color', s)
line([0.285 0.315], [i-0.08 i-0.12], 'line', '--', 'marker', '*','color', s)
return

function osiem(i,s,r)
line([0.3 0.3], [i+0.18 i+0.02], 'line', '--', 'marker', '*','color', s)
line([0.32 0.28], [i+0.1 i+0.1], 'line', '--', 'marker', '*','color', s)
line([0.31 0.29], [i+0.06 i+0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.29 0.31], [i+0.06 i+0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.315 0.285], [i+0.08 i+0.12], 'line', '--', 'marker', '*','color', s)
line([0.285 0.315], [i+0.08 i+0.12], 'line', '--', 'marker', '*','color', s)
return

function dziewiec(i,s,r)

line([0.7 0.7], [i+0.28 i+0.12], 'line', '--', 'marker', '*','color', s)
line([0.72 0.68], [i+0.2 i+0.2], 'line', '--', 'marker', '*','color', s)
line([0.71 0.69], [i+0.16 i+0.24], 'line', '--', 'marker', '*', 'color', r)
line([0.69 0.71], [i+0.16 i+0.24], 'line', '--', 'marker', '*', 'color', r)
line([0.715 0.685], [i+0.18 i+0.22], 'line', '--', 'marker', '*','color', s)
line([0.685 0.715], [i+0.18 i+0.22], 'line', '--', 'marker', '*','color', s)
return

function dziesiec(i,s,r)
line([0.4 0.4], [i+0.18 i+0.02], 'line', '--', 'marker', '*','color', s)
line([0.42 0.38], [i+0.1 i+0.1], 'line', '--', 'marker', '*','color', s)
line([0.41 0.39], [i+0.06 i+0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.39 0.41], [i+0.06 i+0.14], 'line', '--', 'marker', '*', 'color', r)
line([0.415 0.385], [i+0.08 i+0.12], 'line', '--', 'marker', '*','color', s)
line([0.385 0.415], [i+0.08 i+0.12], 'line', '--', 'marker', '*','color', s)
return

