Questions tagged «animation»

这些挑战的代码将创建某种形式的动画输出

9
<(“ <)鸟舞者(>”)>
您的鸟一直在瘙痒一些运动,并且讨厌一直被困在静止的位置。编写一个程序,该程序将显示一个随机跳舞的ascii鸟,并根据跳舞动作每100ms * n或200ms * n更新一次。鸟总是从舞步开始&lt;(")&gt;。 程序应接受一个输入,该输入是一个将睡眠间隔乘以(n &gt;= 0 &amp;&amp; n &lt;= 50)的数字。 100ms动作 ^(")v v(")^ ^(")^ v(")v 200ms动作 (&gt;")&gt; &lt;(")&gt; &lt;("&lt;) 额外细节 随机性不一定要统一,但是每个舞步都应该有合理的发生机会(每60个舞步中至少有1个看起来很公平,如果同一舞步连续出现两次也可以) 一次只能显示一只鸟,而不是多只鸟 允许尾随空格(但不允许其他尾随字符) 鸟应显示之前的睡眠 Python 3中的示例 import random, time, sys birds = """(&gt;")&gt; &lt;(")&gt; &lt;("&lt;) ^(")v v(")^ ^(")^ v(")v""" birds = birds.split() interval = int(input("Sleep for 100ms*")) selection …

6
动画俗气的灯光装饰
这项挑战是为了纪念我在法律院里的俗气的圣诞灯。 面临的挑战是创建一个显示“实时”装饰的图形输出。 视频(gif或其他格式)将具有n×m的垂直和水平“灯光”。5 &lt;= m,n &lt;= 40。帧的大小和分辨率可能随n 和m的不同而变化,但对于n,m = 5(矢量图形是可以的),必须至少为50x50像素。带有和的图片如下所示:n=6m=5 装饰: 颜色: 所有的灯都会有以下6个RGB-的颜色之一{255,0,0},{0,255,0},{0,0,255},{255,255,0},{0,255,255}和{255,0,255}。 动画: n并将m以您喜欢的任何合理格式和顺序作为输入 图像每隔都会改变dt = 25 ms。如果是由于“外部因素”(例如解释器的限制,计算机运行缓慢等)导致的偏差,则可以。 如果无法手动设置时间步长,则接受默认时间步长。 所有指示灯在处将变为红色({255,0,0})t=0。 第一个灯(左上)总是有5%的机会改变颜色。所有颜色(当前具有的颜色除外)应该具有相同的可能性。 每个灯(第一个灯除外)将在其左侧获得灯的颜色。如果光源在最左边,那么它将获得上方行最右边的颜色。灯的编号如下所示。灯光编号k将获得灯光编号的颜色k-1。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 理论上,输出应该永远运行(除非您的语言/解释器有一定的限制,以防止这种情况)。 请提供至少5秒钟的样本,最好在答案中提供更多(这是一种鼓励,而不是要求)。(到TIO或类似的链接当然也可以:D) 可以接受框架,轴,网格线等。 6乘5 15乘30

7
看他们像多米诺骨牌一样倒下
您住在一个80字符宽的终端中。您很无聊,所以决定玩多米诺骨牌。不,不是像Scrabble这样的无聊类型,它是一种有趣的类型,您花一个小时设置它们,以观察它们在一秒钟内掉落。 在终端中,多米诺骨牌如下所示: | upright domino \ left-tilted domino / right-tilted domino __ fallen domino 众所周知,如果倾斜的多米诺骨牌碰到一个直立的多米诺骨牌,那么第二个多米诺骨牌也会倾斜。唯一的例外是两个倾斜的多米诺骨牌碰到它: |\ --&gt; \\ /| --&gt; // /|\ --&gt; /|\ 调整终端的重力常数,使此转换过程需要100毫秒。 如果倾斜的多米诺骨牌是由另一个多米诺骨牌或航站楼的墙壁支撑的,则旅程结束。 没有倾斜的多米诺骨牌 \||||____||||/__ /|\ /\ /|\ __\||||____||||/ (80个字符)将移动,因为两个最向外倾斜的多米诺骨牌由终端墙支撑,而所有其他倾斜的多米诺骨牌均由其他多米诺骨牌支撑。 但是,如果倾斜方向上的空间为空,则多米诺骨牌会掉落: | \\ --&gt; |__\ // | --&gt; /__| 终奌站。引力常数。你明白了…… 最终,左边有一点风,所以右倾斜的多米诺骨牌下降得比左倾斜的多米诺骨牌快: |/ \| --&gt; |__\| 任务 编写一个程序/函数,以显示在终端中播放多米诺骨牌的动画。 …

