仿真程序动画作品--射击训练

2022-01-15 14:32 阅读(?)评论(0)
%作者:1804020044
clear;%清屏
set(figure,'color','w');
title('射击训练','fontname','宋体','fontsize',10,'Color','black');  %设置标题
axis equal;    %使横纵坐标比例相等
axis([0,160,0,160]);   %建立坐标系
hold on;    %画面保持
axis off;   %消除坐标
hold on;    %画面保持
n=5;        %5个靶环
th= (0:360) *pi/180;  %角度向量
ys='gcmyr' ;  %靶环颜色
for i=1:n
    x=(n+1-i)*cos (th) ;
    y=(n+1-i)*sin(th) ;
    fill(3*x+120,3*y+32,ys(i));  %画靶
end
l=line([120 120],[10 17],'color','k','linewidth',5);  %靶立柱
hold on;   %画面保持
t1=text(60,100,'射手进场','fontsize',16,'color','k'); %副标题设置
pause(1);  %暂停1s
r0=line(20,40,'color','k','linestyle','.','markersize',80); %画火柴人
r1=line([20 20],[40 20],'color','k','linewidth',3);
r2=line([10 20 ],[25 30 ],'color','k','linewidth',1.5);
r21=line([20 30],[30 25],'color','k','linewidth',1.5);
r3=line([12 20],[13 20],'color','k','linewidth',2.5);
r31=line([20 28],[20 13],'color','k','linewidth',2.5);
hold on;  %图像保持
pause(2);  %暂停2s
delete(t1);  %删除t1
delete(r0,r1,r2,r21,r3,r31);  %画面切换
q1=line([30 30],[26 31],'color','k','linewidth',3.5);  %画枪
q2=line([23 40],[31 31],'color','k','linewidth',4.5);
q3=line([35 35],[26 31],'color','k','linewidth',3.5);
q4=line([30 35],[33 33],'color','k','linewidth',3.5);
q5=line([40 44],[31 31],'color','k','linewidth',2.5);
r0=line(20,40,'color','k','linestyle','.','markersize',80);%画火柴人持枪姿态
r1=line([20 20],[40 20],'color','k','linewidth',3);
r2=line([20 35],[30 27 ],'color','k','linewidth',1.5);
r21=line([20 27],[30 22],'color','k','linewidth',1.5);
r22=line([27 30],[22 30],'color','k','linewidth',1.5);
r3=line([12 20],[13 20],'color','k','linewidth',2.5);
r31=line([20 25],[20 17],'color','k','linewidth',2.5);
r32=line([21 25],[12 17],'color','k','linewidth',2.5);
t2=text(60,100,'射手准备','fontsize',16,'color','k');%准备口令
pause(2);    %暂停2s
delete(t2);  %删除t2
t3=text(60,100,'开始射击','fontsize',16,'color','k')%射击口令
pause(1);    %暂停1s
delete(t3);  %删除t3
z=line(44.5,31,'color','k','linestyle','.','markersize',5)%第一发子弹
for t=0:0.4:100;
    set(z,'xdata',44.5+0.83*t);   %子弹运动
    drawnow;
end
pause(1);  %暂停1s
t4=text(140,80,'6环','fontsize',16,'color','r'); %报靶
pause(1.2);  %暂停1.2s
delete(t4);  %删除t4
delete(z);   %删除第一发子弹
z=line(44.5,31,'color','k','linestyle','.','markersize',5);%第二发子弹
for t=0:0.4:100;
    set(z,'xdata',44.5+0.8*t);   %子弹运动
    drawnow;
end
pause(1);
t5=text(140,80,'8环','fontsize',16,'color','r');%报靶
pause(1);    %暂停1s
delete(t5);  %删除t5
delete(z);   %删除第二发子弹
z=line(44.5,31,'color','k','linestyle','.','markersize',5);%第三发子弹
for t=0:0.4:100;
    set(z,'xdata',44.5+0.75*t);  %子弹运动
    drawnow;
end
pause(1);    %暂停1s
t6=text(140,80,'10环','fontsize',16,'color','r');  %报靶
pause(2);    %暂停2s
delete(t6);  %删除t6
delete(z);   %删除第三发子弹
t7=text(60,100,'勤加训练!','fontsize',16,'color','r');

  最后修改于 2022-09-08 16:16    阅读(?)评论(0)
 
表  情:
加载中...
 

请各位遵纪守法并注意语言文明