%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%   Aufgabe 2.9 und ein selbst geschriebenes Programm 
%
%   Lösung von H. Canan Aglamaz, 19.6 2002
%
%   Ablauf der Scribt: Eine gekrummte Gerade dreht sich vorher nach Rechts und dann nach Links 
%                      um den Nullgang 360 Grad und wärend der Drehung ändert sich die Farben                
%                      der gekrummten Gerade. Ein Fenster zeigt den User den Loading. Danach 
%                      lauft ein Fussballspieler zum Ball und nimmt dieser.Mit den Ball lauft 
%                      der Fussballspieler entlang der Aussenlienen des Feldes und schiesst am 
%                      günstigsten moment den Ball in das Tor. Der Goli versucht den Ball 
%                      zu Koordinieren aber der Ball fliegt doch noch ins Tor.
%                      Ein Anzeigetafel gibt das Entresultat.
%                                        
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%                   Drehgrafik                      %%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

h=figure(gcf);
axis([-10 10 -10 10]);                  %Behaltet das fenster im Kordinaten -x x y -y
hold; 

krumme_gerade=[0 0; 1 1.5; 3 2]';       %Def. P1, P2, und P3    Krumme Gerade


farbe=1;

for i=1 :370
    
if i <20                               %Wilde Koordinaten auf Drehgrafik nach Links Drehung
grad=360/i;
pause(0.8);                            % Pause 
end

if i>10                                 %Normale Drehung nach rechts des Grafiks                               
grad=i;
end

phi=(pi/180)*grad;                          %Grad in  Bogenmass
drehmatrix=[cos(phi) -sin(phi); sin(phi) cos(phi)];         %Drehmatrix um den 0 punkt
newgk=drehmatrix * krumme_gerade;
h=plot(newgk(1,:), newgk(2,:));         %Ausgabe in display
pause(0.1);                                                  %Pause
Farbmatrix=[1 1 0; 0 .8 1; 1 0 .6; 1 .0 .6; 0 .3 .9];        %Farb def. 1 bis 5
set(h,'color', Farbmatrix(farbe,:));                        %Farbdurch lauf

farbe=farbe + 1;                                      
if farbe == 5                           %Farbe Definition wider auf Aray a setzen
  
    farbe = 1;          
end

end

pause(1);
clf;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%                   Loading                         %%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

h=figure(gcf);
axis([0 20 0 20]);                                          %Fenster grösse 
hold
viereck=[4  8; 18  8;18 14;4 14;4 8]';                      %Definition P1, P2, P3 und P4
fill(viereck(1,:), viereck(2,:),'g');                       %Füllen der viereck mit grün

plot(viereck(1,:), viereck(2,:));                           %Ausgabe des Vierecks in das Fenster


for i=0 :9                                          
   P1 = 6 + i;
   P2=6.9 + i;
   P3=10;
   P4=12 ;
   text(6, 8.5,'Loading....................Tor des Jahres');
   
   k_viereck=[P1 P3;P2 P3;P2 P4;P1 P4;P1 P3]';
   plot(k_viereck(1,:), k_viereck(2,:));            %Ausgabe des Vierecks in das Fenster
   pause(0.000001); 
   fill(k_viereck(1,:), k_viereck(2,:),'b');        %Füllen der dreiek mit blau
   pause(0.1);
end

clf;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%                    Der Ball                     %%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

h=figure(gcf);
axis([0 20 0 20]);                                  %Fenster grösse 
hold

%%% Fled    %%%

feld=[0 0;0 40;40 40;0 40;0 0;];
fill(feld(1,:), feld(2,:),'g');                     %Füllen des Feldes mit Grün
plot(feld(1,:), feld(2,:));  

%%% Definition Ball    %%%

zk=ones(101);                  %Z Koordinten mit 101 punkten
 t=(0:0.1:10);                 %Punkt des kreises verhältnis beachten mit zk
 xk=sin(t*pi)*0.4+4;           %Brechnung der x Koordinaten +4 ist x Koordinate
 yk=cos(t*pi)*0.4+1.5;         %Berechnung der y Koordinaten +1.5 ist y Koordinate
 ball=[xk;yk;zk];              %Matrix für den Kreis
 fill(ball(1,:), ball(2,:),'r');               %Füllen den Ball mit Rot
 plot(ball(1,:), ball(2,:));  
 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%                    Der spieler lauft            %%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



for w=0 :15
clf;
figure(gcf);
a_x=w+5;                             %Vergrössert die Fenstergrösse beim laufen des Spielers
a_y=w+5;
axis([0 a_x 0 a_y]);                  %Behaltet das fenster im Kordinaten -x x y -y
hold;

%%% Das Fussballfeld    %%%

feld= [0.1 0.1;0.1 55;41 55;41 0.1;0.1 0.1]';
fill(feld(1,:), feld(2,:),'g');      %Füllen des Feldes mit Grün
plot(feld(1,:), feld(2,:));

%%% Mittellienie    %%%

linie=[10 0;10 55]';
plot(linie(1,:), linie(2,:));