4
ASCII动画雪景
编写最短的程序,将任何ASCII艺术作品转换成动画的雪景,然后从下雪开始形成雪景(非高尔夫JavaScript示例最后更新于2011-12-19)。 输入规范:您的程序必须接受空格,星号和换行符的任意组合。输入最多包含23行,每行80个字符。将没有空行,但行可能仅包含空格。仅包含一个尾随的换行符,必须将其忽略。 输出:为您的操作系统的文本控制台或终端仿真器输出ASCII字符(空格,星号)和控制代码(回车,换行符,ANSI转义代码等),直到用户手动终止程序为止。如果操作系统允许该设置,则可以假定终端窗口为80x24个字符。 规则: 动画必须流畅且快速(首选15 fps)。 雪密度必须在5%到15%之间。 每秒最多滚动不超过一个屏幕的雪。(这意味着在任何一秒钟的时间内最多只能添加24行新雪。) 进入屏幕顶部时,雪花不得显示任何明显的图案;它必须看起来是随机的。 该程序启动时必须尽快将屏幕上的所有行都积雪。屏幕的各个行的初始填充对于查看者而言不应是显而易见的。 输入ASCII文字的左下角必须位于屏幕的左下角(图1进行了进一步说明)。 ASCII图形内部或下方的区域不得永久性地加星号。但是,星号可以(但不是必须)滚动通过该区域。 除输入内容外,雪不得堆积在屏幕底部或现有雪的顶部。 下部空间必须在上部空间之前填充,因为相反的填充空间使圣诞树动画看起来与原始代码的输出完全不同。(添加2011-12-20) 节日快乐! 图1:80x24屏幕的标记区域 ---------------------------New snow added on this line-------------------------- | | ----------------------------------------------------------+ | **** | | Snow MUST fall Snow MAY fall ----------------&gt; **** | | through this through these **** **** | Snow MUST fall | …

8
创建剪刀动画!
尝试创建一个简单的ASCII美工剪刀动画! 挑战 所有输入将是-31至31的整数。 输出将是动画(要在某处输出,只要替换上一帧即可。允许使用GIF。),动画间隔为(大约)四分之一秒。 如果输入(n)为正: 动画应以开头8&lt;,也就是打开剪刀。 下一个帧是8=。这显示了剪刀的“切割”。 在剪刀后面添加破折号(剪切标记),动画重复进行直到出现n破折号。 如果输入为负: 剪刀开始张开并朝向左侧(例如:),前方&gt;8带有n空格。 剪刀合上并保持面向左(=8)。 随着空间的去除,剪刀重新打开,并且在剪刀后面添加了破折号。 如果输入为零: 仅输出剪刀的开合,为10帧。只要是一致的,它们就可以朝向任何一个方向。 这是代码高尔夫球,因此以字节为单位的最短提交胜出。(即使您的参赛作品显然由于某种新颖的“高尔夫语言”而无法获胜,我们仍然希望看到它。) 只要错误消息本身不干扰动画,就允许出现错误消息。 输入和输出对示例: (为了清楚起见,我将帧分开,但是每帧之间应该大约有0.25秒) Input: 1 Output: 8&lt; 8= -8&lt; Input: 2 Output: 8&lt; 8= -8&lt; -8= --8&lt; Input: 5 Output: 8&lt; 8= -8&lt; -8= --8&lt; --8= ---8&lt; ---8= ----8&lt; ----8= -----8&lt; Input: 0 Output: 8&lt; …

3
土豆去皮
这是土豆: @@ @@@@ @@@@@@ @@@@@@ @@@@ @@ 更一般而言,将大小为N的马铃薯定义为以下形状: 如果N是偶数,则它是2个居中@符号,然后是4个居中@符号,然后是6个居中@符号,一直到N个居中@符号;然后,N为中心的@符号,后面是N-2为中心@的符号中,所有的方式下降到2。 如果N是奇数,在如上述描述的相同的方式产生一个大小为N马铃薯,但我们开始用1个@符号,而不是2 。 从右上角开始将土豆去皮@,然后按逆时针方向移动每个步骤一个标志。例如,去皮3号土豆看起来像这样: @ @@@ @@@ @ ​ @@@ @@@ @ ​ @@ @@@ @ ​ @@ @@ @ ​ @@ @@ ​ ​ @@ @ ​ ​ @ @ ​ ​ ​ @ ​ 挑战 编写一个程序,给定一个整数输入,该程序将显示削皮该尺寸土豆的所有步骤。 允许尾随空白/换行符。 计分 这是代码高尔夫球;以字节为单位的最短代码为准。 样本测试用例 …

