ホームページ >バックエンド開発 >PHPチュートリアル >Xnova(ogame)のソースコード解釈によるPHP Webゲーム学習(5)_PHPチュートリアル
6. ゲームメインインターフェース(frames.php)
frames.php ファイルの機能は、ゲームのメイン インターフェイスを表示することです。まず次のコードを見てみましょう。
リーリー次に、前に説明した 2 つのファイルをインクルードし、最後に大きな HTML コードを出力します。 HTML コードでは 2 つのフレーム、つまり leftmenu.php とoverview.php が構築されていることに注意してください。これについては以下で分析します。
7. 左側のナビゲーションバー(leftmenu.php)
このファイルは実際には非常に単純です。上記の一般的なコードを除けば、ShowLeftMenu() 関数を宣言するだけであり、最後に display() を使用してページを出力します。 ShowLeftMenu() 関数は難しくありません。コードは、テンプレート ファイルを取得し、サーバーとログイン ユーザー レベルによって設定されたパラメータを取得して、ページを構築するだけです。注意すべきは、ユーザー レベル変数 $Level の値が 0 より大きい場合、管理者リンクが表示されることです。 $level の値で表されるレベルは、system.mo ファイルで定義されています。0 は一般プレイヤー、1 はゲーム運営者、2 はゲーム管理者、3 は管理者です。
8. 概要(overview.php)
このファイルは実際には、左側のナビゲーションバーの「概要」に対応するリンクであり、その主な機能は、現在の惑星の一般的な情報と、他の惑星の現在のステータスなどを含むユーザーの情報を表示することです。コードの量は多くなりますが、実際の構成は非常に明確なので、コードの最初の数行をスキップします。
リーリー
次のステップは、この機能をパラメータで有効にする必要があります。このようなコードは今後は分析する予定がほとんどありません。ゲームプロセスを実行します。次はスイッチで、2 つの分岐があり、1 つは惑星の名前を変更する (惑星を放棄する) ためのもので、今は見ていません。もう 1 つのデフォルトの分岐は、次のとおり、ログイン後に実行されるプロセスです。
1. ユーザーのメッセージを確認し、新しいメッセージがある場合はメッセージリンクを表示します
2.エキスパートシステムの処理については、このロジックは自分で外したので、解析するつもりもありません
3. ユーザーがフリートアクティビティを持っているかどうかを確認し、持っている場合は、後で紹介する BuildFleetEventTable 関数を使用してフリートアクティビティ情報テーブルを構築します
4. ユーザーが他の惑星を持っている場合は、他の惑星のリストを作成し、各惑星の現在の活動を表示します
5.自分が発射したスターミサイルや他のプレイヤーからの攻撃のアクティビティ情報を表示
6.その他お知らせ、Google広告等の情報表示
7. 月がある場合は、月の情報を表示します
8. 以下は惑星名、惑星空間、ユーザーランキング、その他の情報です。かなり乱雑です
上記の処理のコードはすべてコメント化されていますので、理解するのは難しくありません。
リーリー
前のブランチを簡単に紹介します。ブランチには 3 つのプロセスがあります。
1. 惑星の名前を変更します。コードは難しくないので、言うことはあまりありません
2. 地球への植民地化を諦め、ユーザーにパスワードを入力させるページを表示します
3. ユーザーがパスワードを入力すると、この惑星の情報とユーザーのデフォルトの惑星 ID が更新されます (月は判定されません)
この時点で、ユーザーがメイン ゲーム インターフェイスにログインするプロセスは明確になり、最終的にゲームに入ります。