function Lender
global x y vx vy zazeh konec tisk pristani palivo
R = get(0,'ScreenSize');
fig = figure('name','Lender','position',[fix(R(3)/2)-500, fix(R(4)/2)-250, 1000, 500],'color','k');
set(fig,'KeyPressFcn',@keyPress, 'KeyReleaseFcn', @keyRel);
axes('position',[0.1,0.1,0.8,0.8],'color','k','visible','off');
hold on;
plot([0 2 2 0 0],[0 0 1 1 0],'w');
plot([1.5 1.7],[0 0],'color','b','linewidth',3);
axis([0 2 0 1]);

x = 0.5;
y = 0.5;
vx = 0;
vy = 0;

tisk{1}.x = 0.03*[0.5 -0.5 -0.3  -1  -1 0 1 1 0.3 0.5];
tisk{1}.y = 0.03*[0  0  0.5 0.5 1.5 2 1.5 0.5 0.5 0];
tisk{1}.t = fill(tisk{1}.x+x,tisk{1}.y+y,'w');

tisk{2}.x = 0.03*[1 1.5 1];
tisk{2}.y = 0.03*[1.3 1 0.7];
tisk{2}.t = fill(tisk{2}.x+x,tisk{2}.y+y,'y','visible','off');

tisk{3}.x = 0.03*[-1 -1.5 -1];
tisk{3}.y = 0.03*[1.3 1 0.7];
tisk{3}.t = fill(tisk{3}.x+x,tisk{3}.y+y,'y','visible','off');

tisk{4}.x = 0.03*[0.3 1 -1 -0.3];
tisk{4}.y = 0.03*[0 -0.5 -0.5 0];
tisk{4}.t = fill(tisk{4}.x+x,tisk{4}.y+y,'y','visible','off');

tisk{5} = text(0.6,0.95,['Palivo: ',num2str(palivo),'%'],'color','g');
tisk{6} = text(1,0.95,['vx: ',num2str(vx)],'color','g');
tisk{7} = text(1.4,0.95,['vy: ',num2str(vy)],'color','g');

zazeh = 0;
palivo = 100;
konec = 0;
pristani = -1;

while ~konec
    pohyb_rakety;
    pause(0.01);
    if(pristani ~= -1)
        break;
    end
end
if(pristani == 1)
    text(1,0.5,'Uspesne pristani!','color','w','fontsize',30)
else
    text(1,0.5,'Havarie!','color','w','fontsize',30)
    set(tisk{1}.t,'visible','off');
    f = linspace(0,2*pi,20);
    fill(0.1*cos(f)+x,0.1*sin(f)+y,'y');
end


function pohyb_rakety
global x y vx vy zazeh tisk pristani palivo
ax = 0;
ay = -0.3;
switch zazeh
    case 1
        if(palivo > 0)
            ax = -0.5;
            palivo = palivo - 0.15;
            set(tisk{2}.t,'visible','on');
        end

    case 2
        if(palivo > 0)
            ax = ax + 0.5;
            palivo = palivo - 0.15;
            set(tisk{3}.t,'visible','on');
        end
    case 3
        if(palivo > 0)
            ay = 0.8;
            palivo = palivo - 0.3;
            set(tisk{4}.t,'visible','on');
        end
end
if(palivo < 0)
    palivo = 0;
end
dt = 0.01;
vx = vx + dt*ax;
vy = vy + dt*ay;
x = x + dt*vx;
y = y + dt*vy;
set(tisk{1}.t,'Xdata',tisk{1}.x+x,'Ydata',tisk{1}.y+y);
set(tisk{2}.t,'Xdata',tisk{2}.x+x,'Ydata',tisk{2}.y+y);
set(tisk{3}.t,'Xdata',tisk{3}.x+x,'Ydata',tisk{3}.y+y);
set(tisk{4}.t,'Xdata',tisk{4}.x+x,'Ydata',tisk{4}.y+y);
set(tisk{5},'String',['Palivo: ',num2str(palivo),'%']);
if(palivo < 20)
    set(tisk{5},'color','r');
end
set(tisk{6},'String',['vx: ',num2str(vx)]);
if(abs(vx) > 0.05)
    set(tisk{6},'color','r');
else
    set(tisk{6},'color','g');
end
set(tisk{7},'String',['vy: ',num2str(vy)]);
if(abs(vy)> 0.1)
    set(tisk{7},'color','r');
else
    set(tisk{7},'color','g');
end
drawnow;

if(y < 0 || y > 1 || x < 0 || x > 2)
    if(y <=0 && abs(x - 1.6) < 0.1 && abs(vy) <= 0.1 && abs(vx) <= 0.05)
        pristani = 1;
    else
        pristani = 0;
    end
end


function keyPress(src,event)
global zazeh konec
    switch event.Key
        case 'rightarrow'
            zazeh = 1;
        case 'leftarrow'
            zazeh = 2;
        case 'uparrow'
            zazeh = 3;
        case 'q'
            konec = 1;
    end
    
function keyRel(src,event)
global zazeh tisk
    zazeh = 0;
    set(tisk{2}.t,'visible','off');
    set(tisk{3}.t,'visible','off');
    set(tisk{4}.t,'visible','off');
    
    
    
    
    