24
围绕画布的8位弹跳球
受《 Commodore 64用户指南》中此清单的启发: 10 PRINT "{CLR/HOME}" 20 POKE 53280,7 : POKE 53281,13 30 X = 1 : Y = 1 40 DX = 1 : DY = 1 50 POKE 1024 + X + 40 * Y, 81 60 FOR T = 1 TO 10 : NEXT 70 POKE 1024 …

8
反向插入排序
目的 根据“ 插入排序”对列表进行排序的动作,生成原始的加扰列表。原始列表将包含从0到N-1(包括)的所有数字,其中N输入的大小。 输入项 一个包含对列表进行排序的必要动作的列表。每个值代表由原始数字(加扰的数字)移位到其右位置的插槽数量,请记住,此过程是从左到右。输入列表 中(0索引)位置的值i将介于0和之间i。 您不需要处理无效的输入,在这种情况下,任何行为都是可以接受的(崩溃,无限循环等)。 输出量 混乱的名单 逐步生成动作 Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

2
实现Boids算法
介绍 本类鸟群算法是自发行为一组在一个相对简单的演示。正如其创建者Craig Reynolds所述,它具有三个主要规则: 基本的植绒模型由三个简单的转向行为组成,这些行为描述了单个波德人如何根据其附近的植群的位置和速度进行操纵: 分隔:避免拥挤当地羊群。 对齐:对当地flockmates的平均航向转向。 凝聚力:转向向当地flockmates的平均位置移动。 每个辫子都可以直接访问整个场景的几何描述,但是植绒要求它仅对自身周围某个特定区域内的植绒动物做出反应。邻域的特征是距离(从主体的中心开始测量)和角度(从主体的飞行方向开始测量)。该本地社区之外的队友将被忽略。可以将邻域视为感知受限的模型(例如在浑浊的水中的鱼),但将其视为定义了一群人影响波伊德转向的区域可能更正确。 我在解释事物时并不完美,因此我强烈建议您查看原始资料。他的网站上还有一些超级有用的图片。 挑战 给定主体(模拟实体)的数量和帧的数量,输出模拟的动画。 Boid应该呈现为红色圆圈,并在圆圈内部显示一条线,指示其标题,这是Boid指向的方向: 每个波蒂的角度(如雷诺所描述的)应为整300度。(不是360) 每个boid的起始航向和位置以及位置均应是均匀随机的(但要播种,以便仍能确定输出)。 如果boid的半径为1,则邻居的半径应为3。 伯德的数量从2到20不等。 帧数为1-5000 动画的播放时间至少应为每帧10毫秒,最长应为boid数量的1秒。(2个波西德=每帧最大2秒,3个波西德=每帧最大3秒,等等) 输出动画应至少为5个boid半径乘以5个boid半径,乘以boid数量的一半。因此,两个boid的最小大小将是10 boid半径乘以10 boid半径,三个boid的最小大小将是15 boid半径乘以15 boid半径,等等。 每个投标的半径必须至少为5个像素,最大为50个像素。 需要限制每个Boid的速度,以使其在一帧中的移动幅度不超过其半径的1/5。 需要确定输出,以便如果多次运行相同的输入将产生相同的输出。 如果辫子到达边界,则应回绕到另一侧。同样,每个投标附近的区域也应环绕边界。 算法规则 在这种情况下,每个Boid周围都有一个跨度为300度的扇形,以Boid的航向为中心。这个“邻居”中的任何其他小伙子都被认为是“邻居”,或(用雷诺兹的术语称)“队友”。 每个BOID都应调整其航向以避免碰撞,并保持一个BOID半径与其邻居的舒适距离。(这是算法的“分离”方面。一个波德半径可能会被绕过,但应该像橡皮筋一样,重新卡入到位。) 每个boid都应另外调整其航向,使其更接近其附近其他boid的平均航向,只要它不干扰第一条规则即可。(这是算法的“对齐”方面) 只要不引起碰撞或不会显着干扰第二条规则,每个船长都应将自己转向其队友的平均位置。 在有关该主题的论文中,他解释如下: 为了建立模拟群,我们从支持几何飞行的布依德模型开始。我们添加了与避免碰撞的相反力量和加入羊群的冲动相对应的行为。简要地描述为规则,并按优先级从高到低的顺序,导致模拟植绒的行为为: 避免碰撞:避免与附近的队友发生碰撞 速度匹配:尝试将速度与附近的队友匹配 羊群居中:尝试靠近附近的羊群 运动的更详细描述: Boids算法的标准实现通常会对每个规则进行计算,然后将其合并在一起。 对于第一个规则,Boid会遍历其邻域内的相邻Boid列表,并且如果其自身与邻居之间的距离小于某个值,则将Boid推离其邻居的矢量应用于Boid的航向。 对于第二条规则,Boid计算其邻居的平均航向,并将当前航向与平均航向之间的差值的一小部分(在此挑战中,我们将使用1/10)添加到当前航向。 对于第三条规则(也是最后一条规则),该boid将其邻居的位置平均,然后计算指向该位置的向量。此向量乘以比规则2所用的数字还要小的数字(对于此挑战,将使用1/50)并将其应用于航向。 然后将标本朝其方向移动 这是Boids算法的有用伪代码实现。 输入和输出示例 输入: 5、190(5个辫子,190帧) 输出: 获奖标准 这是代码高尔夫球,因此以字节为单位的最小解决方案获胜。

