Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pablo Arturo Soto Matamoros, Hector santiago Troya Perez Kevin Andrés Santacruz López, GR1
pablo.soto@epn.edu.ec, hector.troya@epn.edu.ec, kevin.santacruz@epn.edu.ec
Software de simulación, Escuela Politécnica Nacional
Ing. Diego Pilaquinga
h.t=text(0.01,.97,'Bienvenido','color',[.5 .8
0],'fontweight','bold','fontsize',20);
h.tt=text(0.86,.97,'Tiempo','color',[.5 .8
I. INTRODUCCIÓN 0],'fontweight','bold','fontsize',20);
h.mili=text(0.5,.97,'Tiempo en s:','color',[.5 .8
0],'fontweight','bold','fontsize',20);
El proyecto consiste en crear un juego llamado Squash en App set(h.f,'keypressFcn',{@Down,h});
start(h.timer);
Designer o en un script que permita el movimiento de una %----------------------------------------------------------
----------------
pelota dentro de un intervalo en X y Y, la velocidad con la que %movimiento de la barra
function Down(~,evnt,h)
parte la pelota es variable, así como su ángulo y existirá una global Step D
%strcmpi compara caracteres devuleve 1 o 0
barra en la parte inferior que evitara que la pelota toque el if strcmpi(evnt.Key,'leftarrow')
if D
suelo, si la pelota llega a tocar el suelo el juego finaliza. Step=-0.001;
%la funcion ~devueleve valores del mismo tamaño que D
D=~D;
else
II. PROCEDIMIENTO Step=Step-0.0005;
end
elseif strcmpi(evnt.Key,'rightarrow')
if D
Se uso las siguientes funciones: Step=0.001;
1
if Bx(1)<=0
v2(end+1)=Vx;
Vx=-Vx;
v2(end+1)=Vx;
t2(end+1)=get(h.timer,'AveragePeriod')+t2(end);
t2(end+1)=t2(end);
Xo=Ax; %camino
Yo=Ay; %camino
D=~D;
elseif Bx(2)>=1
v2(end+1)=Vx;
Vx=-Vx;
v2(end+1)=Vx;
t2(end+1)=get(h.timer,'AveragePeriod')+t2(end);
t2(end+1)=t2(end);
Xo=Ax; %camino
Yo=Ay; %camino
D=~D;
end
if By(1)<=0
set(h.t,'string','Game Over !');drawnow
stop(h.timer);
elseif By(2)>=1
v1(end+1)=Vy;
Vy=-Vy;
v1(end+1)=Vy;
t1(end+1)=get(h.timer,'AveragePeriod')+t1(end);
t1(end+1)=t1(end);
Xo=Ax; %camino
Yo=Ay; %camino
end
Px=unique(get(h.p,'xdata'));Px=Px([1,end]);
if Px(1)<=0
Step=0.001;
elseif Px(2)>=1
Step=-0.001;
end
Ax=Ax+Vx; %camino
Ay=Ay+Vy; %camino
set(h.tt,'string',num2str(timerCount/100));
set(h.b,'xdata',get(h.b,'xdata')+Vx);
set(h.b,'ydata',get(h.b,'ydata')+Vy);
set(h.p,'xdata',get(h.p,'xdata')+Step);
timerCount=timerCount+1;
drawnow;
IV. RESULTADOS
La interfaz grafica del juego es la siguiente:
V. CONCLUSIONES