- aini_bellwood
- 689
- 4
- 0
- 0
2015/11/21
備忘。ジェネレータ設計。ジェネレータの基底クラスとして、フラグを見て毎フレーム、EUを前方ブロックに渡すブロックを作る。このブロックを継承して各ジェネレータを作る。ソーラーは(今の所)無条件で発電。火力は燃料、核分裂は核燃料と冷水、核融合はEUと重水素が発電に必要。
2015-11-21 23:56:482015/11/22 朝
液体はパイプの実装に少々手間がかかりそうである。パイプには前後の概念がないので、液体を渡されて自身の持つ液体ストレージが一杯になったら、両側の口から液体を出力する、というのはどうか。
2015-11-22 07:58:41いや、まず全ブロックで隣に渡す液体を確保してから、そのあと改めて隣に渡す、ではどうだ。両隣がパイプなら、支出と収入が釣り合うはずだ。
2015-11-22 08:03:32もらったそばから渡していては収支が釣り合わないので、一定量の液体がストレージに溜まるまでは備蓄モード、溜まってから放出モード、とするのがよいか?
2015-11-22 08:06:14しかしそれでは隣のパイプの備蓄モードが解除されると同時にこちらのストレージも尽きてしまう。隣のパイプを見て、ストレージの液体量がが閾値を超えていれば渡さない、などの工夫が必要か。逆止弁だな。
2015-11-22 08:09:15なんにせよ液体の実装は後回しだ。石油の実装、冷却水の実装、蒸気を実装してボイラーとタービンを分離する、などの夢は膨らむがまず電気の実装が先だ。
2015-11-22 08:11:132015/11/22 夜
・すべての接続先に渡す量を一旦液体ストレージから取り出す ・改めて接続先に液体を渡す もともと内部的には1フレームの間に2度更新ループを回す設計になっているので、これで破綻しないはず、だ。
2015-11-22 20:02:25いや、パイプ同士の接続はそれでいいが、ポンプからパイプに渡す場合はそうはいかない…か?単に液体レシーバが無ければ最初のループで渡さなければいいだけか。
2015-11-22 20:04:09・接続先にレシーバが存在しない場合、液体を渡さない このルールの追加で、パイプ間では液体のやりとりが釣り合い、出力先に液体が渡されるはず。 液体の種別や一度に渡せる量の指定はまだ検討の余地があるか。
2015-11-22 20:07:00なんにせよ今は発電機だ。液体のパイプには向きが存在しないため実装がややこしくなるが、電気はそうではない。サクッと作らねば。
2015-11-22 20:08:46発電機は発電機で燃料をどう保持するかという問題がある。単に燃料ストレージを持ち、渡されたpelletに応じて残燃料が増える形でいいか。燃焼時間の管理もしやすい。
2015-11-22 20:10:152015/11/23
そういえば昨夜考えてたパイプ実装案にバグがあった。あれだと出口に接続したパイプのみ保有量が減っていくことになる。単純に、接続先の保有量を比べて、自分よりも少ない接続先に渡す、ではとかの方がいい。
2015-11-23 20:49:14保有量が自分より少ない接続先に渡す、でなんら問題ない気がするな…というかそこまでいくと、前のフレームで渡された液体をそのまま渡す、とかでいいような。
2015-11-23 20:53:52まとめ
・液体の実装は「保有量を接続先と比べて自分より少ない相手に液体を渡す」でイナフ。
・液体の実装で、核融合炉、核分裂炉、作れたらいいね。
・火力発電ブロックは渡されたPelletを燃料に変換して保持するよ。
・まずはソーラー発電ブロックだよ。