狠狠撸
Submit Search
1次元セルオー”トマト”ン
?
0 likes
?
880 views
Yuuya Katou
Follow
1 of 9
Download now
Download to read offline
More Related Content
1次元セルオー”トマト”ン
1.
ì? ? 1次元セルオートマトン くらげノート
2.
Cell ?class(.h) 今回はセルの数は9個です。
? 動きを見るのに少なすぎる気がしましたが、9個。 ? ? 無駄に前回のクラスを継承していますが意味があ りません。 ? まあ気持ちです。 ? ? 前回と関数も変数もお変わりないです。 ? ? ちなみにコピーコンストラクタを作っていますが、 ? これも結局使いませんでした???。 ? ? せっかくなんで継承とコピーコンストラクタは軽 く触れます。
3.
Cell ?class(.cpp)1/2 さきほど書き忘れていましたが、cell_size
?は60で定義 しています。 ? ? 引数付きコンストラクタはexを引数にもらい、x座標を 調整します。 ? 隣とぶつからないようにcell_sizeの分だけずらしていま す。後は同じ。 ? ? コピーコンストラクタです。 ? 参照渡しでオブジェクトを受け取り、そのオブジェク トと同じ値のオブジェクトを作ります。 ? これは、次のようにオブジェクトを宣言したときに呼 ばれます。 ? ? Class ?c2 ?= ?c1; ? すでにあるc1をもとにc2を作れます。
4.
Cell ?class(.cpp)2/2 前回と同じcalcState()です。
? ? ? checkState()も変化なしです。 ? ポインタ渡しでオブジェクトを受け取り、 get_nowStateで値をもらいます。 ? しかし、if文はやはりいらないですね???。 ? ? よく出てくるcoutですが、C言語で言うとこ ろのprin@()です。 ? coutの後ろ<<で文字を送ります。文章は “”で囲み、変数はそのままでいいです。 ? endlというのは改行を伝えます。 ? ? 使用するには ? include ?<iostream>を忘れないように。
5.
testApp(.h) 配列でセルを作ります。それ以外は特にないので次へ。
6.
testApp(.cpp)1/3 setup()は前回と同じです。 ? update()では次のページで紹介するcheckCalcという関数を呼びます。
? draw()では今回配列なのでfor文をつかって順番に描画します。 ? これはほぼ同時といっていい範囲だと思います。
7.
testApp(.cpp)2/3 restart()も前回とほぼ 変わらず、配列なの でfor文で、ここでそ れぞれのxをもとに 引数付きで初期化さ れます。 ?
? checkCalc()では、自 分の前後のセルを checkStateさせてか ら計算に入ります。 ? ? backIやnextIは次の ページで紹介します。
8.
testApp(.cpp)3/3 nextIとbackIはほぼ同じです。 ? nextIの方を説明します。
? 周期的境界条件のために、9個目のセル の次は1個目のセルになるように次のイ ンデックスを指定します。 ? ? backIも同様に1個目のセルの前が9個目 のセルになるようにしています。
Download