【Spacechem-tips】Sync-2 交互に実行

TOC

  1. 例: ヘーパイストスIV KOHCTPYKTOP
  2. 使い道

こんにちは。

Spacechem の解法、Sync の2つ目です。

今回は Sync コマンドの応用の使用法の1つである、

交互に実行

について説明しようと思います。

具体的には、

1つのウォルドの処理が終わったら、もう1つのウォルドの処理を行う

というのを繰り返すことです。

例: ヘーパイストスIV KOHCTPYKTOP

例として、ヘーパイストスIV のサイドストーリー、
KOHCTPYKTOP を見てみましょう。

spacechem-sync-alternate

ヒ素とホウ素を、1つずつ交互に ψ に出力しています。

これも Sync コマンドを使って実装しています。

どのように実装しているのか見てみましょう。

spacechem-sync-alternate-description

Sync コマンド2つが使われていますね。
これは前回、「待機」としての「同期」で説明したのと同じ方法で、
片方の処理が終わるのを待機している、という意味です。

注目すべきは Start ブロックの位置です。
赤のほうは Sync に挟まれて、
青のほうは Sync の手前にあります。

ここからわかるように、青のほうは赤の処理がすべて終わるのをまず待機していて、
その後、赤のほうは青の処理がすべて終わるのを待機している
のです。

このようにすることで、交互に実行することができています。

使い道

1つの物質を2つの反応装置へ分岐させたり、
あるいは2つの物質を1つの反応装置へ集めたりするときに使えます。

しかし、この方法は、後に出てくる Flip Flop で、
必要なくなってしまいます。
わざわざ2つのウォルドを使わなくても、1つのウォルドで交互に処理ができるようになるのです。

Flip Flop が使えるのはアトロポス基地以降なので、
それまではかなり使えて便利な解法パターンです。