2012-01-17 14 views
1

ConwayのGame of Lifeのコードを書いて、与えられたパターンの細胞のすぐ次のパターンを決定しようとしていますが、実際にそのステップを理解しているかどうかはわかりません。したがって、例えば以下のヒキガエルのパターンを考慮する。 xと記された細胞は生きていて、マークされた細胞は死んでいます。Conwayの生命の理解のための助けが必要

-XXX 
XXX- 

私たちが知っているように上記次

--x- 
x--x 
x--x 
-x-- 

ルールに移調する必要がありは以下のとおりです。

  1. 未満2人のまたは3つ以上の隣人と生細胞は
  2. を死にます正確に2または3隣接する生きている細胞は生き残る
  3. ちょうど3隣人の死んだ細胞人生に来る。

したがって、入力c [0,0]の最初のセルは3つのライブネイバー(水平、垂直、斜めにそれぞれ1つ)を持っているため、出力には生きているはずですが、 。誰かが説明できますか?

+1

出力では生きているはずですが、それはどういう意味ですか?あなたのプログラムにバグがありますか、それとも全く何ができるのか分かりませんか? –

+1

おそらくあなたのコードのバグ?なぜあなたのポストの最初の状態は2行、2行目は4行ありますか?あなたはコードを提供していないので、誰があなたのコードに何が間違っているのかを知る方法はありますか? :) – Nerdtron

+0

返信いただきありがとうございますPeterとNerdtron.I haventはコーディングを開始しました。 Im、ちょうど理解しようとしている、上記の転位がどのように起こるか。入力は2行で出力は4ですが、どのように起こるかわかりません。 – Jim

答えて

3

出力の真ん中の2つの行は、入力の2つの行に対応する行です。入力の左上のセルは出力の左端の2行目に対応しています。ご覧のとおり、それは生きています。

+0

Ernestの説明をありがとう。私はあなたのポイントを理解していますしかし、出力の中間2行が私の入力の2行に対応している場合、どのように最上位と最下行が生成されますか? – Jim

+0

具体的には、入力に2つしかない場合、出力に4行あるのはなぜですか? – Jim

+0

途中の8つの細胞は死んだ細胞の無限場に埋め込まれていることが暗示されています。そのような暗黙の無限場で計算を行う必要があります。実際には、Lifeの「光の速度」は1世代あたりただ1つのセルであるため、フィールドの周りに1つの余分な(表示されていない)セルの境界線を保つのは合理的な近似です。あなたはこのように正確に正しい結果を得ることはできませんが、それは何よりも優れています。使用するフィールドが大きいほど、また表示されない行が多くなるほど結果はより正確になります。 –

0

出力には生きています。それはここです:

--x-
X --x
X - X
-x--

最初の行のx上記最初の行であります最初の出力で。生命の規則は、無限の飛行機を想定しています。最初の出力の一番上の行を呼び出す場合は0ですが、二番目の出力の一番上の行は-1です。

0

まあです。 2行の長入力は、4行出力の中間部分です。私はあなたが今それを見ると、あなたはすべてを理解すると思います。

あなたは少なくともwikipediaを見ましたか?

関連する問題