17. リソースの更新 (PlanetResourceUpdate.php ページ)
重要な機能については以前に説明しました。この章では、PlanetResourceUpdate という重要な機能を分析します。その主な機能は、リソースを更新し、船と防衛ユニットを製造することです。コードは非常に詳しく説明されています。
1. システムによって設定された浮動値を含む、惑星の最大ストレージ容量を計算します
2. 専門家のボーナスを含む、地球の 3 つの資源の総生産量とエネルギー消費量を計算します
3. 惑星が月の場合、上記で計算された出力とエネルギーはそのまま 0 になります
4. 前回のリソース更新からの時間を計算します
5. エネルギー比による出力の変化を計算します。エネルギーが0のときは、基本出力のみです
。
6. 次に、休日かどうかを判断する必要があります。休日でない場合は、事前に準備したデータに基づいてその期間の生産量を計算し、既存のリソースに追加します
7. この期間内に完了する必要がある船舶と防御の数を取得します (関数 HandleElementBuildingQueue
)
8. SQL ステートメントを構築し、サーバーに送信すると、リソースの更新が完了します
この関数は、プレイヤーが各関数をクリックするたびに実行されます。プレイヤーは、あたかもリソースが事前に計算されているかのような感覚を与えます (笑)。ただし、一部のバージョンでは、プレイヤーが長期間ログインしないと、プレイヤーのリソースを更新できなくなります。このとき、特定の更新方法はスパイ検出を使用する必要があります。随時更新します。
以下はHandleElementBuildingQueue関数について説明します。ロジックは複雑ではなく、理解しやすいです。
ここで覚えておくべきこと:
b_hangar_id はビルドされる文字列、b_hangar は最後に維持されたビルド時間 です。
1.まず建設キューがあるかどうかを判断します
2. 経過時間を取得し、保持時間を追加します
3. 構築キューを解析し、後で使用できるように配列に保存します
4. 以下の foreach が 1 つずつ構築されます
5. 最後に、やり残したことがあれば、次回まで取っておき、戻ってきます