タグ付けされた質問 「animation」

これらの課題のコードは、何らかの形のアニメーション出力を作成します

9
<(“ <)バードダンサー(>”)>
あなたの鳥は何らかの運動のためにかゆみを覚えており、常に静的な位置で立ち往生するのにうんざりしています。ランダムに踊るアスキー鳥を表示するプログラムを作成し、ダンスの動きに応じて100ms * nまたは200ms * nごとに更新します。鳥は常にダンスの動きから始まります&lt;(")&gt;。 プログラムは、スリープ間隔に(n &gt;= 0 &amp;&amp; n &lt;= 50)を掛ける数値である1つの入力を受け入れる必要があります。 100ms移動 ^(")v v(")^ ^(")^ v(")v 200ms移動 (&gt;")&gt; &lt;(")&gt; &lt;("&lt;) 追加の詳細 ランダム性は均一である必要はありませんが、各ダンスの動きは発生する合理的なチャンスを持っている必要があります(少なくとも60分の1は公平に思えます。同じ動きが連続して2回発生しても問題ありません) 複数の鳥ではなく、一度に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または同様のものへのリンクももちろんOKです:D) フレーム、軸、グリッド線などが受け入れられます。 6行5列 15行30列

7
ドミノのように落ちる
あなたは80文字幅の端末内に住んでいます。あなたは退屈しているので、ドミノをプレイすることにします。いいえ、Scrabbleのように見える退屈な種類ではなく、1時間をかけてそれらを見るためにそれらを設定する楽しい種類です。 ターミナルでは、ドミノは次のようになります。 | upright domino \ left-tilted domino / right-tilted domino __ fallen domino ご存知のように、傾斜したドミノが直立したドミノに触れると、2番目のドミノも傾斜します。唯一の例外は、2つの傾斜したドミノがそれに触れる場合です。 |\ --&gt; \\ /| --&gt; // /|\ --&gt; /|\ この遷移に100ミリ秒かかるように、端末の重力定数を調整します。 傾斜したドミノが別のドミノまたはターミナルの壁に支えられている場合、その旅は終了します。 傾斜ドミノはありません \||||____||||/__ /|\ /\ /|\ __\||||____||||/ (80文字)が移動します。これは、最も外側に傾いた2つのドミノがターミナルの壁でサポートされ、他のすべてが他のドミノでサポートされているためです。 ただし、傾斜方向のスペースが空の場合、ドミノは落下します。 | \\ --&gt; |__\ // | --&gt; /__| ターミナル。重力定数。あなたはポイントを得る... 最後に、左からわずかな風が吹いているので、右に傾いたドミノは左に傾いたドミノよりも速く落下します。 |/ \| --&gt; |__\| 仕事 ターミナルでドミノをプレイするアニメーションを表示するプログラム/関数を作成します。 …

