该比哈姆-米德尔顿-莱文流量模型是一个自组织的细胞自动机模型简化流量。
它由许多汽车组成,这些汽车由具有随机起始位置的点阵上的点表示,其中每辆汽车可能是以下两种类型之一:仅向下移动的汽车(在本文中显示为蓝色),以及仅向下方移动的汽车右(在本文中显示为红色)。两种类型的汽车轮流行驶。在每一转弯期间,如果相应类型的所有汽车都没有被另一辆汽车挡住,则它们前进一个步骤。
您的任务是将该模型可视化为动画。这是一些很好的示范。
输入项
0到1之间的浮点数表示密度,而两个整数表示所显示的网格高度和宽度。假设输入是有效的,并且函数的参数或从用户输入读取的参数都很好。
示例:(0.38 144 89
对应于上图)
输出量
至少80x80的网格显示正在运行的模型的动画。开始时,将汽车随机放置在网格上,直到网格达到输入密度,其中一半为红色,另一半为蓝色(即密度乘以网格正方形的总数,但可以四舍五入)。密度必须是此值,这意味着您不能以密度填充每个像元。对于每一步,一种类型的汽车要么向下移动要么向右移动,如果它们越过边缘则环绕。移动的汽车类型交替出现。为了使动画可见,每个步骤之间必须至少有10毫秒。
规则
这些汽车可以是任何颜色或符号,只要它们可以与背景和背景区分开即可,并且每种汽车类型都是相同的颜色或符号。
都允许控制台和图形输出。对于控制台输出,任何可打印的符号都可以,但是输出必须为字符网格。
如果没有屏幕截图或gif,请指定产生的输出类型。
模拟必须永远运行。
输出有点复杂,因此如果您有任何疑问,请发表评论。