MATLAB社区

MATLAB,社区等等

足球广场为超级碗LIII更新

我写了关于足球广场的文章很久以前.鉴于即将到来的超级碗,一些人要求我复习我的代码。作为奖励,自从我上次这样做以来已经很长时间了,我可以展示一些新的MATLAB功能。这里是……

这个游戏

这项运动和其他国家的其他运动一样受欢迎吗?我不知道。但这是一种让一群人对游戏结果下注的简单方法。

首先你做一个10乘10的网格。网格中的每个方格对应一对一位数。这些一位数依次对应两队中某队最终得分的最后一位数。在游戏开始前,每个人都会购买一个或多个方块,直到它们都被卖光为止。现在,如果短吻鳄队(A队)继续以17比10的比分击败牛仔队(B队),那么位置(7,0)的方块所有者将成为获胜者。

正如你所想象的,一些得分对比其他得分对更有可能出现。出于这个原因,你买了方块之前已应用编号标签。换句话说,你赢不赢全靠运气。最好的啤酒和球类赌局!

我将在这个Live Script中详细说明它是如何工作的。

绘制网格

A = invhilb(10)<0;

为什么INVHILB?看到这个科迪问题

Tick = 0:9;显示亮度图像(嘀嗒,嘀嗒,)colormap ([1;0.8]*[1 1 1]) set(gca,“字形大小”12“XAxisLocation”“高级”“XTick”蜱虫,“YTick”蜱虫,“XTickLabel”“?”“YTickLabel”“?”)轴广场xlabel(“爱国者队得分的最后数字”)ylabel(“公羊队得分的最后数字”)

所以你可以看到,我们实际上并不知道哪些数字对应于每个正方形。

选择方块

我们将使用来自网络的随机名称生成器来生成玩家列表。WEBREAD是一个漂亮的命令:它会自动将返回的JSON转换为一个结构。

url =“https://uinames.com/api/?amount=12®ion=United%20States”;Names = webread(url);

这些都是来参加你聚会的人。别担心,他们很有趣的。

allNames = string({names.name});disp (allNames.join (”、“))
托马斯、凯瑟琳、马修、吉恩、克里斯汀、凯西、玛莎、斯科特、布莱恩、奥利维亚、哈里、拉尔夫

现在我们来模拟人们买下这些方块。假设他们为每平方支付1美元,获得100美元的头奖。

groupSize = 12;nameIndexGrid = randi(groupSize,[10 10]);I = 1:numel(a) [row,col] = ind2sub([10,10], I);第一行文本(col-1, allNames (nameIndexGrid(坳、行),“字形大小”6“颜色”“蓝”“HorizontalAlignment”“中心”);结束

分配分数数字

现在已经购买了所有方块,是时候将实际数字分配到网格中了。这是一个完美的任务RANDPERM

xLabels = randperm(10)-1;yLabels = randperm(10)-1;集(gca),“XTickLabel”字符串(包含),“YTickLabel”字符串(yLabels))

最后比分的最后几位数是多少?

现在我要想出一个假的最终分数。尽管这是一场模拟比赛,但我不会透露谁赢了。没必要惹事生非!我们总部在波士顿,所以我们喜欢爱国者队。但是相信我,我们知道那不是…嗯哼全国普遍接受的观点

patriotsFinalScore = randi(30);ramsFinalScore = randi(30);

我们在这里写一个匿名函数,因为匿名函数很酷。

getLastDigit = @(score) score - 10*(floor(score/10));

比分的最后几位数是多少?

patriotsLastDigit = getLastDigit(patriotsFinalScore)
爱国者slastdigit = 6
ramsLastDigit = getLastDigit(ramsFinalScore)
ramsLastDigit = 6
ix1 = find(patriotsLastDigit==xLabels);ix2 = find(ramsLastDigit==yLabels);集(findobj (“类型”“文本”),“颜色”, 0.6 *(1 1 1))补丁(ix1-1 + -0.5 (0 1 1 0 0), ix2-1 + -0.5 (0 0 1 1 0), 0.7 - 0.7 [1],“EdgeColor”“没有”) text(ix1-1,ix2-1,allNames(nameIndexGrid(ix1,ix2))+" wins .!”,……“字形大小”, 18岁,“FontWeight”“大胆”“颜色”“红色”“HorizontalAlignment”“中心”);

|
  • 打印
  • 发送电子邮件

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。