4
ASCIIアニメーション雪景色
ASCIIアートのあらゆる部分を、雪が降ってから形成され始めるアニメーションの雪景色に変える最短のプログラムを作成します(ゴルフ以外のJavaScriptの例は、 2011-12-19に最終更新されました)。 入力仕様:プログラムは、スペース、アスタリスク、および改行の任意の組み合わせを受け入れる必要があります。入力には、最大23行と1行あたり80文字が含まれます。空行はありませんが、行は空白のみで構成されます。単一の末尾の改行が含まれるため、無視する必要があります。 出力:ユーザーが手動でプログラムを終了するまで、オペレーティングシステムのテキストコンソールまたはターミナルエミュレーターのASCII文字(スペース、アスタリスク)および制御コード(キャリッジリターン、ラインフィード、ANSIエスケープコードなど)を出力します。オペレーティングシステムがその設定を許可している場合、ターミナルウィンドウは80x24文字であると想定できます。 ルール: アニメーションは滑らかで高速でなければなりません(15 fpsを推奨)。 雪の密度は5〜15%でなければなりません。 1秒間にスクロールできる雪の画面は1つだけです。(つまり、1秒間に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です。 出力は、アニメーション(1つ前のフレームが置き換えられる限り、どこかに出力されます。GIFが許可されます)で、1/4秒(約)で区切られます。 入力(n)が正の場合: アニメーションは8&lt;、オープンハサミで始まる必要があります。 次のフレームは8=です。これは、ハサミが「切断」していることを示しています。 はさみの後ろにダッシュ(カットマーク)が追加され、nダッシュが現れるまでアニメーションが繰り返されます。 入力が負の場合: :ハサミは(このようなオープン起動し、左の方を向く&gt;8と、)nの前にスペース。 はさみは閉じて、左に向けたままです(=8)。 スペースが削除されると、ハサミが再び開き、ハサミの後ろにダッシュが追加されます。 入力がゼロの場合: 10フレームの開閉はさみだけを出力します。一貫している限り、どちらの方向を向いていてもかまいません。 これはcode-golfであるため、バイト単位の最短の送信が優先されます。(もしあなたのエントリーが何らかの新しい「ゴルフ言語」のせいで明らかに勝てない場合でも、私たちはそれを見たいと思っています。) エラーメッセージ自体がアニメーションに干渉しない限り、エラーメッセージは許可されます。 入力と出力のペアの例: (わかりやすくするためにフレームを分離しましたが、各フレームの間に約.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ポテトは上記と同じ方法で生成されますが@、2個ではなく1個の記号で始まります。。 ジャガイモの皮をむくには、右上隅から開始@し、反時計回りに1ステップずつ標識を外します。たとえば、サイズ3のジャガイモの皮は次のようになります。 @ @@@ @@@ @ ​ @@@ @@@ @ ​ @@ @@@ @ ​ @@ @@ @ ​ @@ @@ ​ ​ @@ @ ​ ​ @ @ ​ ​ ​ @ ​ チャレンジ 整数入力が与えられると、そのサイズのジャガイモの皮をむくすべてのステップを表示するプログラムを書きます。 末尾の空白/改行は許可されます。 得点 これはcode-golfです。バイト単位の最短コードが優先されます。 サンプルテストケース …


8
逆挿入ソート
目的 挿入ソートの動きから、元のスクランブルリストを生成しますするします。元のリストからすべての数字を持っているだろう0にN-1(包括的)N入力の大きさです。 入力 リストをソートするために必要な移動を含むリスト。各値は、元の(スクランブルされた)番号によって正しい位置に移動するスロットの量を表します。このプロセスは左から右であることに注意してください。入力リストの (0からインデックス付けされた)位置の値は、両端の値を含みます。 無効な入力を処理する必要はありません。この場合、どのような動作も許容されます(クラッシュ、無限ループなど)。i0i 出力 スクランブルリスト 動きを生成するためのステップバイステップ 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 is …
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アルゴリズムは、グループ内の緊急行動の比較的簡単なデモです。作成者のクレイグ・レイノルズが説明するように、3つの主要なルールがあります。 基本的な植毛モデルは、個々のボイドが近くの植生仲間の位置と速度に基づいてどのように操作するかを記述する3つの単純なステアリング動作で構成されます。 分離:地元の群れが混雑しないように操縦します。 アライメント:地元の群れの平均的な方向に向かってください。 結束:地元の群れ仲間の平均的な位置に向かって移動するように操縦します。 各boidは、シーン全体の幾何学的記述に直接アクセスできますが、群れを作るには、周囲の特定の小さな近傍内の群れだけに反応する必要があります。近傍は、ボイドの中心から測定された距離とボイドの飛行方向から測定された角度によって特徴付けられます。この近隣地域の外の群れは無視されます。近隣は、限られた知覚のモデルと考えることができます(濁った水中の魚など)が、群れ仲間がボイドのステアリングに影響を与える領域を定義するものと考える方がおそらく正しいでしょう。 私は物事を説明するときに完璧ではないので、ソースをチェックアウトすることを強くお勧めします。また、彼のサイトには非常に有益な写真がいくつかあります。 チャレンジ ボイド(シミュレートされたエンティティ)の数とフレームの数を指定して、シミュレーションのアニメーションを出力します。 ボイドは赤い円としてレンダリングされる必要があり、円の内側の線はヘディングを示します。これは、ボイドが指している方向です。 各ボイドの角度(レイノルズによる説明)は、完全な300度である必要があります。(360ではない) 各boidの開始見出しと位置は、位置と同様に、ランダムに(ただし、シードされているため、出力はまだ確定されている)必要があります。 ボイドの半径が1の場合、近傍の半径は3でなければなりません。 boidの数は2〜20の範囲です。 フレームの数は1〜5000のいずれかになります アニメーションは、フレームごとに最小10ミリ秒、最大1秒でボイドの数で再生する必要があります。(2ボイド=フレームあたり最大2秒、3ボイド=フレームあたり最大3秒など) 出力アニメーションは、少なくとも5ボイド半径x 5ボイド半径、半分のボイド数の倍数である必要があります。したがって、2ボイドの最小サイズは10ボイド半径x 10ボイド半径であり、3ボイドの最小サイズは15ボイド半径x 15ボイド半径などです。 各boidの半径は、最小で5ピクセル、最大で50ピクセルでなければなりません。 各boidの速度は、1フレームで半径の1/5を超えて移動しないように制限する必要があります。 出力は確定的である必要があるため、同じ入力が複数回実行された場合に同じ出力を生成します。 ボイドが境界に達すると、反対側に戻ります。同様に、各boidの周囲も境界を囲む必要があります。 アルゴリズムの規則 この場合、各Boidの周囲には、Boidの見出しを中心とした300度に及ぶセクターがあります。この「近傍」の他のboidは、「近傍」、または(レイノルズの用語を使用すると)「群れ」と見なされます。 各ボイドは、衝突を回避し、1つのボイド半径と隣接するボイドの快適な距離を維持するために、見出しを調整する必要があります。(これはアルゴリズムの「分離」の側面です。1つの半径をバイパスすることもできますが、ゴムバンドのように、元の位置に戻ります。) 各ボイドは、最初のルールに干渉しない限り、さらに他のボイドの平均ヘディングに近づくように、ヘディングを調整する必要があります。(これはアルゴリズムの「アライメント」の側面です) 衝突が発生しないか、2番目のルールを大幅に妨害しない限り、各ボイドは群れの平均位置に向かって回転します。 この件に関する彼の論文で、彼はこれを次のように説明しています。 シミュレートされた群れを構築するには、幾何学的飛行をサポートするボイドモデルから始めます。衝突回避の反対の力と群れに参加する衝動に対応する行動を追加します。ルールとして簡単に述べますが、優先順位の高い順に、群れのシミュレーションにつながる動作は次のとおりです。 衝突回避:近くの群れとの衝突を回避 速度マッチング:速度を近くの群れと一致させようとします 群れの中心化:近くの群れの近くにとどまることを試みる 動きのより詳細な説明: Boidsアルゴリズムの標準実装では、通常、各ルールの計算を行い、それを一緒にマージします。 最初のルールでは、boidは近傍内の隣接boidのリストを通過し、それ自体と近傍との距離が特定の値よりも小さい場合、boidを隣接から遠ざけるベクトルがboidの見出しに適用されます。 2番目のルールでは、ボイドはその隣の平均ヘディングを計算し、現在のヘディングと平均ヘディングの差のわずかな部分(このチャレンジでは1/10を使用します)を現在のヘディングに追加します。 3番目の最後のルールでは、boidはその近傍の位置を平均し、この位置を指すベクトルを計算します。このベクトルは、ルール2に使用されたものよりもさらに小さい数で乗算され(このチャレンジでは、1/50が使用されます)、見出しに適用されます。 次に、ボイドは見出しの方向に移動します ここ Boidsアルゴリズムの有用な擬似コードの実装があります。 入力と出力の例 入力: 5、190(5ボイド、190フレーム) 出力: 勝利基準 これはcode-golfであるため、バイト単位の最小のソリューションが優先されます。

28
逆モジュラスを計算する
タスク: の値を出力します。xここでa mod x = b、2つの値がありますa,b。 仮定 aそして、b常に正の整数になります 常に解決策があるとは限りません x 複数のソリューションが存在する場合は、少なくとも1つを出力します。 解決策がない場合は、何も出力しないか、解決策が存在しないという兆候を出力します。 組み込みが許可されています(他の数学的アプローチほど面白くありません) 出力は常に整数です 例 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ピクセルx 400ピクセルでなければなりません。ご使用の言語がそのサイズのウィンドウ/画面をサポートしていない場合は、200 x 200以上である限りサポートする最大サイズを使用してください。 画面上でエイリアンを移動するには、標準キーボードの矢印キーを使用して、コードで上/下/左/右をサポートする必要があります。 あなたのコードは完全なプログラムでなければなりません。 制限/制約 外国人は国境で停止する必要があります。また、目に見えるちらつきやst音のない均一な速度でスムーズに移動し、少なくとも24fpsで表示される必要があります。画面/ウィンドウの一方の側からもう一方の側に移動するには、2〜5秒かかります。 言語とライブラリ 好きな言語やライブラリを使用できます(このチャレンジ用に設計されたものではありません)。ただし、可能な場合はコードをテストできるようにしたいので、Ubuntuでコードを実行する方法について明確な指示を提供できれば非常にありがたいです。 カタログ この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, &lt;s&gt;104&lt;/s&gt; &lt;s&gt;101&lt;/s&gt; 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 ## Perl, 43 + 2 (-p flag) = 45 bytes 言語名をリンクにして、スニペットに表示することもできます。 ## [&gt;&lt;&gt;](http://esolangs.org/wiki/Fish), 121 bytes コードスニペットを表示 &lt;style&gt;body { text-align: …

25
シンプルなパターン
入力: 選択した入力形式での2つの1桁(それらをm、と呼んでみましょうn)と2つの文字(aとと呼んでみましょうb)。 出力: チュートリアルでは、のふりをしm=2, n=5, a='a', b='b'ます。 出力は、4つの入力から作成された文字列になります。resultvalueでstringを呼び出しましょう""。まず、CONCATENATE aへのresult m回なので、CONCATENATE aへresult 2回。resultに等しくなりましたaa。第二に、CONCATENATE bへのresult m回なので、CONCATENATE bへresult 2回。resultに等しくなりましたaabb。最後に、resultがすでにより長い場合n、resultlengthを持つように切り捨てnます。それ以外の場合は、のm長さの実行aとが長さになるbまで交互に続けます。最後は、長さです。resultnresultaabba5 テストケース: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = …
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
長方形の芝生を刈る
芝生は、1つの文字が2層の表示可能な空白で囲まれた長方形のフィールドとして定義されます。これは、上の2行と下の2行、および左側の2つのスペースのパディングを意味します(右側には目に見える空白があるので、含める必要はありません)。 ||||| ||||| ||||| 刈られた芝生も同様の構造です。ただし、メインキャラクターは最初のキャラクターの短縮バージョンです。 ..... ..... ..... 芝刈り機は、2つの芝生のキャラクターとは異なる2つの異なるキャラクターです。=芝刈り機の背面およびo前面としての例を次に示します。 =o 芝刈り機は芝生の周りを垂直に動き、正面で回転することもできます。上記の芝刈り機は、アニメーションのある時点で以下のいずれかになります。 =o o= o = = o 芝刈り機は、下の芝生にある下の位置のセットで開始できます。芝刈り機はo、芝生を時計回りに回ります。芝刈り機0は芝生を反時計回りに回ります。 = = 0 o =o|||||0= ||||| =0|||||o= o 0 = = アニメーションは0秒から始まります。毎秒、芝刈り機は1スペース先に進み、その前で草を刈ります。芝刈り機がスポットを空けると、刈り取られたように見えます。芝刈り機の前部がライン上の最後の未切断アイテムに到達すると(そしてまだ刈り取られていない草がある場合)、芝刈り機の後部は1回回転して現在の刈り取りを続けます(元の位置に基づいて時計回り/反時計回りに留まります)芝刈り機が終了すると、芝生から完全に離れるまでまっすぐに(すでに刈った草を刈る)続けます。 左上から芝刈り機を開始すると、これは5x3の芝生の基本的な進行を示します。 Second 0 Second 1 Second 2 Second 3 Second 4 Second 5 Second 6 Second 7 Second 8 Second …

8
ユークリッドアルゴリズムを視覚化する
ユークリッドアルゴリズムは、2つの正の整数の最大公約数(GCD)を計算するための広く知られているアルゴリズムです。 アルゴリズム この課題のために、アルゴリズムは次のように説明されています。 2つの入力を特定の文字の隣接する行として表示します。 たとえば、の入力は3,4隣接する行で表すことができ000、0000 最初に電源を入れlength(short_line)、別の文字に長い行の文字を言う- 、今それがどのように見える000し、---0 length(short_line)長い行の最初の文字を削除します。 今000、0 2までの手順を繰り返し2と3は、各反復の後に短いと長い行を使用して、同じ長さを持って、例えば 000、0 -00、0 00、0 -0、0 0、0 ここで停止するか、反復を続行して、行の1つを空の行にするかを選択できます。 これらの各ステップは、0.3秒から1.5秒の間隔で区切る必要があります。 チャレンジ 2つの自然数を入力として与え、上記のアルゴリズムの出力とまったく同じように見える出力を作成するプログラムを作成します。以外の空白以外の印刷可能なASCII文字を使用できますが、一貫性が0あり-、2文字のみを使用します。タイミングを含む出力が上記のアルゴリズムで生成されるものとまったく同じであれば、代替アルゴリズムを使用することもできます。 例 これは、24,35GCDが1であるため互いに素であるinputの例です。 これは、16,42GCD 2を持つinputの例です。 ルール これはコードゴルフなので、最短バイトが勝ちます 標準的な抜け穴が適用されます 入力は正の10進整数であると想定できます sed、Retina、///などを使用している場合を除き、その場合は単項を使用できます 明確化 番号を表す線は元の順序のままである必要があります。つまり、最初に表示される「フレーム」の最初と2番目の行は、後続のすべてのフレームでそれぞれ最初と2番目の行である必要があります。 アルゴリズムの終了後、追加の可視エンティティは表示されません。ただし、これは、最後の「フレーム」が他のすべてのフレームと同じ時間だけ表示されていることを確認してから空白にする前に、行を空白にしてもよいことを意味します。

4
2Dトラフィックジャム
Biham-ミドルトン・レヴァインのトラフィックモデルは、モデルがトラフィックを簡素化自己組織化セルオートマトンです。 ランダムな開始位置を持つ格子上の点で表される多数の車で構成されます。各車は2つのタイプのいずれかです。右(この記事では赤で表示)。2種類の車が交互に移動します。各ターン中、対応するタイプのすべての車は、別の車によってブロックされていない場合、1ステップ進みます。 あなたの仕事は、このモデルをアニメーションとして視覚化することです。ここにいくつかの良いデモンストレーションがあります。 入力 密度を表す0〜1の浮動小数点数、および表示されるグリッドの高さと幅を表す2つの整数。入力が有効であり、関数へのパラメーターまたはユーザー入力からの読み取りが両方とも問題ないと仮定します。 例:(0.38 144 89上の画像に対応) 出力 実行中のこのモデルのアニメーションを表示する、少なくとも80x80のグリッド。開始時に、グリッドはグリッドが入力密度に達するまでランダムに配置されます。入力密度は、赤と青の半分になります(つまり、密度にグリッドの正方形の総数を掛け、好きなように丸めます)。密度はこの値である必要があります。つまり、確率として各セルを密度で埋めることはできません。各ステップで、1種類の車が下または右に移動し、端を通過すると折り返します。移動する車のタイプは各ステップを交互に切り替えます。アニメーションを表示可能にするには、各ステップ間に少なくとも10ミリ秒が必要です。 ルール 車は、互いに区別でき、背景と区別でき、各車のタイプが同じ色または記号である限り、任意の色または記号を使用できます。 コンソールとグラフィック出力の両方が許可されています。コンソール出力の場合、印刷可能な記号は問題ありませんが、出力は文字のグリッドとしてなければなりません。 スクリーンショットまたはgifがない場合は、作成した出力の種類を指定してください。 シミュレーションは永久に実行する必要があります。 出力は少し複雑なので、質問がある場合はコメントしてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.