%%% Mittelkreis %%%
 
 zk=ones(101);               %Z koordinten mit 101 punkten
 t=(0:0.1:10);               %Punkt des Kreises verhältnis beachten mit zk
 xk=sin(t*pi)*5+10;          %Brechnung der x Koordinaten +10 istdie x Koordinate
 yk=cos(t*pi)*5+27.5;        %Berechnung der y koordinaten +27.5 ist die y Koordinate
 mittel_kreis=[xk;yk;zk];    %Matrix für den Kreis
 plot(mittel_kreis(1,:), mittel_kreis(2,:));  

 
 %%% Definition des Balls    %%%

if w <4
zk=ones(101);                  %Z Koordinten mit 101 Punkten
 t=(0:0.1:10);                 %Punkt des Kreises verhältnis beachten mit zk
 xk=sin(t*pi)*0.4+4;           %Brechnung der x Koordinaten +4 ist x Koordinate
 yk=cos(t*pi)*0.4+1.5;         %Berechnung der y koordinaten +2 ist y Koordinate
 ball=[xk;yk;zk];              %Matrix für den Kreis
 fill(ball(1,:), ball(2,:),'r');               %Füllen des Vierecks mit Grün
 plot(ball(1,:), ball(2,:));  
 pause(0.2);
end


%%% Der Ball lauft mit dem Spieler  %%%

if w >2
    b= w-2.09;                  %Der Ball lauft mit dem Spieler
 zk=ones(101);                  %Z Koordinten mit 101 punkten
 t=(0:0.1:10);                  %Punkt des Kreises verhältnis beachten mit zk
 pause(0.2);
 xk=sin(t*pi)*0.4+(4+b);        %Brechnung der x koordinaten +4 ist xkoordinate
 yk=cos(t*pi)*0.4+1.5;          %Berechnung der y koordinaten +2 ist xkoordinate
 ball=[xk;yk;zk];               %Matrix für dem Kreis
 fill(ball(1,:), ball(2,:),'r');      %Füllen den ball mit Rot
 plot(ball(1,:), ball(2,:));  
end

%%% Kopf des Spielers   %%%
    
 kopf=ones(101);                  %Z Koordinten mit 101 punkten
 t=(0:0.1:10);                    %Punkt des kreises verhältnis beachten mit zk
 x_kopf=sin(t*pi)*0.3+(1+w);      %Brechnung der x koordinaten (1+W)ist x Koordinate
 y_kopf=cos(t*pi)*0.3+4;          %Berechnung der y koordinaten (4) ist y Koordinate
 matrix_Kopf=[x_kopf;y_kopf;kopf];             %Matrix für kreis
 fill(matrix_Kopf(1,:),matrix_Kopf(2,:),'');               %Füllen des Vierecks mit Grün
 h=plot(matrix_Kopf(1,:), matrix_Kopf(2,:));
 
 %%%    Köper des Spielers  %%%
 
 koerper=[(1+w) 3.8;(1+w) 2.5]';
 h=plot(koerper(1,:), koerper(2,:));
 
 %%%    Definition Aerme    %%%
 
 arm1=[(0.5+w) 2.5;(1+w) 3.2; (1.5+w) 2.5]';
 plot(arm1(1,:), arm1(2,:));
 
 %%%    Definition Beine    %%%
 
 beine=[(0.75+w) 1.5;(0.5+w) 1.5; (1+w) 2.5;(1.5+w) 1.5; (1.75+w) 1.5]';
 h=plot(beine(1,:), beine(2,:));
 pause(0.2);
  
end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%     Der Ball wird auf das Tos geschossen        %%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


 
for q=0 :25
  
clf;
figure(gcf);
axis([0 55 0 90]);                  %Behaltet das fenster im Kordinaten -x x y -y
hold; 

%%% definition Anzeigetafel %%%

tafel=[0 60;0 80;20 80;20 60]';
fill(tafel(1,:),tafel(2,:),'m');               %Füllen den Tafel mit Violette
plot(tafel(1,:),tafel(2,:));

%%% Anzeigefüsse des Tafels %%%

f1=[5 57;5 60]';
plot(f1(1,:),f1(2,:));
f2=[15 57;15 60]';
plot(f2(1,:),f2(2,:));

%%% Definition des Feldes   %%%

feld= [0.1 0.1;0.1 55;41 55;41 0.1;0.1 0.1]';
fill(feld(1,:), feld(2,:),'g');            %Füllen den Vreiek mit Grün
plot(feld(1,:), feld(2,:));

%%% definition Mittellinie  %%%

linie=[10 0;10 55]';
plot(linie(1,:), linie(2,:));

%%% Def. Torlinie    %%%

tor_linie=[41 15;30 15;30 40;41 40]';
plot(tor_linie(1,:),tor_linie(2,:));


