Nintendo Switchのプログラミングパズル『セブン・ビリオン・ヒューマンズ』。
ヒント集vol.4です。
「ヒントが欲しい。でもズバリな答えは知りたくない」
そんな人のための記事です。
正解のコマンドパターンは載せませんので、そのつもりでご覧ください。
今回は「53年目」~「68年目」までを取り上げます。
これで最後です!
前回はこちら
-
セブン・ビリオン・ヒューマンズ(7 Billion HUMANS)攻略ヒント集 vol.3 / 36年目~52年目
「答えは知りたくない。ヒントが欲しい」というあなたのための、『7 Billion HUMANS』攻略ヒント集。「行数」「スピード」個別にサポート。「36年目」~「52年目」です。
なお、ここで取り上げるヒントも「一例」です。
人によってさまざま解法があります。
スポンサーリンク
目次
コマンド解説
「53年目」~「68年目」までに初登場するコマンドの解説をします。
それ以前のものはこちら。
コマンド
▼forEachDir(フォー イーチ ディレクション)
自分の周りの8マスをスキャンします。
スキャンするマスは指定できます。
スキャンは左上から時計回りにおこない、指定した「mem」に代入します。
「forEachDir」の行内で、スキャンしたものを処理します。
全てのスキャンと処理が完了したら、「forEachDir」の行を抜けます。
攻略ヒント集
53年目 100のパネル
▼使えるコマンド
step | pickUp | drop | write |
calc | set | tell | listen |
if | jump | end | コメント |
▼行数目標達成のヒント
目標:16行以下
まずは全員を右端のパネルの上に立たせます。
一番上の社員以外は「listen」で待機。
一番上の社員は、計算してパネルに数字を書き入れて、下に「tell」。
これを繰り返しますが、「一番上かどうかをどう判断するか」を「if」で指定することで、上から順番に行動してくれます。
▼スピード目標達成のヒント
目標:80秒以内
「calc」で計算する回数を減らすことで、スピードが早くなります。
「write」で直接「0」~「10」までを書きいれ、
左に移動→右の数字に10を足す→足元のパネルを拾う→書き入れる→置く
を繰り返しましょう。
54年目 無難な答え
▼使えるコマンド
step | pickUp | drop | write |
calc | set | tell | listen |
if | jump | end | コメント |
▼行数目標達成のヒント
目標:26行以下
全員足元のパネルを「calc」で足しながら上へ移動します。
一番上に到着したら、合計値をパネルに書き、端の社員以外「listen」で待機。
隣の数字を足しては、「tell」で渡して行きます。
合計値を49で割って出た数字が平均値です。
▼スピード目標達成のヒント
目標:90秒以内
基本的な動きは「行数目標」と同様です。
最初のパネルまで計算せずに移動すると、スピードアップ。
55年目 フラワーデータ
▼使えるコマンド
step | pickUp | drop | write |
calc | set | if | jump |
forEachDir | end | コメント |
▼ヒント
「行数目標(8行以下)」と「スピード目標(25秒以内)」の同時達成が可能です。
「forEachDir」の練習問題です。
「forEachDir」の行内では、合計用の「mem」に、「スキャンしたmem」+「合計用のmem」を入れていきます。
56年目 出る杭は打たれる
▼使えるコマンド
step | pickUp | drop | giveTo | write |
nearest | calc | set | if | jump |
forEachDir | end | コメント |
▼ヒント
「行数目標(8行以下)」と「スピード目標(14秒以内)」の同時達成が可能です。
こちらも「forEachDir」の練習問題です。
「forEachDir」の行内に「if」を入れて、最大のパネルを判断します。
「大きい時だけ、記憶する」という感じです。
57年目 ご近所付き合い
▼使えるコマンド
step | pickUp | drop | write | calc |
set | tell | listen | if | jump |
forEachDir | end | コメント |
▼行数目標達成のヒント
目標:16行以下
周りにあるのがパネルかどうか判断させるのは、「forEachDir」の行内に「if」を入れ、「>=0」。
両端から同時に行動をさせると、行数がかかります。
右端の人は通常通り動き、左端の人は一度右端に移動させてから行動してもらうと良いでしょう。
▼スピード目標達成のヒント
目標:100秒以内
行数を使い、両端から行動させます。
最初の2歩は「step」で指定すると、少しスピードを稼げます。
58年目 ほどよい距離感
▼使えるコマンド
step | pickUp | drop | write |
nearest | calc | set | if |
jump | forEachDir | end | コメント |
▼行数目標達成のヒント
目標:10行以下
全てのパネルを壁際に置くと、条件を達成できます。
ランダムで移動し、壁際ではないパネルを拾い、壁際に移動して、パネルがなければ置く。
以上を繰り返します。
時間がかかります。
▼スピード目標達成のヒント
目標:175秒以内
パネルは全て壁際に。
壁際にパネルが置かれている場合は、壁に沿って移動。
パネルがなければ、置く。という指示をします。
パネルを「pickUp」してから「nearest パネル」することで、拾ったパネルの近くのパネルを記憶できます。
59年目 虎の穴
▼使えるコマンド
step | nearest | calc | set | if |
jump | forEachDir | end | コメント |
▼行数目標達成のヒント
目標:7行以下
「forEachDir」で周りのパネルをスキャンし、最も小さいパネルの上に移動しましょう。
「足元のパネルより小さい数」を「if」の条件に含みます。
「if」で足元のパネルが「1」なら、最も近くの穴に落ちましょう。
▼スピード目標達成のヒント
目標:15秒以内
正解の穴はわかっているので、社員それぞれがその穴に落ちることができるよう、個別に指定します。
右側の5人は、それぞれ「if」で特定して直接「step」を書き入れます。
ルートが同じになるところがあるので、「jump」で簡略化できます。
それ以外の社員は、「行数目標」と同じような指示で行きましょう。
60年目 人手不足
▼使えるコマンド
step | pickUp | drop | giveTo | takeFrom |
set | tell | listen | if | jump |
forEachDir | end | コメント |
▼ヒント
「行数目標(12行以下)」と「スピード目標(200秒以内)」の同時達成が可能です。
下とその隣のパネルの数を比べ、正しい順番に並べ替えます。
パネルを拾い、一旦列からずらして置き、正しい順番に置き換えると良いでしょう。
斜め下のパネルを拾って足元に置くと、スムーズです。
誤作動を避けるため、両隣りに社員がいないことも、「if」の条件に含めます。
61年目 めんどくさがり屋さん
▼使えるコマンド
step | pickUp | drop | takeFrom | write |
nearest | calc | set | if | jump |
forEachDir | end | コメント |
▼行数目標達成のヒント
目標:11行以下
ランダムに歩き回り、足元のパネルが4以上なら「forEachDir」で周りをスキャン。
「最も小さい数字+1」を書きこみます。
「step」が完全にランダムだと左側になかなか行かないので、ランダム方向を調整しましょう。
リザルトのランダムテストで「失敗ケース」が出ても、半分以上クリアしていれば正解扱いになります。
▼スピード目標達成のヒント
目標:250秒以内
最初に半分の社員に「step」を左に複数指示し、あるていど左側に行ってもらいます。
そこからは「行数目標」とほぼ同じですが、書きこんだあと移動する前に「forEachDir」で「99以上のパネルがあれば、先にそちらに移動」を指定するとスピードアップします。
62年目 スペース不足
▼使えるコマンド
step | pickUp | drop | giveTo | nearest |
calc | set | tell | listen | if |
jump | forEachDir | コメント |
▼ヒント
「行数目標(48行以下)」と「スピード目標(174秒以内)」の同時達成が可能です。
作業は1人でした方が良いです。
1人になるよう、他の4人には落下してもらいましょう。
一度パネルを全て下半分に並べてから、戻します。
中心に立って「forEachDir」で小さいパネルから動かしていきましょう。
行動回数を「set」と「calc」で管理するとスムーズです。
63年目 スキマなく詰めて1
▼使えるコマンド
step | pickUp | drop | nearest |
calc | set | if | jump |
forEachDir | end | コメント |
▼行数目標達成のヒント
目標:28行以下
1番下にいるときに最も近いパネルを拾い、左下まで移動。
床の空白の有無を確認しながら、左から右、右端に着いたら1つ下にさがり、左端に移動。
また空白を確認しながら右へ。
そのまま、一番下に着いたらまた近いパネルを拾って、くりかえし。
▼スピード目標達成のヒント
目標:95秒以内
パネルが置いてある場所も、スキマの場所も固定なので、1つ1つ指示すればOK。
「nearest」を使えば簡略化します。
ランダム性を入れなければ毎回同じ動きをしますので、拾った人からスキマの場所まで、「if」で判断して「step」指示をすると良いでしょう。
置いたら、下まで移動して「nearest」。
64年目 バイナリカウンター
▼使えるコマンド
step | pickUp | drop | calc |
set | tell | listen | if |
jump | end | コメント |
▼ヒント
「行数目標(17行以下)」と「スピード目標(54秒以内)」の同時達成が可能です。
「if」にボタンが追加されました。
ボタン係の社員は、左上に「tell」し移動。
「listen」で待機し、声がかかればまたボタンを押す。を繰り返します。
パネル係の社員は、「listen」で待機し、ボタン係とコンタクトを取りながらパネルを置いたり拾ったりします。
1人ずつ行動できるように、左に「tell」をしていきましょう。
65年目 スキマなく詰めて2
▼使えるコマンド
step | pickUp | dro | nearest |
calc | set | if | jump |
forEachDir | end | コメント |
▼行数目標達成のヒント
目標:25行以下
動きとしては、
全員左上に向かう→右に移動しながら足元を確認→パネルを拾う→左上に戻り、右に移動→足元が空いていたら置く。
右端に着いた場合は一歩下に行き、左端へ。
の繰り返し。
「set」で足元を「mem」することで、詰めるべきスキマなのかを判断します。
▼スピード目標達成のヒント
目標:500秒以内
「列を変えて左端に行く」等の部分を「step」を複数置いて指定。
後は「行数目標」とほぼ同じですが、「drop」した場所を「set」し、パネルを拾ったらそこへ「step」することで、時間短縮になります。
66年目 デシマルカウンター
▼使えるコマンド
step | pickUp | drop | write |
calc | set | tell | listen |
if | jump | コメント |
▼行数目標達成のヒント
目標:23行以下
まずは全パネルをセンサーに乗せます。
「バイナリカウンター」と同様に、「listen」と「tell」を使い、数字を表示していきます。
持っているパネルに「+1」していき、書きこんで置いて行きます。
数が10以上にならないよう、「if」で条件を変えて「set」しなおします。
999999の次に行く時は、「tell」を「みんなに」しましょう。
▼スピード目標達成のヒント
目標:120秒以内
ボタン係は、ボタンと左を行き来して押すと良いでしょう。
999999から桁が上がる時以外は、「tell」「listen」を使わずにできます。
「listen」で待機してもらいましょう。
67年目 ダブルアップカウンター
▼使えるコマンド
step | pickUp | drop | write |
calc | set | tell | listen |
if | jump | コメント |
▼ヒント
「行数目標(25行以下)」と「スピード目標(250秒以内)」の同時達成が可能です。
全員が「calc」で「×2」を計算します。
2ケタになる時は、-10。
右が5以上の時は、自分のパネルを+1。
にすると、ちゃんと計算してくれます。
68年目 サラバジンルイ
▼使えるコマンド
step | nearest | set | tell | listen |
if | jump | forEachDir | end | コメント |
▼ヒント
「行数目標(9行以下)」と「スピード目標(50秒以内)」の同時達成が可能です。
左側にいる社員は、右下に。
右側にいる社員は、左下に。
それ以外は下に「step」。
最後かどうか判断するのは、「nearest」で社員が「何も無い」です。
まとめ
いかがでしたか?
「行数目標」と「スピード目標」の同時達成は、私自身が実際にクリアした場合のみ載せています。
もしかしたら他にも同時達成できる問題もあるかもしれません。
あくまで参考としてください。
ラスト周辺は非常に難度が高く、ヒントの説明も上手くできたか自信ありませんが・・・。
解法のとっかかりになれば幸いです。
ありがとうございました。
-
【毎月更新】2024年の「フリープレイ」まとめ【PS Plus】
2024年に配信のPS+「フリープレイ」タイトルを紹介します。毎月更新し資料記事にしていきます。