求解使用matlab语言编写猜数字游戏的程序

求解使用matlab语言编写猜数字游戏的程序,第1张

num=randi(100,[1 1])

i=0

while (i<3)

elseif(a>num)

disp 'High'

i=i+1

else

end

if (i==3)

disp 'You lose'

end

#include <stdio.h>

int main()

printf("enter the integer you guess:")

scanf("%d", &t)

if (data == t)

{

printf("the data is:%d\n", data)

break

}

else if(data >t)

else

count++

}while(1)

if (count <= 3)

else if(count <= 7)

return 0

编程环境

MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。

随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强, *** 作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。

模拟打靶的小游戏

%靶的制作和打靶得分

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%结束循环

MATLAB 程序如下,最终收敛到0.508左右

NumIterations = 10000              %实验次数

NumWins = 0                        %已经赢了的次数

NumWinsVec = zeros(1, NumIterations)

for ii = 1:NumIterations

points = sum(randi(6, 1, 2))     %掷2颗骰子,算总数

switch points

case {3, 11}                    %如果是3, 11点

NumWins = NumWins + 1        %赢的次数加1

case {4, 5, 6, 8, 9, 10}        %如果是4,5,6,8,9,10点

flag = false                 %初始化flag,flag==true时本轮结束

while ~flag

newPoints = sum(randi(6, 1, 2)) %掷2颗骰子,算总数

switch newPoints

case 7                     %如果新的点数是7

NumWins = NumWins + 1   %赢的次数加1

flag = true             %本轮结束

case points                %如果新的点数等于本轮第一次的点数

flag = true             %本轮结束(赢的次数不变)

end

end

end

NumWinsVec(ii) = NumWins          %记下本轮结束后总共赢的次数

end

WinPrecentage = NumWinsVec ./ (1:NumIterations) %全部结束后算概率

figure plot(1:NumIterations, WinPrecentage)    %画图


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8079188.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存