28
计算逆模量
任务: 输出for的值x,其中a mod x = b有两个给定值a,b。 假设条件 a并且b将始终为正整数 永远不会有解决方案 x 如果存在多个解决方案,请至少输出其中之一。 如果没有任何解决方案,则不输出任何内容或表明不存在任何解决方案。 允许内置(不像其他数学方法那样有趣) 输出始终是整数 例子 A, B &gt;&gt; POSSIBLE OUTPUTS 5, 2 &gt;&gt; 3 9, 4 &gt;&gt; 5 8, 2 &gt;&gt; 3, 6 6, 6 &gt;&gt; 7, (ANY NUMBER &gt; 6) 8, 7 &gt;&gt; NO SOLUTION 2, 4 &gt;&gt; NO …
18 code-golf  math  number-theory  code-golf  number  integer  code-golf  string  code-golf  music  code-golf  arithmetic  array-manipulation  decision-problem  code-golf  math  rational-numbers  code-golf  code-golf  graphical-output  hardware  code-golf  math  number  code-golf  string  parsing  natural-language  code-golf  tips  brain-flak  code-golf  graph-theory  code-golf  number  polynomials  king-of-the-hill  code-golf  ascii-art  kolmogorov-complexity  animation  king-of-the-hill  code-golf  tips  code-golf  ascii-art  code-golf  string  array-manipulation  data-structures  code-golf  math  number  code-golf  string  base-conversion  binary  code-golf  decision-problem  graph-theory  code-golf  math  polynomials  code-golf  kolmogorov-complexity  physics  code-golf  sequence  number-theory  code-golf  math  integer-partitions  code-golf  array-manipulation  random  permutations  code-golf  string  decision-problem 

11
原始太空侵略者(你能把它弄伤吗?)
原始太空侵略者 这是一个图形输出挑战,任务是提供每种语言最短的代码。 任务 您的代码应允许用户在屏幕/窗口周围移动以下外星人。 您的代码可以简单地从本地文件加载。可以随意将其转换为另一种标准图像格式,甚至可以修复注释中指出的图像中的小像素错误。 背景应为白色,并且窗口/屏幕必须至少为400像素乘400像素。如果您的语言不支持如此大的窗口/屏幕,则使用不超过200 x 200的最大尺寸。 要在屏幕上移动外星人,代码应使用标准键盘上的箭头键支持上/下/左/右。 您的代码应为完整程序。 限制/约束 外星人应该在边界停留。它还应以均匀的速度平稳移动,没有可见的闪烁或卡顿现象,并且至少应显示24fps。从屏幕/窗口的一侧到另一侧大约需要2到5秒。 语言和图书馆 您可以使用自己喜欢的任何语言或库(不是针对此挑战而设计的)。但是,如果可能的话,我希望能够测试您的代码,因此,如果您可以提供有关如何在Ubuntu中运行代码的明确说明,将不胜感激。 目录 这篇文章底部的Stack Snippet会根据答案a)生成目录,a)作为每种语言最短解决方案的列表,b)作为整体排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 ## Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以将旧分数保留在标题中,方法是将它们打掉。例如: ## Ruby, &lt;s&gt;104&lt;/s&gt; &lt;s&gt;101&lt;/s&gt; 96 bytes 如果您想在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: ## Perl, 43 + 2 (-p flag) = 45 bytes 您还可以将语言名称设置为链接,然后该链接将显示在代码段中: ## [&gt;&lt;&gt;](http://esolangs.org/wiki/Fish), 121 bytes 显示代码段 &lt;style&gt;body { text-align: …

