ランダムな色のピクセルを表示する


47

私はいつもランダムに色付けされたピクセルでいっぱいの画面が好きでした。彼らは見るのが面白く、それらを描くプログラムは見るのが楽しいです。

挑戦

画面またはグラフィカルウィンドウを色付きのピクセルで塗りつぶします。

ルール

  • あなたのプログラムは、ピッキングのにもチャンスが持っている必要がありますすべての色(すなわち範囲内#000000#FFFFFF)、またはお使いのシステム上に表示することができ、すべての色を。
  • プログラムは、手動で停止するまでランダムピクセルを表示し続ける必要があります(それ自体では終了できません)。
  • 出力に少なくとも40x40の「ピクセル」がある限り、ピクセルのサイズは任意です。
  • プログラムは、3分間実行した後、少なくとも1回は画面/ウィンドウのすべてのピクセルを置き換えることができる速度で実行する必要があります。
  • あなたのプログラムは真にランダムな色とポイントを選択して置き換える必要があります。ランダムに見えるだけではありません。pRNG以上を使用する必要があり、出力を毎回同じにすることはできません。
  • あなたのプログラムは、反復ごとにすべての色を選ぶ可能性が等しくなければなりません。
  • プログラムは一度に1つのピクセルのみを置き換える必要があります。
  • あなたのプログラムはインターネットもファイルシステムも使用できません(/dev/randomそして/dev/urandom除外されます)。

ランダムに停止すると、出力は次のようになります。

勝者

各言語の最短回答が勝ちです。楽しんで!


「真にランダム」とは、擬似ランダムはOK(Math.random()など)であると
仮定する-OldBunny2800

@ OldBunny2800It must use a pRNG or better
TheLethalCoder

プログラムはインターネットを使用できないため、コメントに残しておきます:babelia.libraryofbabel.info/slideshow.html
KSmarts

1
「3分間の制限」はセットアップ時間にも適用されますか?それとも、「プログラム」が始まったばかりなのでしょうか?Minecraftのレッドストーンソリューションがあるので、これはすぐに実行されますが、最初にセットアップするのに時間がかかります(40x40グリッドに各「ピクセル」を配置する必要があります)。
BradC

5
定義上、真のランダムは疑似ランダムを除外しますが、分布は定義しません。すべてのイベントが同じ確率で互いに独立している均一な PRNG を意味すると仮定します。
デニス

回答:


85

Minecraft 1.12 Redstoneコマンドブロック、4,355 2,872バイト

Minecraft screenshot with armor stands and map

(サイズは、保存された構造ブロックファイルのサイズによって決まります。)

これはYouTube完全な概要ですが、以下のコードの概要を説明します。

セットアップルーチン:

2 rows of command blocks for setup

これにより、Minecraftアーマースタンドの40x40グリッドが設定されます。Minecraftには変数をワールド座標に代入する方法ないため、アーマースタンドが必要です。そのため、回避策はこれらの装甲スタンドエンティティの場所参照することです

(impulse) summon armor_stand 2 ~ 1 {CustomName:"A"} /create named armor stand
(chain) fill -2 ~ -2 43 ~ 43 stone                  /create big stone square
(chain) fill -1 ~ -1 42 ~ 42 air                    /leave just a ring of stone
(chain) setblock -4 ~ -12 redstone_block            /kicks off next sequence

この名前のアーマースタンドは、基本的に、必要なすべてのアーマースタンドを配置するための「カーソル」です。最後のステップのレッドストーンブロックは、近くのブロック(コマンドブロックを含む)を「強化」するため、次のループを開始します。

(repeat) execute @e[name=A] ~ ~ ~ summon armor_stand ~-1 ~ ~   /create new armor stand 
(chain) tp @e[name=A] ~1 ~ ~                                   /move "cursor" one block
(chain) execute @e[name=A] ~ ~ ~ testforblock ~1 ~ ~ stone     /if at end of row,
(conditional) tp @e[name=A] ~-40 ~ ~1                          /go to start of next row
(chain) execute @e[name=A] ~ ~ ~ testforblock ~ ~ ~2 stone     /If at last row
(conditional) setblock ~6 ~ ~ air                              /stop looping
(conditional) kill @e[name=A]                                  /kill cursor

この時点で、グリッドは完成しています。

Completed armor stand grid

ランダムカラーセレクター

Color and Pixel Selector

この画像の中央にある紫色のリピーターは、次のコマンドを使用してランダムな色を選択します。

(repeat) execute @r[type=armor_stand,r=9] ~ ~ ~ setblock ~ ~-2 ~ redstone_block

「@r []」は魔法のソースであり、指定された条件に一致する世界のランダムなエンティティを選択します。この場合、9ブロックの半径内に鎧のスタンドが見つかり、ウールの色ごとに1つずつ、16個の鎧のスタンドを設定しました。選択した色の下に、レッドストーンブロックを配置します(両側の2つのコマンドブロックに電力を供給します)。

ランダムピクセルセレクター

選択したウールの色の下にレッドストーンブロックを配置すると、さらに2つのコマンドブロックがトリガーされます。

(impulse) execute @r[type=armor_stand] ~ ~ ~ setblock ~ ~3 ~ wool X
(impulse) setblock ~ ~ ~1 air

この最初の行では、同じ魔法の@rコマンドを使用して、マップ全体のアーマースタンドを選択し(半径制限なし、40x40グリッドを含む)、選択した色の羊毛を頭の上に配置します。Xは色を決定し、範囲は0から15です。2番目のコマンドは、レッドストーンブロックを削除して、再び使用できる状態にします。

紫色のリピーターブロックが5つあり、レッドストーンは1秒間に20回「ティック」で動作するので、1秒間に100ピクセルを配置します(一部の色の重なりを除く)。時間を計ったところ、通常、グリッド全体が約3分でカバーされました。

これは楽しかったです。Minecraftでも機能する可能性のある他の課題を探してみます。YouTubeのCommand Blockチュートリアルシリーズの lorgon111に感謝します。

編集:保存された構造のサイズを大幅に削減しました。現在は2,872バイトになっています

closer command blocks with visible void blocks

  1. 少し(3つすべての次元で)物事をスクーティングしたため、保存された領域の全体的なサイズを小さくすることができました。
  2. さまざまな色のウールを石に変えましたが、とにかく装飾的なものでした。
  3. グローストーンランプを取り外しました。
  4. すべての空気ブロックを無効ブロック(赤い四角)に変更しました。

保存した構造を新しい世界に引き込むことでテストしても、すべてが設計どおりに機能します。

編集2NBT構造ファイルへの読み取り専用Dropboxリンク

ウォークスルーは私のYouTubeビデオにありますが、手順は次のとおりです。

  1. Minecraft 1.12では、「Redstone Ready」プリセットを使用して新しいクリエイティブなスーパーフラットワールドを作成します。平和モードにします。
  2. ワールドが存在したら、\structures現在のワールド保存の下に作成した新しいフォルダーにNBTファイルをコピーします。
  3. 戻るゲームで、やる/give @p structure_block、と/tp @p -12, 56, -22始めるために適切な場所にジャンプします。
  4. 穴を掘って、構造ブロックを-12、55、-22に配置します。
  5. 構造ブロックを右クリックし、モードボタンをクリックして「ロード」に切り替えます。
  6. 「random_pixels」と入力し、「エンティティを含める」をオンにして、「ロード」をクリックします
  7. 構造ファイルが見つかると、アウトラインをプレビューします。もう一度右クリックして「ロード」をクリックし、構造を世界に持ち込みます。
  8. ボタンを押して、セットアップルーチンを実行します。
  9. 完了したら、スイッチを切り替えてウールのランダム化を実行します。

6
神聖ながらくた...あなたは実際にそれをやった。そして、それはあなたの最初の答えです、すごい!このサイトへようこそ、これは素晴らしいスタート方法です!
MD XF

2
@MDXFあなたの+10に加えて、私は+60を与えています
NoOneIsHere

2
@NoOneIsHereすべて右:Pしかし、あなたは答えを持っている場合、それは100でなければならないでしょう...
MD XF

2
ワールドファイルを提供する場合は、これを試してみます(別の答えを投稿するのではなく、ファイルを提供するだけ)
クリストファー

2
まあ、shortest answer in each language winsこれはMinecraftの最短答えです:Pは余分に15を持っている
MD XF

20

sh + ffmpeg、52バイト

ffplay -f rawvideo -s cif -pix_fmt rgb24 /dev/random

ffmpegはエソランとしてカウントされますか?:D

残念ながら、ffmpegのデフォルトはyuv420pであるため、pix_fmtが必要です。それは「可能性のあるすべてのピクセルカラーの等しい可能性を持たなければならない」要件に失敗します。便利なのcifは、「40x40」より少ないスペースを使用するかなり大きなビデオサイズへのショートカットです。

当然のことながら、gifsicleでこのgifを最適化してもまったく効果はありませんでした。4MiBです。


3
これは「一度に1つのピクセルのみを置き換える」のでしょうか?
スコットミルナー

1
技術的に?ただし、ffmpegは、フレーム全体がピクセルでいっぱいになるのを待ってから表示します。「一度に1ピクセルのみを交換する必要がある」を「可能性がある」と誤解しています。:/
ウナ

1
もちろん、gifsicleはgifにバイトを保存できませんでした。任意のデータを圧縮する方法はなく、ランダムピクセルはすべて無秩序に配置されます。つまり、それらをエンコードする最も効率的な方法は一度に1ピクセルです。Numberphile(私が思うに?)は「情報とは何か」に関するビデオを持っていて、意図的にYouTubeの圧縮を混乱させるためにランダムノイズをしました。VSauceにはビデオ圧縮に関するビデオもある時点でありましたが、それが何と呼ばれていたか忘れています。
Draco18s

2
@ Draco18s、それが非圧縮性であることに関するメモは、とにかくgifsicleを実行しようとすることで自分をからかっていました。
ウナ

2
Gifsicleは間違ったツールです。Precompは4 MBから3 MBにそれを下げます:)これは、GIFアルゴリズムがランダム性を圧縮する代わりに拡張し、Precompがこれを逆にするためです。
シュナーダー

