帮你修改了一下,可以运行了
function daba%靶的制作和打靶得分
n=10 %环的个数
cc=jet(n)
th=(0:360)*pi/180 %角度向量
figure %创建图形窗口
axis equal %使坐标间隔相等
hold on %保持图像cc='gcmyrbgcmy' %颜色字符(1)
for i=1:n %按环数循环(2)
x=(n+1-i)*cos(th) %横坐标
y=(n+1-i)*sin(th) %纵坐标
fill(x,y,cc(i,:)) %填色(3)
end %结束循环
s=0 %总分清零
ht1=text(-n,n-1,'','FontSize',16) %取文本句柄(4)
ht2=text(-n,-n+1,'','FontSize',16) %取文本句柄(4)
for i=1:n %按次数循环
[x,y]=ginput(1) %获取坐标(5)
plot(x,y,'k.','MarkerSize',20) %画点
set(ht1,'String',['次数:',num2str(i)])%设置次数字符串(6)
r=sqrt(x^2+y^2) %求射击点靶心距离
m=n-floor(r) %计分(7)
if m>0 %如果分数大于零(8)
text(x,y,num2str(m),'FontSize',16)%显示分数(9)
s=s+m %累加分数
set(ht2,'String',['总分:',num2str(s)])%设置总分字符串(10)
end %结束条件
% %[y,fs]=wavread('f:\1.wav')
% %wavplay(y,fs)
end %结束循环
if s<85
%[y,fs]=wavread('f:\2.wav')
%wavplay(y,fs)
text(5,10,'[太菜了,继续锻炼吧!]','FontSize',16)
end
if s>=85
%[y,fs]=wavread('f:\3.wav')
%wavplay(y,fs)
text(5,10,'哇,好强啊!','FontSize',16)
end
clear %清除变量n=10 %环的个数
th=(0:360)*pi/180%角度向量
h=figure %创建图形窗口
axis equal %使坐标间隔相等
hold on%保持图像
cc='gcmyrbgcmy' %颜色字符(1)
for i=1:n %按环数循环(2)
x=(n+1-i)*cos(th)%横坐标
y=(n+1-i)*sin(th)%纵坐标
fill(x,y,cc(i))%填色(3)
end
zdir=[0 0]
obj = get(gca,'children')
while 1
rotate(obj,zdir,1)
pause(0.1)
end
试试看rotate
给你一个湖南大学物电院周群益老师的模拟打靶的程序,可以参考啊!
%靶的制作和打靶得分
clear %清除变量
n=10 %环的个数
th=(0:360)*pi/180 %角度向量
figure %创建图形窗口
axis equal %使坐标间隔相等
hold on %保持图像
cc='gcmyrbgcmy' %颜色字符(1)
for i=1:n %按环数循环(2)
x=(n+1-i)*cos(th) %横坐标
y=(n+1-i)*sin(th) %纵坐标
fill(x,y,cc(i)) %填色(3)
end %结束循环
s=0 %总分清零
ht1=text(-n,n-1,'','FontSize',16) %取文本句柄(4)
ht2=text(-n,-n+1,'','FontSize',16) %取文本句柄(4)
for i=1:n %按次数循环
[x,y]=ginput(1) %获取坐标(5)
plot(x,y,'k.','MarkerSize',20) %画点
set(ht1,'String',['次数:',num2str(i)])%设置次数字符串(6)
r=sqrt(x^2+y^2) %求射击点靶心距离
m=n-floor(r) %计分(7)
if m>0 %如果分数大于零(8)
text(x,y,num2str(m),'FontSize',16)%显示分数(9)
s=s+m %累加分数
set(ht2,'String',['总分:',num2str(s)])%设置总分字符串(10)
end %结束条件
end %结束循环
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)