ホームページ  >  記事  >  バックエンド開発  >  Xnova(ogame)のソースコード解釈によるPHP Webゲーム学習(6)_PHPチュートリアル

Xnova(ogame)のソースコード解釈によるPHP Webゲーム学習(6)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:24:19732ブラウズ

9. 公開コード(common.php)

Common.php は Xnova の公開コードであり、クリックされるたびにほぼ実行されるため、ここで最適化すると、プログラム全体の効率が向上することはもちろん、このファイルによって呼び出される他のコードも最適化する必要があります。最適化されました。

リーリー

変数 $game_config はゲーム全体のパラメータ データを保存する必要があり、最適化方法はファイルに保存するなどです。 lang はローカル言語データを保存します。 $IsUserChecked レコード ユーザーがチェックされているかどうか。次に、将来のコードで使用されるシステム定数を設定し、前に紹介した小さな関数などの関数ファイルを組み込みます。


次に、インストール中に定義される定数 INSTALL を使用する必要があります。インストール中以外は、この判断が入ります。入力すると、いくつかのファイルがインクルードされます。includes/vars.php ファイルについて具体的に説明します。ここでは、データベースからデータを取得し、変数 $game_config に値を入力する必要もあります。

リーリー

上記は、Cookie に保存されているユーザーのログイン データを確認するためのもので、$InLogin = true の場合は実行されません。ここではユーザーの日常的な操作について説明しているため、ここでの $InLogin の値は false です。まず、関数 CheckTheUser() が呼び出され、パラメータ $IsUserChecked の値が false になります。CheckTheUser() は include/functions/CheckUser.php ファイルで宣言され、includes/functions で宣言された CheckCookies() 関数を呼び出します。 /CheckCookies.php. CheckCookies() 関数の機能は、Cookie 内の情報を使用してユーザーをチェックすることです。コードはリストされません。

CheckTheUser() が成功すると、変数 $user にユーザーのデータが書き込まれ、次の分岐が実行されます。このブランチはサーバーのパラメータ設定をチェックし、サーバーが管理者によってシャットダウンされるように設定されている場合、ユーザーの権限がチェックされ、権限が不十分な場合はエラー メッセージが表示されます。


次に、ユーザー アクティビティでフリートを処理する必要があります。これはロジックの 2 つのセクションに分かれています:

1. 現在時刻は艦隊が目的地に到着する時刻よりも大きいため、戦闘や輸送などのロジックを処理する必要があります

2. 現在の時間は、艦隊が出発点に戻る時間よりも大きいです。戦闘と輸送後に艦隊が戻るロジックも処理する必要があります。

各アクティビティは、処理のために関数 FlyingFleetHandler() を呼び出します。この関数を理解するだけで済みます。ユーザーが頻繁にクリックする場合、このロジックはリソースを非常に大量に消費するため、キャッシュするか毎回実行しないなど、ここで最適化することもできます。

艦隊の活動は対処されましたが、ミサイルの活動はどうなるのでしょうか?次の rak.php ファイルは、星間ミサイルを処理するために使用されます。ファイル機能には、ミサイル迎撃、ミサイルによって破壊された防御の数、攻撃された側へのメッセージの送信などが含まれます。特定のロジックも省略して、後で分析します。

次に、関数 SetSelectedPlanet() を呼び出して、プレイヤーが最後にいた惑星を取得します。この関数のパラメーターはアドレスによって渡されることに注意してください。この関数は include/functions/SetSellectPlanet.php で宣言されます。次に、2 つの変数値を取得する必要があります。$planetrow はユーザーの現在の惑星のデータを保存し、$galaxyrow は現在の惑星の銀河座標データを保存します。

最後に関数 CheckPlanetusedFields() を呼び出して、現在の惑星の使用スペースを更新します。同じパラメーターがアドレスによって渡され、includes/functions/CheckPlanetusedFields.php で宣言されます。

Common.php ファイルが分析されている場合は、ここでの効率性が非常に重要であることがわかるはずです。他の部分についても同様です。


http://www.bkjia.com/PHPjc/825511.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/825511.html技術記事 9. 共通コード(common.php) Common.phpはXnovaの公開コードで、クリックするたびにほぼ実行されるので、ここを最適化するとプログラム全体の効率が向上します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。