17

POSIXのC、98 96 95 92バイト

-3 Tasに感謝

#define r rand()
f(){for(srand(time(0));printf("\e[%d;%dH\e[%d;4%dm ",r%40,r%40,r%2,r%8););}

これにより、16色(ダークグレー、赤、緑、青、オレンジ、シアン、紫、ライトグレー、黒、ピンク、ライトブルー、イエロー、ライトシアン、マゼンタ、白)から選択して、ターミナルに直接印刷します。

GPUが遅すぎる場合、画面全体が一度に更新されているように見えることに注意してください。実際にはピクセルごとに進んでいますが、Cは高速です。

colors

色をより明確にする代替ソリューション:

f(){for(srand(time(0));printf("\e[%d;%dH\e[%d;3%dm█",rand()%40,rand()%40,rand()%2,rand()%8););}

ピクセルごとに移動することの証明(代替プログラムのスクリーンショット):

3d!!!

うわー、ほぼ3次元に見えます...


;正しくコンパイルすることはできませんが、それ以外はうまく動作するようです!B
cleblanc

@cleblancああ、そうだ!からに切り替えた後に追加するのを忘れましwhilefor
MD XF

2
あなたは、おそらくによって数バイトを剃ることができ#define r rand()、その後、使用してr%40, r%40, r%2, r%8
タス

32ビットカラーを使用しないと、これは要件を満たしません。
-wberry

4
@wberry「プログラムには、すべての色(つまり、#000000〜#FFFFFFの範囲)、またはシステムで表示できるすべての色を選択する機会が必要です。」これらは、POSIX端末が表示できるすべての色です。
MD XF

13

JS + HTML 162 + 32(194) 124 + 13(137)バイト

たくさんのバイトを節約してくれたLukeと他のコメンターに感謝します。

r=n=>n*Math.random()|0
setInterval("b=c.getContext`2d`;b.fillStyle='#'+r(2**24).toString(16);b.fillRect(r(99),r(99),1,1)",0)
<canvas id=c>


2
-elementの<canvas id=c>デフォルトサイズはの「ビューポートサイズ」を超えてcanvasいる300 x 150 pxと思うので、実際には十分なはずです99 x 99 px。とにかく、素敵なソリューション。
ユーザー名をここに挿入します

1
@insertusernamehere、はい、ありがとう
タコ

1
ただし、現在Firefoxでは機能しません。Chromeで動作します
-ETHproductions

1
わかった、わかった、わかった。b = c.getContextを実行して2バイト節約します2d。(これをどのようにフォーマットするかはわかりませんが、「2d」がテンプレートリテラルである場合、括弧は必要ありません。)(以前の提案を削除します。)
リックヒッチコック

1
リックの提案とともに、使用withのすべてのインスタンスを取り除くために声明をb.r=n=>n*Math.random()|0 setInterval("with(c.getContext`2d`)fillStyle='#'+r(2**24).toString(16),fillRect(r(99),r(99),1,1)")
darrylyeo

11

MATL、28バイト

40tI3$l`3l2$r,40Yr]4$Y(t3YGT

MATL Online試しください。.5Y.このバージョンに0.5秒の一時停止()を追加しました。

enter image description here

説明

40       % Push the number literal 40 to the stack
t        % Duplicate
I        % Push the number 3 to the stack
3$l      % Create a 40 x 40 x 3 matrix of 1's (40 x 40 RGB image)
`        % Do...while loop
  3l1$r  % Generate 3 random numbers (RGB)
  ,      % Do twice loop
    40Yr % Generate two integers between 1 and 40. These will be the
  ]      % row and column of the pixel to replace
  4$Y(   % Replace the pixel with the random RGB value
  t      % Make a copy of the RGB image
  3YG    % Display the image
  T      % Push a literal TRUE to create an infinite loop

1
大好きです!----
MD XF

4
好奇心から、どのようにコード出力をgiffifyしましたか?
タコ

2
@Octopus LICEcapを使用しました。最近では、アニメーションGIF出力をオンラインコンパイラに組み込む予定です。
-Suever

この回答がどのように少ないコマンド/メソッドを使用して同様の結果を達成するかを見て、おそらくより低いスコアを達成するためにそれをMATLに変換できませんでしたか?
MD XF

私はすでに置き換えられたピクセルが再び置き換えられるのを見ました;)。
マジックタコUr

7

TI-BASIC(84 + C(S)Eのみ)、37 35バイト

