足球广场为超级碗LIII更新
我写了关于足球广场的文章很久以前.鉴于即将到来的超级碗,一些人要求我复习我的代码。作为奖励,自从我上次这样做以来已经很长时间了,我可以展示一些新的MATLAB功能。这里是……
这个游戏
这项运动和其他国家的其他运动一样受欢迎吗?我不知道。但这是一种让一群人对游戏结果下注的简单方法。
首先你做一个10乘10的网格。网格中的每个方格对应一对一位数。这些一位数依次对应两队中某队最终得分的最后一位数。在游戏开始前,每个人都会购买一个或多个方块,直到它们都被卖光为止。现在,如果短吻鳄队(A队)继续以17比10的比分击败牛仔队(B队),那么位置(7,0)的方块所有者将成为获胜者。
正如你所想象的,一些得分对比其他得分对更有可能出现。出于这个原因,你买了方块之前已应用编号标签。换句话说,你赢不赢全靠运气。最好的啤酒和球类赌局!
我将在这个Live Script中详细说明它是如何工作的。
绘制网格
A = invhilb(10)<0;
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帐户或创建一个新帐户。