%%% Def. Mittelkreis       %%%
 
 zk=ones(101);               %Z Koordinten mit 101 punkten
 t=(0:0.1:10);               %Punkt des kreises verhältnis beachten mit zk
 xk=sin(t*pi)*5+10;          %Brechnung der x koordinaten +10 ist x Koordinate
 yk=cos(t*pi)*5+27.5;        %Berechnung der y koordinaten +27.5 ist y Koordinate
 mittel_kreis=[xk;yk;zk];    %Matrix für den Kreis
 plot(mittel_kreis(1,:), mittel_kreis(2,:));  


%%% Def. Tor    %%%

tor= [41 20;41 35;42 35;42 20;41 20]';
fill(tor(1,:), tor(2,:),'y');            %Füllen den Dreiek mit Grün
plot(tor(1,:), tor(2,:));

 
 %%%    Def. Kopf des Spielers  %%%
    
 kopf=ones(101);                  %Z Koordinten mit 101 punkten
 t=(0:0.1:10);                    %Punkt des kreises verhältnis beachten mit zk
 x_kopf=sin(t*pi)*0.3+(1+w+q);    %Brechnung der x koordinaten (1+w+q) ist x Koordinate
 y_kopf=cos(t*pi)*0.3+4;          %Berechnung der y koordinaten +4 ist y Koordinate
 matrix_Kopf=[x_kopf;y_kopf;kopf];             %Matrix für den Kreis
 fill(matrix_Kopf(1,:),matrix_Kopf(2,:),'');   %Füllen der viereck mit grün
 h=plot(matrix_Kopf(1,:), matrix_Kopf(2,:));
 
 %köper des spilers
 
 koerper=[(1+w+q) 3.8;(1+w+q) 2.5]';
 h=plot(koerper(1,:), koerper(2,:));
 
 % Aerme
 
 arm1=[(0.5+w+q) 2.5;(1+w+q) 3.2; (1.5+w+q) 2.5]';
 plot(arm1(1,:), arm1(2,:));
 
 %Beine
 
 beine=[(0.75+w+q) 1.5;(0.5+w+q) 1.5; (1+w+q) 2.5;(1.5+w+q) 1.5; (1.75+w+q) 1.5]';
 h=plot(beine(1,:), beine(2,:));
 pause(0.2);
    
 % Ball geht vom Spieler weg und ins Tor
 
 b= w-2.09;                         %Der ball lauft mit spieler
 zk=ones(101);                      %zkoordinten mit 101 punkten
 t=(0:0.1:10);                      %punkt des kreises verhältnis beachten mit zk
  
 xk=sin(t*pi)*0.4+(4+b+q);          %Brechnung der x koordinaten +4 ist xkoordinate
 yk=cos(t*pi)*0.4+(1.5+q);          %Berechnung der y koordinaten +2 ist xkoordinate
 ball=[xk;yk;zk];                   %Matrix für kreis
 fill(ball(1,:), ball(2,:),'r');    %Füllen den Ball mit Rot
 pause(0.2);
 plot(ball(1,:), ball(2,:)); 
 %pause(0.2);
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%     Der Goli                                                    %%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 %%%    Kopf des Golis  %%%
 if q >1
     
 l_g=q-7;                           % Hier wird die Schnelligkeit des Golis Definiert mit Erhöhung der L_g                         
 
 if l_g >18                         %Hier wird def. dass der Goli nur vor dem Tor hin und her lauft
    l_g=0;
end
 
 kopf_g=ones(101);                  % Z Koordinten mit 101 punkten
 t=(0:0.1:10);                      %Punkt des kreises verhältnis beachten mit zk
 x_kopf_g=sin(t*pi)*0.3+39;         %Brechnung der x koordinaten +4 ist xkoordinate
 y_kopf_g=cos(t*pi)*0.3+(19.5+l_g);          %Berechnung der y koordinaten +2 ist xkoordinate
 matrix_Kopf_g=[x_kopf_g;y_kopf_g;kopf_g];             %Matrix für kreis
 fill(matrix_Kopf_g(1,:),matrix_Kopf_g(2,:),'');               %Füllen der viereck mit grün
 h=plot(matrix_Kopf_g(1,:), matrix_Kopf_g(2,:));
 
 %%%    Köper des Golis %%%
 
 koerper_g=[39 (19+l_g);39 (17+l_g)]';
 h=plot(koerper_g(1,:), koerper_g(2,:));
 
 %%%    Aerme des Golies    %%%
 
 arm1_g=[38.5 (18+l_g);39 (18.8+l_g);39.5 (18+l_g)]';
 plot(arm1_g(1,:), arm1_g(2,:));
 
 %%%    Beine des Golis %%%
 
 beine_g=[38.5 (17+l_g);38.8 (17+l_g);39 (17+l_g);39.5 (17+l_g);39 (17+l_g)]';
 plot(beine_g(1,:), beine_g(2,:));
 pause(0.2);     
end
 
end

%%% Text an der Anzeigetafel    %%%

text(1, 75,'Gooool');
pause(1);
text(6,75,'...Goool');
pause(1);
text(12,75,'...Gool');
pause(2);
text(1,65,'England[ 0 ] Brasilien[ 2 ]');