25
一个简单的模式
输入: 您选择的输入格式中的两位数字(我们称它们为m和n)和两个字符(我们称其为a和b)。 输出: 对于演练,请假装m=2, n=5, a='a', b='b'。 您的输出将是根据四个输入构建的字符串。让我们result用value 调用字符串""。首先,连击a到result m时间,所以串连a到result 2倍。result现在等于aa。其次,连击b到result m时间,所以串连b到result 2倍。result现在等于aabb。最后,如果结果已经比更长n,请截断result它,使其具有length n。否则,继续交替使用m的长度运行a,并b直到result有长度n。最终result是aabba,它有长度5。 测试用例: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = 4, n …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

1
修剪矩形草坪
草坪被定义为一个矩形区域,其中一个字符被两层可见空白包围。这意味着上方有两行,下方有两行,并且左侧有两个空格填充(右侧具有可见的空格,因此您无需将其包括在内)。 ||||| ||||| ||||| 修剪过的草坪具有类似的结构,除了主要角色是第一个角色的简化版本。 ..... ..... ..... 割草机是两个不同的角色,与两个草坪角色不同。这是一个例子,=作为割草机的后面和o前面: =o 割草机将在草坪上垂直移动,也可以在草坪的前面旋转。在动画中的某些时候,上面的割草机可能看起来像下面的任何割草机: =o o= o = = o 割草机可以在下面的草坪上的以下任何位置上启动。割草机o将顺时针绕草坪行驶。割草机0将逆时针绕草坪行驶。 = = 0 o =o|||||0= ||||| =0|||||o= o 0 = = 动画从第二个0开始。割草机每秒钟向前移动一个空间,并在其前面割草。当割草机腾出一个点时,它似乎被割断了。当割草机的前部到达生产线上的最后一个未切割的物品时(仍然有未割的草),割草机的后部旋转一次,以继续当前的割草(基于原始位置顺时针/逆时针停留)当割草机完成后,它继续笔直(修剪已经割好的草),直到完全离开草坪。 从左上角开始有割草机,这显示了5x3草坪的基本过程: Second 0 Second 1 Second 2 Second 3 Second 4 Second 5 Second 6 Second 7 Second 8 Second …

8
可视化欧几里得算法
欧几里得算法是用于计算两个正整数的最大公约数(GCD)的广为人知的算法。 算法 为解决这一挑战,算法描述如下: 将两个输入显示为某个字符的相邻行, 例如的输入3,4可以由相邻行000和0000 将length(short_line)较长行中的第一个字符转换为另一个字符,- 现在说看起来像000和---0 删除length(short_line)较长行中的第一个字符。 现在000,0 重复步骤2和3,直到两个具有相等的长度,使用较短和较长的线在每次迭代之后,例如 000,0 -00,0 00,0 -0,0 0,0 您可以选择是在此处停止还是继续迭代,然后将其中一行转换为空行。 这些步骤中的每个步骤之间应间隔0.3秒至1.5秒。 挑战 编写一个程序,给定两个自然数作为输入,它会创建一个输出,该输出看起来与上述算法的输出完全相同。您可以使用其他非空白打印的ASCII字符比0和-,但要一致,仅使用两个字符。如果输出(包括时序)与上述算法产生的输出完全相同,您也可以使用其他算法。 例子 这是input的示例24,35,它们是互质数,因此它们的GCD为1。 这是带有16,42GCD 2的input的示例。 规则 这是一个代码高尔夫球,因此最短字节获胜 适用标准漏洞 您可以假设输入为正十进制整数 除非您使用sed,Retina,///等,否则您可以使用一元 澄清说明 代表数字的线需要保持其原始顺序,即,在所有后续帧中,第一个显示的“框架”的第一和第二行分别必须是第一和第二行。 算法结束后,不应再出现其他可见实体。但是,这也意味着如果确保最后一个“帧”显示的时间至少与消隐之前所有其他帧的显示时间相同,则可以将行消隐。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.