2018年4月16日月曜日

NetjsでBig Farmの畑/庭/原の作付け数計算機をWebアプリ化してみた

で、表題のものがこれ。元はC#製なのですが、出来心でコア部分だけNetjsでTypeScript化->TSCでJavascript化したものに超適当にhtmlのガワをつけたものですが、なんと動きましたので記念にここに置いときます。

例えば、1回あたりの作付けで500個のルタバガを得たいとき、直近以下の収穫を得るためには指定した畑の数の範囲内でいくつ畑を使って、さらにどんな腐植土を使えばいいかを計算します。
具体的にはHWEでのレベル7をぎりぎりで維持するときに必要な量を計算したいとか、Themed eventでの作付数の算出とか。
    使いかた
  1. 作付け対象作物を選ぶ(スペシャル種は組合せ数の爆発を避けるため別扱い)
  2. 自分が持つマニュアルによる増加分を入力する
  3. 作付け可能な畑やら庭やらのレベル別の面数を入力する
  4. 収穫を望む数を必要数欄に入力する
  5. 使用する腐植土をチェックする
    黄=腐植土、青=スーパーだったかスペシャルだったかな。まあそんな感じ。
  6. ボタンを押して計算させる。
腐植土のチェックボックスは計算後も計算条件以下であれば再計算なしに絞り込みにも使えます。例えば黄と青で検索したけど青を除外したい場合に青のチェックを外すとか。難癖がつきそうな機能なので廃止。

なお、C#からNetjsを使ってjavascript化してみる目論見が主目的でしたので、バグがあろうが使用したことによりあなたのPCが破損しようがこちらは一切関知しませんし、これ以上何もしません。

ちなみに、畑の面数、畑レベルの種類が多くなるほど、探索組合せ数が爆発的に増加します。計算できるかどうかはあなたのPCの性能次第です。
参考までにうちでは14,270,256通りの組み合わせでも余裕でした。一応Core i7+ChromeとFirefoxで確認。といっても過去の遺物なHaswellだけど。

作付け対象作物:
マニュアルによる増分

播種先レベル別面数


レベル1
レベル2
レベル3
レベル4
レベル5
レベル6
レベル7
レベル8
レベル9
レベル10
必要数
結果欄
入力内容のチェックは何もしてないよ。
見栄を張って大量の畑面数を入力したりするとブラウザがクラッシュしても知らないよ。

0 件のコメント:

コメントを投稿