まさはる's Weblog |
Macintoshとオーディオの話題 |
« 7 Billion Humans | トップページに戻る | Movable Type 7 r.4503へのアップグレード » |
2019年2月16日7 Billion Humans(その2)Category : Game 7 / Posted at 2019年2月16日 19:32前回の続きでSteamから購入したTomorrow Corporationの7 Billion HumansのMac版の話題です。今回は、行数目標とスピード目標に関する話で、まずはスピード目標から。 13年目の「穴埋め要員2」 右側のプログラムを見るとまともなプログラムではないのがすぐに分かります。このゲームは、パネルの値は変わっても、パネル等の配置は変わらないので、課題によってはこういうチョンボ的なプログラムが可能です。 目標時間の1/10の5秒で実行完了できます 次は真面目に時間を短縮した例です。 42年目の「メール振り分け」 この課題はランダム性が強いので、最初に社員を一歩右に動かして、なるべく中心から作業ができるようにしています。 平均151秒で実行完了 なんと、最速の159秒を塗り替え!? 珍しい事もあるものです。簡単には最速・最短は越えられないと思っていましたが、最速を越えられるとは。ちなみに、記録を塗り替えたからといって、最速・最短の記録サイトがその都度更新される訳ではなさそうです...残念。 位置はメモリー同士で判定する方が速くなります 42年目の「メール振り分け」の場合、パネルの値に合ったシュレッダーを使う必要があり、シュレッダーの前で移動することになりますが、自分の足元のパネルの値をメモリーに記録して、メモリー同士で判定する方が処理速度は速くなります。 作業を専属させる方が速くなります 26年目の「コンベヤの如く・極」のように個人の作業内容が決まっている場合、最初にif文で個人を特定し、そのif文内で作業をループさせると処理速度が速くなります。 相手に会話してから作業をすると速くなります 64年目の「バイナリカウンター」のように会話が必要になる場合は、先に会話をしてから自分の作業をすると、全体の処理速度が速くなります。 0を99に書き換えればいいだけですが... 32年目の「置き換え問題」は0で繋がったパネルを99に書き換えればいいだけですが、行数目標が6行以下とかなり厳しい...。最短は5行ということなので、上の絵は5行にしてみたプログラムです。 致命的ではないにしろ、エラー吐きまくり... 平均999秒でなんとか処理 もう1行追加することが許されているので、エラーを吐かないようif文を入れるのが正しいのでしょうねぇ...。 最短を超えて8行にしてみましたw 平均1198秒ですがタイムオーバーがいくつか... これは最短の9行を塗り替え!? これはゲームなので処理できない場合があってもいいと思いますが、実際にこんなプログラムは無いでしょうね。 |
« 7 Billion Humans | トップページに戻る | Movable Type 7 r.4503へのアップグレード » |
まさはる's Weblog, Copyright © 2000-2024 まさはる. |