:For(A,1,5!
:For(B,1,5!
:Pxl-On(A,B,randInt(10,24
:End
:End
:prgmC //"C" is the name of this program

TI-BASICのプログラム内にプログラムがネストされるたびに、親プログラムの「ブックマークを保持」するために15 KBのRAMが割り当てられるため、ハードウェアの制限により、最終的にクラッシュします。これは、無限のRAMを備えた「理論上の」計算機では問題なく実行できますが、実際の計算機で無期限に実行したい場合はWhile 1、追加の2バイトのループでラップできます。

:While 1
:...
:End

カラー画面(TI 84 + CEおよびCSE)を備えたTI-83ファミリー電卓は、15色をサポートします。にカラーコードがあり10ます24。これは、120 x 120(5!)の正方形のすべてのピクセルを循環し、それぞれにランダムな色を割り当てます。

結果:

enter image description here


イェー、もう一つの基本的な答え!念のため、これは永遠に実行されますか?
MD XF

@MDXFこれでできます!;-)。初めてその部分を見逃した。+5バイト。
スコットミルナー

100x100ピクセルをカバーする場合は、forループを0から開始できます。
kamoroso94

@ kamoroso94ああ、そうだね。5!120ピクセルが必要な場合にもできます。
スコットミルナー

2
@MDXF TI-BASICトークンベースです。すなわちFor(、1バイトであり、Pxl-On(1バイトであり、randInt(2バイト、などである
スコットミルナー

5

MATLAB、56バイト

x=rand(40,40,3);while imagesc(x),x(randi(4800))=rand;end

出力は次の画像のようになります。一度に1つの「ピクセル」が変更され、RGBカラーの1つだけが変更されます。

どうして?MATLABの色は、3Dマトリックス、R、G、Bの1つのレイヤーとして表されます。上記のコードは、反復ごとに1つのレイヤーのみを変更します。すべてのピクセルとすべてのレイヤーを変更できるため、少し待つと、すべての位置ですべての色が等しく可能になります。

pause(t)ループ内に追加して、t各画像間で数秒間停止します。

Ctrl+で停止する必要がありCます。

enter image description here


3
グラフィックスオブジェクトへのハンドルの巧妙な使用where
Suever

2
ルールが明確になりました- Your program must have an equal chance of picking all colors/points each iteration。あなたのプログラムはこれを実現していますか?
MD XF

5

Bash + coreutils、 59 56バイト

for((;;)){ printf "\e[48;5;`shuf -i 0-16777215 -n1`m ";}

\e[48;5;COLORm 背景色へのエスケープシーケンスです。

各「ピクセル」には、毎回[0..16777215]の範囲内になる可能性があります。


1
うわー、それは本当に良いアイデアです!+1
MD XF

あなたが使用する場合は、3つのバイトをオフに突き出すことができますjotfor((;;)){ printf "\e[48;5;`jot -r 1 0 16777215`m ";}
Moreaki

xargsのは、(なし-n 1の必要性、およびなしの場合)、それは短くなります|私はこのアイデアを盗み、45バイト(\ eは1つのエスケープ文字、およびSHUFあるにそれをダウンgolfed。codegolf.stackexchange.com/a/158142/7017必要に応じて削除できます(投稿するのではなく、コメントとして提案するだけかどうかはわかりません。私の目標は、驚くべき「テトリス」に対する驚くべき答えをいつか賞賛することです。人生のゲーム」チャレンジ&アンサー!codegolf.stackexchange.com/q/11880/7017を
オリビエデュラック

5

Javascript + HTML 118 + 13(131バイト)

r=_=>255*Math.random()|0;setInterval('x=c.getContext`2d`;x.fillRect(r(),r(),1,1,x.fillStyle=`rgb(${[r(),r(),r()]})`)')
<canvas id=c>

  • これにより、均等に分散されたRGBカラーが生成されます。あなたのような数字のように、適切なパディングなし六角色を使用することはできません#7有効な色ではありませんか#777#777777同じ色(2倍オッズ)です
  • キャンバス要素はデフォルトで300x150ですが、実際には255x255の正方形に描画しているため、キャンバスピクセルが外れているため、有効領域は255x150です。
  • Google Chromeでのみ動作します。

2
素晴らしい最初の投稿!サイトへようこそ!
MD XF

これは、赤、緑、青、白など、255に設定されたチャネルで色を表示する可能性があるとは思わない。代わりに256を掛ける必要があると思います。
kamoroso94

4

Excel VBA、131 102 85バイト

ヘルパー関数(下記参照)を使用して、ランダムに色付けされたセルの配列をA1:AN40activesheetオブジェクトの範囲に出力する匿名VBEイミディエイトウィンドウ関数。

注:8^864ビットバージョンのVBAではコンパイルされないため、このソリューションは32ビットのMS Excel(したがってOffice全体)のインストールに制限されます

Randomize:Cells.RowHeight=48:For Each c In[A1:AN40]:c.Interior.Color=(8^8-1)*Rnd:Next

サンプル出力

Randomized Cell Colors

前のバージョン

Randomize:Cells.ColumnWidth=2:For Each c In Range("A1:AN40"):c.Interior.Color=RGB(n,n,n):Next

ヘルパー機能

範囲[0,255]でランダムな整数を出力します

Function n
n=Int(255*Rnd)
End Function

3

C#の、369の 288 287バイト

namespace System.Drawing{class P{static void Main(){var g=Graphics.FromHwnd((IntPtr)0);var w=Windows.Forms.Screen.GetBounds(Point.Empty);for(var r=new Random();;)g.FillRectangle(new SolidBrush(Color.FromArgb(r.Next(256),r.Next(256),r.Next(256))),r.Next(w.Width),r.Next(w.Height),1,1);}}}

@CodyGrayのおかげで88バイトを節約しました。

画面へのハンドルとサイズを取得し、その上にピクセルをランダムに描画し始める完全なプログラム。これにより、実行時にグラフィックカードが停止する可能性があることに注意してください。また、画面またはコントロールがいつでも再描画することを決定した場合、ピクセルは失われ、再描画する必要があります。

注:実行中にウィンドウにフォーカスを維持するには、Alt + F4を押すか、閉じるボタンを押す必要があります。画面が見えない場合は、少し難しいです。

ScreenToGifを使用してこの動作を記録することはできませんでした。ピクセルが削除されるように再描画を強制し続けたためです。しかし、これは約10〜15秒後に実行されているスクリーンショットです。右上隅のギャップは、スクリーンショットを撮ったときと同じようにスクリーンが再描画を強制した場所です。

Full version example

フル/フォーマット済みバージョン:

namespace System.Drawing
{
    class P
    {
        static void Main()
        {
            var g = Graphics.FromHdc((IntPtr)0);
            var w = Windows.Forms.Screen.GetBounds(Point.Empty);

            for (var r = new Random();;)
                g.FillRectangle(new SolidBrush(Color.FromArgb(r.Next(256), r.Next(256), r.Next(256))),
                                r.Next(w.Width), r.Next(w.Height), 1, 1);
        }
    }
}

領域0〜40のみを使用する308 227 226バイトのバージョン:

namespace System.Drawing{class P{static void Main(){var g=Graphics.FromHdc((IntPtr)0);for(var r=new Random();;)g.FillRectangle(new SolidBrush(Color.FromArgb(r.Next(256),r.Next(256),r.Next(256))),r.Next(40),r.Next(40),1,1);}}}

これの出力例:

Small example output



Graphics.FromHwnd((IntPtr)0)動作し、P / Invokingよりもはるかに短くなりGetDCます。もちろん、あなたのコードはまだTasのようなものであり、狂ったようにリソースをリークします。そのため、ほんの少しの実行でマシンが停止してしまいます。
コーディグレー

@CodyGrayああ、漏れがあることは知っていますが、チャレンジ仕様の範囲内で動作するはずです。そしてGetDC戻らないIntPtr.Zeroように送信することにFromHdc動作しません。
TheLethalCoder

1
提案をより注意深く読んでください。:-)私はあなたが電話することを提案していないFromHdc、私はあなたが電話することを提案しているFromHwndGetDCウィンドウハンドルのDCを取得するために呼び出すとき、ウィンドウハンドルとしてNULLポインター(0)を渡すことに注意してください。
コーディグレー

@CodyGrayああ、そうですね、ありがとう!彼らは同様に命名されているので、あなたのコメントをもっと注意深く読むべきだった
...-TheLethalCoder

3

C#コンソール、233 220 189 188バイト

namespace System{using static Console;class P{static void Main(){for(var r=new Random();;){BackgroundColor=(ConsoleColor)r.Next(16);SetCursorPosition(r.Next(40),r.Next(40));Write(" ");}}}}

enter image description here

「すべて」(ウィンドウ)16コンソールの色を使用します。

usingディレクティブを介してC#でクラスをエイリアスできる「機能」に感謝します。

編集#1

  • いくつかのスペースを削除しました。

  • Random.Next()からゼロを削除しました

  • に行った namespace system{...}

編集#2

  • グリッドの最小サイズは40x40です

  • forループヘッダーでRandomを宣言して1バイト

  • publicMainメソッドから削除されました

編集#3

判明しusing C=Console;ているではないがある最高。using static Consoleクラスを「インポート」するVB.Netの方法によく似ています

私はあきらめます:TheLethalCoderはこれを実現させました


ウィンドウサイズを207バイトに適合させるための元のコード:

namespace System{using static Console;class P{static void Main(){for(var r=new Random();;){BackgroundColor=(ConsoleColor)r.Next(16);SetCursorPosition(r.Next(WindowWidth),r.Next(WindowHeight));Write(" ");}}}}

元の画像:

enter image description here


namespace Systemバイトを節約する必要があります、r.Nextゼロを削除できると信じています、無関係な空白を削除します
TheLethalCoder

また、C#にタイトルを
付けるだけでも大丈夫です-TheLethalCoder

ありがとう!Consoleをタイトルに残すのは、このチャレンジが価値あるコンテキストを提供すると感じているからです。のnamespace System{}長さがどのくらい短いかわかりませんusing System;。説明する気?
MrPaulch

1
私はこの強いが根拠のない記憶を持っていたMain。根拠のない思い出は最高です!
MrPaulch

1
ありがとう。あきらめません!:)次のチャレンジで学んだことを使用します!
-MrPaulch

3

処理、90バイト

void draw(){float n=noise(millis());int i=(int)(n*9999);set(i%99,i/99,(int)(n*(-1<<24)));}

enter image description here

展開およびコメント:

void draw(){
  float n=noise(millis());//compute PRNG value
  int i=(int)(n*9999);    //compute 99x99 pixel index
  set(i%99,i/99,          //convert index to x,y 
  (int)(n*(-1<<24)));     //PRNG ARGB color = PRNG value * 0xFFFFFFFF 
}

理想的には、x、y位置の代わりにピクセルインデックスを使用できますが、Processingのpixels[]アクセスにはloadPixels()事前とupdatePixels()事後が必要であるため、を使用しset()ます。point()動作しますが、より多くの文字があり、必要ですstroke()です。ランダム領域は、実際には数バイトを節約するために(100x100ではなく)99x99ですが、そのような領域の各ピクセルを置き換える40x40をカバーする必要があります。

random()の代わりにPerlin noise()が使用されますて、擬似乱数を増やし、バイトを短くします。値は1回計算されますが、2回使用されます。1回はランダムな位置に、次に再び色に使用されます。

色は実際にはARGB(00000000からFFFFFFFF)(RGBではありません)(ボーナスポイント?:D)です。


素晴らしい、そしてこのサイトでお会いできてうれしいです!
ケビンワークマン

同様に!ありがとう!:)
ジョージプロフェンザ

+1 set()は非常に
巧妙

ああ!私はそれについて知りませんでした。そこに追加します、ありがとう:)
ジョージ・プロフェンツァ

2

Python、133バイト

これが仕様に適合するかどうかは、40x40の領域のキャンバス上にあるため、よくわかりません。

from turtle import*
from random import*
ht()
up()
speed(0)
R=randint
while 1:goto(R(0,39),R(0,39));dot(1,eval('('+'R(0,255),'*3+')'))

オンラインで試してください -なしのバージョンevalは、Trinketでは機能しません


タートルdistが私のものと異なるかもしれませんが、デフォルトのキャンバスは300 x 400ですcolormodeが、デフォルトは1.0そうではありません255
ジョナサンアラン

Trinket.ioは非常にユニークです。
mbomb007

ええ-私は変更しようとしましたがcolormode、それは何もありませんでした:/
ジョナサンアラン

なぜ機能しdot(1,R(0,255),R(0,255),R(0,255))ないのですか?dotを受け入れることを意図しています(width,*color)。Pythonではありません:p
ジョナサンアラン

Trinket.ioは、Pythonの不完全な実装であるskulpt.jsを使用するためです。
mbomb007

2

Canvas 340 316 324バイトを使用するJavaScript

function r(t,e){return Math.floor(e*Math.random()+t)}function f(){x.fillStyle="rgba("+r(1,255)+","+r(1,255)+","+r(1,255)+", 1)",x.fillRect(r(0,40),r(0,40),1,1)}c=document.createElement("canvas"),c.width=40,c.height=40,x=c.getContext("2d"),document.getElementsByTagName("body")[0].appendChild(c),c.interval=setInterval(f,1);

完全版


2
サイトへようこそ!:)
DJMcMayhem

これは、「プログラムは手動で停止するまでランダムピクセルを表示し続ける必要があります(それ自体では終了できません)」というルールを尊重しますか?
タコ

これは、実行時に単にランダムなピクセルの束を生成するようです。停止するまで、ピクセルを1つずつ表示し続けません。
MD XF

私はそのルールを逃したようです。私は、目標はアニメーションではなくイメージを作成することだと誤って考えていました。コンピューターに戻ったら回答を更新します。
ティムペナー

1
それが今、アニメーションだ@MDXF
ティム・ペナー

2

処理中、112バイト

void setup(){size(40,40);}void draw(){stroke(random(255),random(255),random(255));point(random(40),random(40));}

すべてのピクセルが3分ごとに置き換えられることを保証することはできませんが、それを見るとそうなっているようです。少なくとも1600ピクセルのうち1ピクセルが欠落している確率は、ランダムに1秒間に1回更新され、合計3分間に5400更新されるため、1つが欠落する可能性は低くなります。

ゴルフをしていない:

プログラムは本当に簡単です。40x40ピクセルでウィンドウを開き、すべてのフレーム(デフォルトでは毎秒30)でランダムな色を取得し、0とパラメーターの間のランダムな座標でポイントを描画します。ピクセル座標の場合は40、色の場合は255。

void setup()
{
  size(40,40);
}

void draw()
{
  stroke(random(255),random(255),random(255));
  point(random(40),random(40));
}

enter image description here


あなたは削除することができますsize(40,40);し、変更pointpoint(random(99),random(99));?(または99が機能しない場合は代わりに100)
Kritixi Lithos

処理中の@KritixiLithosでは、size関数はセットアップ関数のコードの最初の行でなければならない(MUST)ので、それを回避することはできません。40から99までのすべてのオカレンスを変更できますが、スペースを節約できなかったため、変更しませんでした。私は主に、3分間ですべてのピクセルが更新される確率を高めるために最小サイズを使用しました
コーディ

ああ、それは私が最初に考えたことでもありました、誰かがそれについて私に言って、それがどういうわけかうまくいくまで、あなたはここで私の提出物で見ることができます。
クリチキシリソス

1
setup()マシンの最新バージョンのProcessingで機能全体を削除しても、エラーなく正常に機能します。
クリチキシリソス

私のProcessingのバージョンはかなり古いと思うので、今はアップグレードを気にするほど十分に使用していません。
コーディ

2

HTML + SVG + PHP、245バイト

<?$u=$_GET;$u[rand()%40][rand()%40]=sprintf("%06x",rand()%16777216);echo'<meta http-equiv="refresh" content="0.1; url=?'.http_build_query($u).'" /><svg>';foreach($u as$x=>$a)foreach($a as$y=>$c)echo"<rect x=$x y=$y width=1 height=1 fill=#$c />";

拡大

$u=$_GET; # Get the Url
$u[rand()%40][rand()%40]=sprintf("%06x",rand()%16777216); # Set One Value in a 2 D Array
echo'<meta http-equiv="refresh" content="0.1; url=?'.http_build_query($u).'" /><svg>'; # refresh the site after 0.1 second follow the new Get parameter
foreach($u as$x=>$a) #loop through x Coordinates as Key
  foreach($a as$y=>$c) #loop through y Coordinates as Key value is the color
    echo"<rect x=$x y=$y width=1 height=1 fill=#$c />"; #print the rects for the SVG

メタタグなしで、より大きなバージョンの出力の例

<svg viewBox="0 0 40 40" width=400 height=400><rect x=11 y=39 width=1 height=1 fill=#1b372b /><rect x=11 y=7 width=1 height=1 fill=#2c55a7 /><rect x=11 y=31 width=1 height=1 fill=#97ef86 /><rect x=11 y=26 width=1 height=1 fill=#94aa0a /><rect x=11 y=4 width=1 height=1 fill=#f8bf89 /><rect x=11 y=6 width=1 height=1 fill=#266342 /><rect x=11 y=29 width=1 height=1 fill=#369d80 /><rect x=11 y=20 width=1 height=1 fill=#ccfab8 /><rect x=11 y=12 width=1 height=1 fill=#ac0273 /><rect x=13 y=25 width=1 height=1 fill=#0d95e9 /><rect x=13 y=0 width=1 height=1 fill=#d2a4cb /><rect x=13 y=37 width=1 height=1 fill=#503abe /><rect x=13 y=35 width=1 height=1 fill=#4e60ae /><rect x=13 y=30 width=1 height=1 fill=#3cdd5e /><rect x=13 y=12 width=1 height=1 fill=#60464c /><rect x=13 y=17 width=1 height=1 fill=#a3b234 /><rect x=13 y=3 width=1 height=1 fill=#48e937 /><rect x=13 y=20 width=1 height=1 fill=#58bb78 /><rect x=13 y=4 width=1 height=1 fill=#5c61e6 /><rect x=13 y=10 width=1 height=1 fill=#758613 /><rect x=13 y=21 width=1 height=1 fill=#9b3a09 /><rect x=13 y=28 width=1 height=1 fill=#6c6b3b /><rect x=13 y=32 width=1 height=1 fill=#9b3a0f /><rect x=13 y=14 width=1 height=1 fill=#0c9bcc /><rect x=38 y=34 width=1 height=1 fill=#a3a65d /><rect x=38 y=23 width=1 height=1 fill=#c4441a /><rect x=38 y=25 width=1 height=1 fill=#cec692 /><rect x=38 y=39 width=1 height=1 fill=#535401 /><rect x=38 y=30 width=1 height=1 fill=#21371a /><rect x=38 y=26 width=1 height=1 fill=#7560a4 /><rect x=38 y=33 width=1 height=1 fill=#f31f34 /><rect x=38 y=9 width=1 height=1 fill=#3fce3f /><rect x=38 y=13 width=1 height=1 fill=#78cab8 /><rect x=3 y=39 width=1 height=1 fill=#c6cf06 /><rect x=3 y=26 width=1 height=1 fill=#d7fc94 /><rect x=3 y=31 width=1 height=1 fill=#048791 /><rect x=3 y=19 width=1 height=1 fill=#140371 /><rect x=3 y=12 width=1 height=1 fill=#6e7e7a /><rect x=3 y=21 width=1 height=1 fill=#f917da /><rect x=3 y=36 width=1 height=1 fill=#00d5d7 /><rect x=3 y=24 width=1 height=1 fill=#00f119 /><rect x=34 y=15 width=1 height=1 fill=#e39bd7 /><rect x=34 y=1 width=1 height=1 fill=#c1c1b8 /><rect x=34 y=36 width=1 height=1 fill=#0d15d5 /><rect x=34 y=29 width=1 height=1 fill=#d15f57 /><rect x=34 y=11 width=1 height=1 fill=#6f73b9 /><rect x=34 y=33 width=1 height=1 fill=#93ce78 /><rect x=34 y=16 width=1 height=1 fill=#ddd7bd /><rect x=34 y=14 width=1 height=1 fill=#73caa6 /><rect x=34 y=28 width=1 height=1 fill=#972d89 /><rect x=34 y=31 width=1 height=1 fill=#27e401 /><rect x=34 y=10 width=1 height=1 fill=#559d6d /><rect x=34 y=22 width=1 height=1 fill=#170bc2 /><rect x=30 y=13 width=1 height=1 fill=#a9ac0d /><rect x=30 y=4 width=1 height=1 fill=#3d9530 /><rect x=30 y=10 width=1 height=1 fill=#67b434 /><rect x=30 y=15 width=1 height=1 fill=#54930a /><rect x=30 y=11 width=1 height=1 fill=#8ce15b /><rect x=30 y=7 width=1 height=1 fill=#ddf53d /><rect x=30 y=32 width=1 height=1 fill=#04de14 /><rect x=30 y=19 width=1 height=1 fill=#f52098 /><rect x=30 y=22 width=1 height=1 fill=#dc7d70 /><rect x=30 y=0 width=1 height=1 fill=#d458c3 /><rect x=30 y=30 width=1 height=1 fill=#1f8895 /><rect x=30 y=36 width=1 height=1 fill=#b3d891 /><rect x=30 y=29 width=1 height=1 fill=#0f9810 /><rect x=30 y=5 width=1 height=1 fill=#b4ce36 /><rect x=30 y=33 width=1 height=1 fill=#a837ba /><rect x=30 y=23 width=1 height=1 fill=#02beb3 /><rect x=30 y=24 width=1 height=1 fill=#2a75da /><rect x=37 y=2 width=1 height=1 fill=#7b3aa3 /><rect x=37 y=26 width=1 height=1 fill=#0e9fb2 /><rect x=37 y=32 width=1 height=1 fill=#afb3a1 /><rect x=37 y=24 width=1 height=1 fill=#b421d6 /><rect x=37 y=16 width=1 height=1 fill=#39e872 /><rect x=37 y=38 width=1 height=1 fill=#552970 /><rect x=37 y=11 width=1 height=1 fill=#2a0b2a /><rect x=37 y=18 width=1 height=1 fill=#1fe310 /><rect x=37 y=36 width=1 height=1 fill=#a80fe3 /><rect x=37 y=6 width=1 height=1 fill=#141100 /><rect x=26 y=13 width=1 height=1 fill=#5d521d /><rect x=26 y=11 width=1 height=1 fill=#d7227e /><rect x=26 y=1 width=1 height=1 fill=#8dae67 /><rect x=26 y=19 width=1 height=1 fill=#acfd2c /><rect x=26 y=2 width=1 height=1 fill=#307dd5 /><rect x=26 y=35 width=1 height=1 fill=#76b559 /><rect x=26 y=4 width=1 height=1 fill=#e6a551 /><rect x=12 y=34 width=1 height=1 fill=#266a0a /><rect x=12 y=16 width=1 height=1 fill=#8bcf44 /><rect x=12 y=13 width=1 height=1 fill=#00caac /><rect x=12 y=3 width=1 height=1 fill=#bb7aa5 /><rect x=12 y=37 width=1 height=1 fill=#3b0559 /><rect x=12 y=27 width=1 height=1 fill=#e82087 /><rect x=12 y=8 width=1 height=1 fill=#b65157 /><rect x=19 y=20 width=1 height=1 fill=#556336 /><rect x=19 y=33 width=1 height=1 fill=#81bca0 /><rect x=19 y=34 width=1 height=1 fill=#65478a /><rect x=19 y=35 width=1 height=1 fill=#256956 /><rect x=19 y=10 width=1 height=1 fill=#c49f9c /><rect x=19 y=12 width=1 height=1 fill=#99bd3d /><rect x=19 y=13 width=1 height=1 fill=#dae45d /><rect x=19 y=36 width=1 height=1 fill=#de28e2 /><rect x=19 y=30 width=1 height=1 fill=#f26ff1 /><rect x=4 y=23 width=1 height=1 fill=#3a31dc /><rect x=4 y=4 width=1 height=1 fill=#d480e7 /><rect x=4 y=24 width=1 height=1 fill=#a304c6 /><rect x=4 y=28 width=1 height=1 fill=#775aeb /><rect x=4 y=16 width=1 height=1 fill=#d942d1 /><rect x=4 y=8 width=1 height=1 fill=#ad6c7e /><rect x=4 y=3 width=1 height=1 fill=#8ef507 /><rect x=4 y=9 width=1 height=1 fill=#c59549 /><rect x=4 y=7 width=1 height=1 fill=#f757fb /><rect x=4 y=35 width=1 height=1 fill=#2db5de /><rect x=20 y=22 width=1 height=1 fill=#340f7b /><rect x=20 y=2 width=1 height=1 fill=#ae6b7c /><rect x=20 y=20 width=1 height=1 fill=#120232 /><rect x=20 y=1 width=1 height=1 fill=#bb534c /><rect x=20 y=11 width=1 height=1 fill=#a736a1 /><rect x=20 y=38 width=1 height=1 fill=#63646f /><rect x=20 y=8 width=1 height=1 fill=#8e2095 /><rect x=20 y=27 width=1 height=1 fill=#2ae2c6 /><rect x=32 y=20 width=1 height=1 fill=#56dc7a /><rect x=32 y=34 width=1 height=1 fill=#ec16ca /><rect x=32 y=19 width=1 height=1 fill=#e2ce80 /><rect x=32 y=21 width=1 height=1 fill=#5c7638 /><rect x=32 y=0 width=1 height=1 fill=#35647c /><rect x=32 y=33 width=1 height=1 fill=#9e174a /><rect x=32 y=5 width=1 height=1 fill=#8217b4 /><rect x=32 y=30 width=1 height=1 fill=#b3e018 /><rect x=32 y=36 width=1 height=1 fill=#90ea3d /><rect x=22 y=29 width=1 height=1 fill=#9d975f /><rect x=22 y=12 width=1 height=1 fill=#b50680 /><rect x=22 y=31 width=1 height=1 fill=#9cd270 /><rect x=22 y=16 width=1 height=1 fill=#05a7f7 /><rect x=22 y=20 width=1 height=1 fill=#f6c4d5 /><rect x=22 y=21 width=1 height=1 fill=#9b0dd8 /><rect x=22 y=22 width=1 height=1 fill=#bc1c9e /><rect x=22 y=26 width=1 height=1 fill=#22b4c3 /><rect x=22 y=36 width=1 height=1 fill=#f54b7b /><rect x=22 y=19 width=1 height=1 fill=#7d3be4 /><rect x=22 y=6 width=1 height=1 fill=#ff9c6f /><rect x=22 y=34 width=1 height=1 fill=#cce01c /><rect x=22 y=30 width=1 height=1 fill=#7c4fd0 /><rect x=22 y=33 width=1 height=1 fill=#c2ef4e /><rect x=25 y=3 width=1 height=1 fill=#35c580 /><rect x=25 y=31 width=1 height=1 fill=#172b52 /><rect x=25 y=39 width=1 height=1 fill=#5e724d /><rect x=25 y=10 width=1 height=1 fill=#f50c4a /><rect x=25 y=4 width=1 height=1 fill=#012808 /><rect x=25 y=33 width=1 height=1 fill=#3a0dc3 /><rect x=25 y=12 width=1 height=1 fill=#2f254a /><rect x=25 y=30 width=1 height=1 fill=#19ff2c /><rect x=25 y=38 width=1 height=1 fill=#4a3112 /><rect x=0 y=1 width=1 height=1 fill=#886f4f /><rect x=0 y=35 width=1 height=1 fill=#0bb010 /><rect x=0 y=0 width=1 height=1 fill=#a7f77e /><rect x=0 y=27 width=1 height=1 fill=#1b38da /><rect x=0 y=39 width=1 height=1 fill=#3788ae /><rect x=0 y=13 width=1 height=1 fill=#af5149 /><rect x=0 y=32 width=1 height=1 fill=#dcb445 /><rect x=0 y=20 width=1 height=1 fill=#36a218 /><rect x=0 y=2 width=1 height=1 fill=#aacbb8 /><rect x=0 y=14 width=1 height=1 fill=#fb17e3 /><rect x=17 y=8 width=1 height=1 fill=#cb2be8 /><rect x=17 y=11 width=1 height=1 fill=#dd80b1 /><rect x=17 y=35 width=1 height=1 fill=#a269aa /><rect x=17 y=6 width=1 height=1 fill=#9faf64 /><rect x=17 y=9 width=1 height=1 fill=#762811 /><rect x=17 y=23 width=1 height=1 fill=#94fa57 /><rect x=17 y=26 width=1 height=1 fill=#9bacc3 /><rect x=17 y=1 width=1 height=1 fill=#93c849 /><rect x=17 y=4 width=1 height=1 fill=#4a9fd4 /><rect x=17 y=22 width=1 height=1 fill=#1fc5f3 /><rect x=17 y=37 width=1 height=1 fill=#76d6a3 /><rect x=17 y=5 width=1 height=1 fill=#a13389 /><rect x=9 y=38 width=1 height=1 fill=#064ba3 /><rect x=9 y=23 width=1 height=1 fill=#cc83ad /><rect x=9 y=25 width=1 height=1 fill=#1de7e8 /><rect x=9 y=3 width=1 height=1 fill=#834afe /><rect x=9 y=9 width=1 height=1 fill=#15a0fb /><rect x=9 y=27 width=1 height=1 fill=#4d54dc /><rect x=9 y=21 width=1 height=1 fill=#2bf614 /><rect x=9 y=28 width=1 height=1 fill=#8080b7 /><rect x=9 y=39 width=1 height=1 fill=#d76a3b /><rect x=9 y=33 width=1 height=1 fill=#f8da2c /><rect x=9 y=26 width=1 height=1 fill=#5884ae /><rect x=7 y=39 width=1 height=1 fill=#a0264b /><rect x=7 y=15 width=1 height=1 fill=#bd87c7 /><rect x=7 y=18 width=1 height=1 fill=#4d4878 /><rect x=7 y=35 width=1 height=1 fill=#1dcc8c /><rect x=7 y=38 width=1 height=1 fill=#76497f /><rect x=7 y=1 width=1 height=1 fill=#87b1ae /><rect x=35 y=24 width=1 height=1 fill=#5d947e /><rect x=35 y=17 width=1 height=1 fill=#eabbdc /><rect x=35 y=19 width=1 height=1 fill=#01c75b /><rect x=35 y=36 width=1 height=1 fill=#06b0dd /><rect x=35 y=21 width=1 height=1 fill=#0fbba8 /><rect x=35 y=1 width=1 height=1 fill=#480be1 /><rect x=35 y=11 width=1 height=1 fill=#3f8ef6 /><rect x=35 y=30 width=1 height=1 fill=#7691d0 /><rect x=35 y=13 width=1 height=1 fill=#c9a286 /><rect x=27 y=12 width=1 height=1 fill=#08083e /><rect x=27 y=25 width=1 height=1 fill=#95d3b4 /><rect x=27 y=30 width=1 height=1 fill=#584c1b /><rect x=27 y=9 width=1 height=1 fill=#c01082 /><rect x=27 y=3 width=1 height=1 fill=#3bf653 /><rect x=27 y=33 width=1 height=1 fill=#c06f23 /><rect x=27 y=38 width=1 height=1 fill=#184c3e /><rect x=27 y=0 width=1 height=1 fill=#725d4c /><rect x=27 y=36 width=1 height=1 fill=#e7a71b /><rect x=27 y=16 width=1 height=1 fill=#43c039 /><rect x=23 y=30 width=1 height=1 fill=#947161 /><rect x=23 y=37 width=1 height=1 fill=#e8a8e5 /><rect x=23 y=12 width=1 height=1 fill=#bd9976 /><rect x=23 y=6 width=1 height=1 fill=#15085d /><rect x=23 y=31 width=1 height=1 fill=#102c95 /><rect x=23 y=24 width=1 height=1 fill=#173bc2 /><rect x=23 y=2 width=1 height=1 fill=#bac13c /><rect x=23 y=36 width=1 height=1 fill=#eb5a88 /><rect x=23 y=22 width=1 height=1 fill=#5ddc38 /><rect x=28 y=19 width=1 height=1 fill=#1ea833 /><rect x=28 y=38 width=1 height=1 fill=#dc6f6b /><rect x=28 y=2 width=1 height=1 fill=#d9fd8a /><rect x=28 y=15 width=1 height=1 fill=#eb213e /><rect x=28 y=22 width=1 height=1 fill=#b23956 /><rect x=28 y=16 width=1 height=1 fill=#875b0a /><rect x=28 y=14 width=1 height=1 fill=#ba6172 /><rect x=28 y=18 width=1 height=1 fill=#b9779a /><rect x=39 y=26 width=1 height=1 fill=#df5e52 /><rect x=39 y=4 width=1 height=1 fill=#aabb4f /><rect x=39 y=2 width=1 height=1 fill=#7ce85c /><rect x=39 y=16 width=1 height=1 fill=#1f70a8 /><rect x=39 y=15 width=1 height=1 fill=#55e398 /><rect x=39 y=29 width=1 height=1 fill=#955213 /><rect x=39 y=33 width=1 height=1 fill=#976c99 /><rect x=39 y=34 width=1 height=1 fill=#a23109 /><rect x=39 y=25 width=1 height=1 fill=#36aeae /><rect x=39 y=9 width=1 height=1 fill=#28a600 /><rect x=39 y=17 width=1 height=1 fill=#771e5b /><rect x=39 y=30 width=1 height=1 fill=#9980b1 /><rect x=31 y=14 width=1 height=1 fill=#8ffea6 /><rect x=31 y=13 width=1 height=1 fill=#d35c5c /><rect x=31 y=39 width=1 height=1 fill=#407beb /><rect x=31 y=10 width=1 height=1 fill=#45ba53 /><rect x=31 y=2 width=1 height=1 fill=#842997 /><rect x=31 y=20 width=1 height=1 fill=#ca47b0 /><rect x=31 y=37 width=1 height=1 fill=#ed098e /><rect x=31 y=5 width=1 height=1 fill=#041b67 /><rect x=31 y=22 width=1 height=1 fill=#4aaaa6 /><rect x=31 y=31 width=1 height=1 fill=#40ccbd /><rect x=31 y=27 width=1 height=1 fill=#6325ca /><rect x=33 y=18 width=1 height=1 fill=#cfbbbc /><rect x=33 y=34 width=1 height=1 fill=#b3f6b8 /><rect x=33 y=26 width=1 height=1 fill=#ef3b82 /><rect x=33 y=16 width=1 height=1 fill=#c7df5b /><rect x=33 y=39 width=1 height=1 fill=#5ad5ba /><rect x=33 y=12 width=1 height=1 fill=#9361fd /><rect x=33 y=35 width=1 height=1 fill=#1f4795 /><rect x=33 y=3 width=1 height=1 fill=#86a80c /><rect x=33 y=17 width=1 height=1 fill=#582008 /><rect x=33 y=9 width=1 height=1 fill=#686941 /><rect x=33 y=36 width=1 height=1 fill=#76ada4 /><rect x=33 y=21 width=1 height=1 fill=#511f50 /><rect x=33 y=14 width=1 height=1 fill=#64aaf7 /><rect x=8 y=28 width=1 height=1 fill=#3de9b7 /><rect x=8 y=24 width=1 height=1 fill=#5c8451 /><rect x=8 y=31 width=1 height=1 fill=#e75b30 /><rect x=8 y=38 width=1 height=1 fill=#4ee9d0 /><rect x=8 y=29 width=1 height=1 fill=#544381 /><rect x=8 y=16 width=1 height=1 fill=#12332f /><rect x=8 y=0 width=1 height=1 fill=#9e775f /><rect x=8 y=34 width=1 height=1 fill=#02224e /><rect x=8 y=1 width=1 height=1 fill=#b299f4 /><rect x=8 y=10 width=1 height=1 fill=#b2bd80 /><rect x=8 y=20 width=1 height=1 fill=#054876 /><rect x=8 y=27 width=1 height=1 fill=#ab273a /><rect x=2 y=30 width=1 height=1 fill=#1bd5f4 /><rect x=2 y=10 width=1 height=1 fill=#b00e99 /><rect x=2 y=9 width=1 height=1 fill=#bf18b0 /><rect x=2 y=8 width=1 height=1 fill=#9aa92b /><rect x=2 y=16 width=1 height=1 fill=#aa7e3d /><rect x=2 y=1 width=1 height=1 fill=#c383ea /><rect x=2 y=24 width=1 height=1 fill=#63ab54 /><rect x=2 y=19 width=1 height=1 fill=#086cac /><rect x=2 y=0 width=1 height=1 fill=#4510cc /><rect x=2 y=6 width=1 height=1 fill=#7b529c /><rect x=6 y=27 width=1 height=1 fill=#fcc946 /><rect x=6 y=20 width=1 height=1 fill=#0a7324 /><rect x=6 y=26 width=1 height=1 fill=#d93cc2 /><rect x=6 y=14 width=1 height=1 fill=#c8d410 /><rect x=6 y=33 width=1 height=1 fill=#0e5b22 /><rect x=6 y=1 width=1 height=1 fill=#e2accf /><rect x=6 y=2 width=1 height=1 fill=#06064a /><rect x=6 y=39 width=1 height=1 fill=#fae1de /><rect x=6 y=30 width=1 height=1 fill=#db50d3 /><rect x=6 y=15 width=1 height=1 fill=#59b1c5 /><rect x=6 y=16 width=1 height=1 fill=#a0178a /><rect x=16 y=29 width=1 height=1 fill=#1eb287 /><rect x=16 y=31 width=1 height=1 fill=#5fa9b0 /><rect x=16 y=36 width=1 height=1 fill=#918835 /><rect x=16 y=2 width=1 height=1 fill=#d46404 /><rect x=16 y=1 width=1 height=1 fill=#31808e /><rect x=16 y=15 width=1 height=1 fill=#22d652 /><rect x=10 y=25 width=1 height=1 fill=#94f771 /><rect x=10 y=14 width=1 height=1 fill=#e3a90a /><rect x=10 y=4 width=1 height=1 fill=#7fbdb3 /><rect x=10 y=32 width=1 height=1 fill=#d71f68 /><rect x=10 y=10 width=1 height=1 fill=#f3dcd7 /><rect x=10 y=27 width=1 height=1 fill=#cadd64 /><rect x=10 y=31 width=1 height=1 fill=#3c38c0 /><rect x=10 y=34 width=1 height=1 fill=#542641 /><rect x=10 y=19 width=1 height=1 fill=#e17ef2 /><rect x=10 y=24 width=1 height=1 fill=#676729 /><rect x=10 y=11 width=1 height=1 fill=#619f8e /><rect x=10 y=0 width=1 height=1 fill=#1576eb /><rect x=10 y=16 width=1 height=1 fill=#52854c /><rect x=36 y=2 width=1 height=1 fill=#fe133c /><rect x=36 y=31 width=1 height=1 fill=#b67ea7 /><rect x=36 y=7 width=1 height=1 fill=#92babc /><rect x=36 y=16 width=1 height=1 fill=#fc24a0 /><rect x=36 y=26 width=1 height=1 fill=#a80f75 /><rect x=36 y=15 width=1 height=1 fill=#5ddb90 /><rect x=18 y=13 width=1 height=1 fill=#64180c /><rect x=18 y=9 width=1 height=1 fill=#d67c04 /><rect x=18 y=18 width=1 height=1 fill=#3e0988 /><rect x=18 y=4 width=1 height=1 fill=#072b32 /><rect x=18 y=34 width=1 height=1 fill=#723cab /><rect x=18 y=14 width=1 height=1 fill=#560f7d /><rect x=18 y=29 width=1 height=1 fill=#4a7dd0 /><rect x=18 y=30 width=1 height=1 fill=#db0cfc /><rect x=18 y=16 width=1 height=1 fill=#f79bbf /><rect x=14 y=18 width=1 height=1 fill=#e45cec /><rect x=14 y=4 width=1 height=1 fill=#05b63c /><rect x=14 y=38 width=1 height=1 fill=#ee0251 /><rect x=14 y=14 width=1 height=1 fill=#12fb9f /><rect x=14 y=17 width=1 height=1 fill=#f8fbc9 /><rect x=14 y=22 width=1 height=1 fill=#58e112 /><rect x=14 y=1 width=1 height=1 fill=#a5bc5c /><rect x=14 y=10 width=1 height=1 fill=#3c6002 /><rect x=14 y=5 width=1 height=1 fill=#556f7a /><rect x=14 y=36 width=1 height=1 fill=#ccfaa9 /><rect x=14 y=15 width=1 height=1 fill=#2a8597 /><rect x=1 y=28 width=1 height=1 fill=#899272 /><rect x=1 y=29 width=1 height=1 fill=#be4da2 /><rect x=1 y=6 width=1 height=1 fill=#cbe1a5 /><rect x=1 y=1 width=1 height=1 fill=#8aebd4 /><rect x=1 y=31 width=1 height=1 fill=#547b9e /><rect x=1 y=10 width=1 height=1 fill=#ba7996 /><rect x=1 y=34 width=1 height=1 fill=#e29661 /><rect x=1 y=0 width=1 height=1 fill=#899d3f /><rect x=1 y=4 width=1 height=1 fill=#6993f0 /><rect x=1 y=13 width=1 height=1 fill=#119a7c /><rect x=1 y=15 width=1 height=1 fill=#e7c61c /><rect x=1 y=17 width=1 height=1 fill=#6e8770 /><rect x=1 y=36 width=1 height=1 fill=#cdda71 /><rect x=5 y=8 width=1 height=1 fill=#318f52 /><rect x=5 y=34 width=1 height=1 fill=#763499 /><rect x=5 y=37 width=1 height=1 fill=#5d0d72 /><rect x=5 y=0 width=1 height=1 fill=#97c9e7 /><rect x=5 y=12 width=1 height=1 fill=#babcca /><rect x=5 y=20 width=1 height=1 fill=#37d5cb /><rect x=5 y=31 width=1 height=1 fill=#642296 /><rect x=5 y=24 width=1 height=1 fill=#a6688c /><rect x=5 y=1 width=1 height=1 fill=#697956 /><rect x=29 y=32 width=1 height=1 fill=#b53b61 /><rect x=29 y=7 width=1 height=1 fill=#d131a3 /><rect x=29 y=18 width=1 height=1 fill=#0e082e /><rect x=29 y=17 width=1 height=1 fill=#8ca3dd /><rect x=29 y=11 width=1 height=1 fill=#376e46 /><rect x=29 y=20 width=1 height=1 fill=#11e2cf /><rect x=29 y=37 width=1 height=1 fill=#24b8de /><rect x=24 y=10 width=1 height=1 fill=#a906da /><rect x=24 y=36 width=1 height=1 fill=#ae0516 /><rect x=24 y=8 width=1 height=1 fill=#e0b9b1 /><rect x=24 y=27 width=1 height=1 fill=#29b27b /><rect x=24 y=33 width=1 height=1 fill=#78ea3e /><rect x=24 y=7 width=1 height=1 fill=#e5147e /><rect x=24 y=11 width=1 height=1 fill=#ce7084 /><rect x=24 y=23 width=1 height=1 fill=#78f645 /><rect x=24 y=25 width=1 height=1 fill=#a01f02 /><rect x=24 y=4 width=1 height=1 fill=#e4340c /><rect x=24 y=16 width=1 height=1 fill=#9b69d7 /><rect x=21 y=31 width=1 height=1 fill=#58ca7d /><rect x=21 y=39 width=1 height=1 fill=#037cb5 /><rect x=21 y=36 width=1 height=1 fill=#097454 /><rect x=21 y=28 width=1 height=1 fill=#71d744 /><rect x=21 y=38 width=1 height=1 fill=#10457c /><rect x=15 y=2 width=1 height=1 fill=#f4bf09 /><rect x=15 y=7 width=1 height=1 fill=#90357d /><rect x=15 y=27 width=1 height=1 fill=#6079ba /><rect x=15 y=5 width=1 height=1 fill=#cff723 /><rect x=15 y=17 width=1 height=1 fill=#54a6db />


2

WindowsのC ++、125バイト

#include<Windows.h>
#include<ctime>
#define r rand()%256
int main(){for(srand(time(0));;)SetPixel(GetDC(0),r,r,RGB(r,r,r));}

改行が必要で、バイトカウントに含まれます。

永久にループし、行と列の値に対して0〜255(両端を含む)の位置をランダムに選択し、0〜255(両端を含む)のランダムなR、G、B値を割り当てます。


1
私はあなたがこれをゴルフしていることを知っていますが、ループを通るたびにデバイスコンテキストのリークが発生すると、本当にスパイシーな感覚がひりひりします!
コーディグレー

Cコンパイラでは#includes を省略できるため、WindowsのC ++ではなくWindowsのCにすることで15バイト節約できます。(そして、はい、Windows用の非Visual Studio Cコンパイラがあります。)
MD XF

2

Python 3.6 + Tkinter、281バイト

from tkinter import*
from random import*
from threading import*
a=randrange
x=40
d={"width":x,"height":x}
w=Tk()
c=Canvas(w,**d)
c.pack()
i=PhotoImage(**d)
c.create_image((20,20),image=i)
def r():
 while 1:i.put(f"{a(0,0xffffff):0>6f}",(a(0,x),a(0,x)))
Thread(r).start()
mainloop()

tkinter標準ライブラリである、あなたは、ヘッダーに含める必要はありません
coinheringaahing caird

私は同じエラーを受け取ります-Windows 10、Python 3.6.0 initが渡された4つのパラメータを見る理由を推測できます-メソッドは暗黙的に「自己」パラメータを渡されています。しかし、コードに示されているように、Canvasコンストラクターが3つのパラメーター(master、x、y)を受け入れることがドキュメントに示されているため、なぜエラーが生成されるのかわかりません。
CCB60

今すぐ修正する必要があります。
マートミスト

1
また、@ Ilikemydog Tkinterは常にstdlibにあるとは限りません。Windowsでは、インストール時にオプションであり、archパーティションにもTkinterがインストールされているとは思いません。それを含めることもできます。
マルトミスト

therはタイプミス-「i」ではなく「img」です。それでも動作しません。今回は取得しますc.create_image((20,20),i) File "C:\Python36\lib\tkinter\__init__.py", line 2483, in create_image return self._create('image', args, kw) File "C:\Python36\lib\tkinter\__init__.py", line 2474, in _create *(args + self._options(cnf, kw)))) _tkinter.TclError: unknown option "pyimage1"
ミハイルV

2

JavaScript(ES7)+ SVGを使用したHTML、129 + 10 = 139バイト

@Octopus <canvas>アプローチに大きな影響を受けたSVGバージョン。

JS

r=n=>n*Math.random()|0
setInterval('s.innerHTML+=`<rect x=${r(40)} y=${r(40)} fill=#${r(2**24).toString(16)} width=1 height=1>`')

HTML

<svg id=s>

Stack Snippetは<rect>タグを解析してスクリプトを壊すのが好きなので、ここにCodePenがあります。


2

6502アセンブリ、92バイト

loo: lda $fe
sta $00
lda $fe
and #$3
clc
adc #$2
sta $01
lda $fe
ldy #$0
sta ($00),y
jmp loo

出力:

出力

説明:

loop: lda $fe       ; accumulator = random
      sta $00       ; store accumulator
      lda $fe       ; accumulator = random
      and #$3       ; accumulator &= 3
      clc           ; clear carry
      adc #$2       ; accumulator += 2
      sta $01       ; store accumulator
      lda $fe       ; accumulator = random
      ldy #$0       ; register Y = 0
      sta ($00),y   ; store register Y
      jmp loop      ; loop

1
ここでヨーヨーターゲット6502プラットフォームとは何ですか?BBC Micro?林檎 ][?コモドールVIC-20など...?
ショーンビバーズ

ラベル名は少なくとも3文字必要です。
ジョナサンフレッチ

2

ロゴ、71バイト

私が知っている唯一の言語であり、コードゴルフのために難解な/特別に設計されたものではなく、forever機能を備えています。map何かアイデアはありますか?

pu forever[setxy random 100 random 100 setpixel map[random 256][1 1 1]]

2

shortC66 56バイト

Dr rand()
AOZR"\e[%d;%dH\e[%d;4%dm ",r%40,r%40,r%2,r%8);

ランド博士のおかげで-10バイト。:P

A                                                                  main function
 O                                                                 for
  Z                                                                seed rand()
   R                                                               print
    "\e[%d;%dH                                                     coordinate placeholder string
              \e[%d;4%dm "                                         color placeholder string
                          ,rand()%40,rand()%40,rand()%2,rand()%8   fill placeholders
                                                                ); interpreter hole

TIOリンクはありません。これは、明らかにオンラインが必要な種類の端末に印刷できないためです。


2

Perl(* nix)、69バイト

\x1bsがリテラルのエスケープ文字です。

sttyコマンドに依存し、OS Xで正常に動作します。

{printf"\x1b[%i;%iH\x1b[48;5;%im ",map{rand$_}`stty size`=~/\d+/g,256;redo}

他のアプローチと似ていますが、すべてのパラメーターを1つの呼び出しに組み合わせて、printf共有したいと思っています。ターミナルを強制終了します。

ここに画像の説明を入力してください


2倍のピクセル、83バイト

{printf"\x1b[%i;%iH\x1b[48;5;%i;38;5;%im▄",map{rand$_}`stty size`=~/\d+/g,256,256;redo}

このアプローチでは、Unicodeブロックと、ランダムな前景色と背景色を使用して、より正方形のピクセルを提供します。私の端末も殺しますが、かっこよく見えます。

ここに画像の説明を入力してください


の代わりに、ASCII 0x1B(27)のリテラルエスケープバイトを使用できることを忘れないでください\e。StackExchangeでは、これはで表すことができます
MD XF

@MDXFうん...スクリプトとしてテストする必要があり-eます。また、Unicodeのバイトカウントを上げる必要があります。おっと!念押し有難う!
ドムヘイスティングス

2

バッシュ、104バイト

\esがリテラルのエスケープ文字です。

これらは私のPerl提出物のほとんどの翻訳ですが、bash fork bombスタイルの構文を使用しています!ディスプレイに直接書き込む他のbashエントリほど賢くはありません。

:(){ printf "\e[%i;%iH\e[48;5;%im " $((RANDOM%`tput lines`)) $((RANDOM%`tput cols`)) $((RANDOM%256));:;};:

より多くのピクセル、130バイト

私のPerlの答えと同じように、これは前景にユニコード文字を使用し、各ピクセルの背景にも色を付けます。

:(){ printf "\e[%i;%iH\e[48;5;%i;38;5;%im▄" $((RANDOM%`tput lines`)) $((RANDOM%`tput cols`)) $((RANDOM%256)) $((RANDOM%256));:;};:

悪くない。しかし、私はまだ理解していません"\e[48;5;%im"。なぜ48と5が必要なのですか?
MD XF

標準の16色パレットではなく、256色すべてにアクセスできます。それをサポートする端末では、使用することは可能ですが、それをサポートする\e[48;2;RRR;GGG;BBBm端末エミュレータはほとんどありません... :(
Dom Hastings

聖なるコードの母。私の人生は嘘です。ありがとう100万:P
MD XF

@MDXF ^^また、38;5前景を48;5示し、背景を削除します。misc.flogisoft.com/bash/tip_colors_and_formatting
ドムヘイスティングス

1
@MDXF心配無用!喜んでお手伝いします!恥ずかしいが、それが真新しいときは見逃したが、そのMinecraftの答えは...非現実的だ!
ドムヘイスティングス

2

IBM PC用のx86機械語(リアルモード)、20 19バイト

 0:       b8 12 00                mov    $0x12,%ax
 3:       31 db                   xor    %bx,%bx
 5:       cd 10                   int    $0x10
 7:       0f c7 f0                rdrand %ax
 a:       88 e1                   mov    %ah,%cl
 c:       0f c7 f2                rdrand %dx
 f:       b4 0c                   mov    $0xc,%ah
11:       eb f2                   jmp    0x5

これには、rdrand命令とVGAアダプタ(実またはエミュレート)を備えたプロセッサが必要です。上記は、ブートブロックまたはMS-DOS * .COMファイルにコピーできます。

これを試すには、以下をコンパイルして、出力をファイルなどに保存floppy.imgし、仮想マシンでイメージを起動します。

#include<stdio.h>
#include<string.h>
#include<unistd.h>
int main(){
  char buffer[ 1440*1024 ];
  memcpy( buffer, "\xb8\x12\x00\x31\xdb\xcd\x10\x0f\xc7\xf0\x88\xe1\x0f\xc7\xf2\xb4\x0c\xeb\xf2", 20 );
  memcpy( buffer + 510, "\x55\xaa", 2 );
  write( 1, buffer, sizeof buffer );
}

2

スーパーチップ(48)?、 12バイト

0x00FF 'enter high resolution mode (64x128 pixels)
0xA209 'set I to 0x209 (second byte of draw instruction)
0xC03F 'set register 0 to a random number from 0 to 63
0xC13F 'set register 1 to a random number from 0 to 63
0xD101 'draw a sprite. x=register 1, y=register 0, height=1
0x1204 'jump to third instruction

正確な名前はわかりませんが、40x40ピクセルの制限のため、通常のChip-8の代わりにこれを使用する必要がありました。


この(非常に興味深い)言語にリンクしますか?
MD XF

Octoエミュレーターを使用できます:johnearnest.github.io/Octo
12Me21

2

QBIC、34バイト

screen 12{pset(_r640|,_r480|),_r16

残念ながら、QBICは SCREENデフォルトでモードをため、いくつかのバイトをます。PSETQBICのデフォルトのグラフィカルコンテキストでは不正なコマンドです。

説明

screen 12           Set the screen to a mode supporting (colored) graphics
{                   DO until the compiler is killed by ctrl-scroll lock
pset                PSET is a QBasic command to set one pixel
(_r640|,_r480|)     it takes a set of coords (x, y) which QBIC chooses at random with _r
,_r16               and a color (1,16)

サンプル出力

@AnonymousはQBICのrnd()機能にエラーを発見しました。以下の出力を提供する修正。ありがとう!

ここに画像の説明を入力してください


スクリーンショットから明らかなように、ソリューションはランダム性の条件を満たしていません。座標が与えられた場合、すべての色が同じ可能性があるわけではなく、色が与えられているわけではなく、すべての座標が同じ可能性があるわけではありません。それらは非常に相関しており、それは穏やかにそれを入れています。問題は、使用している乱数ジェネレーターです。FUNCTION getRandomNumber! (Bottom!, Top!) ↵ RANDOMIZE TIMER 'this sets the random number generator ↵ IF Bottom > Top THEN ... END IF ↵ getRandomNumber = INT((Top - Bottom + 1) * RND + Bottom) ↵ END FUNCTIONあなたの乱数は、現在の時刻のハッシュにすぎません。
匿名

@匿名それは今修正されました、ありがとう!
-steenbergh

2

6502アセンブリ、582バイト

ふう、これは楽しかった。私のApplesoft BASICソリューションとほぼ同じことを行います。

start:
lda #15
sta $0
sta $1
loo:
lda $fe
and #3
cmp #0
beq g_l
cmp #1
beq g_r
cmp #2
beq g_d
dec $1
d_w:
lda $1
and #$1f
asl
tax
lda ypo,x
sta $2
inx
lda ypo,x
sta $3
lda $0
and #$1f
tay
lda ($2),y
tax
inx
txa
sta ($2),y
jmp loo
g_d:
inc $1
jmp d_w
g_l:
dec $0
jmp d_w
g_r:
inc $0
jmp d_w
ypo:
dcb $00,$02,$20,$02,$40,$02,$60,$02
dcb $80,$02,$a0,$02,$c0,$02,$e0,$02
dcb $00,$03,$20,$03,$40,$03,$60,$03
dcb $80,$03,$a0,$03,$c0,$03,$e0,$03
dcb $00,$04,$20,$04,$40,$04,$60,$04
dcb $80,$04,$a0,$04,$c0,$04,$e0,$04
dcb $00,$05,$20,$05,$40,$05,$60,$05
dcb $80,$05,$a0,$05,$c0,$05,$e0,$05

これは、他の6502アセンブリの回答の無料版ですか?:
コーディグレー

@CodyGrayいや、それは少し違ったやり方をします。Applesoft BASICの回答(ランダムウォークを使用)に似ており、他の6502アセンブリの回答は他のすべての回答に似ています。
MD XF

バイトカウントに同意しません。これは、アセンブリの583バイトよりもずっと短いのでしょうか。
オリビエデュラック

@OlivierDulactio.run / ## Zc /
MD XF

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