見た目ばかり整えていても動きません。いいかげん本丸である通電に取り組みましょう。
いきなり難しいところから考えるといきなり手詰まりになってしまうので、 まずは簡単なところから始めます。 電気(回路)の知識に乏しいのと、こういうプログラムを作るのが初めてなので、ここらへん手探りです。
まずはこれ。 通電している(通電するだろうと考えている)エッジには色を付けました。
これは簡単。
電池のプラス極 [+]
とマイナス極 [-]
が直結していれば、そりゃ通電しますよね。
実際に(物理的に)この回路を作るとショートすると思うんですが、ショートについてはこの先も考えないことにします。 電圧も抵抗も考えません。話がややこしくなるから。 通電するかしないかだけを考えます。
さっきの図では [+]
と [-]
が隣同士になるように配置していましたが、離して置いても同じ回路(同じように動作する回路)だと考えます。
たとえば、実際はこういうふうにちゃんと電池につながっているけど回路図の上では省略しているだけなのだ、とか、
こういう奇妙な形の電池(網かけの部分)を使っているけど回路図の上では省略しているだけなのだ、とか。 そう考えると一応納得できます。
(※ ここで「納得できる」と言っているのは、「これ物理的に作れるの?」とか「これほんとに動くの?」などとモヤモヤせずに済み、「作ろうと思えば物理的に作れそうだ」という気分になれることです。 抽象化された図から具体的な例を考えられるか、と言ってもいいかもしれません。 電気ド素人なのでこういうとこが気になってしまうのです……。)
あるいは、奇妙な形の電池で、両端の極以外の胴体部分が透明になっていて見えないとか……まあここらへんでやめて次に行きましょうか。
途中で導線が途切れていると通電しません。当たり前。
図の見た目では「1本のエッジが途中で切れている」ように見えるかもしれませんが、2本のエッジです。
こういうパターンも通電しないでしょうね。これらはエッジ 1本。
行き止まりになっているエッジは通電しなさそう。
これはそういう回路を作らなければいいので無視してもいいんですが、考えられるパターンとしてついでに挙げてみました(ちなみにこの場合はエッジ 3本)。
スイッチも考えてみます。
スイッチが OFF だと通電しない。スイッチが ON だと通電する。
図では OFF の場合は線が途中で切れているように見えますが、 この場合はエッジは 2本とせず、「1本のエッジの上にスイッチが載っている」と考えることにします。 これはそう考えなければいけない訳ではなく、ルール決めというかモデル化の問題です。 そういうモデルにしました。
スイッチが複数ある場合。
この場合もエッジは 1本です。1本のエッジにスイッチが複数載っている。
1個でも OFF のスイッチがあると通電しない。 すべてのスイッチが ON になっている場合のみ通電する。
というわけで、主にエッジが 1本のパターンについて思いつくままに考えてみました。 とりあえずこんなところでしょうか。