ホームページ  >  記事  >  バックエンド開発  >  PHP Webゲーム開発入門チュートリアル1(Webゲーム+デザイン)_PHPチュートリアル

PHP Webゲーム開発入門チュートリアル1(Webゲーム+デザイン)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:43:231373ブラウズ

1. シンプルなプログラムフレームワーク。
ウェブゲーム プログラムは次の構成になっています:
3 つの部分。
最初はデータフローです。 2つ目は手続きです。 3つ目は芸術です。
その中で、データ処理には関数が含まれます。データフローは関数にのみ反映されます。
データ処理はかなり面倒なので後述します。
たとえば、商品を販売および購入する最も簡単な方法です。
この機能を実装するには。
次に、製品基本テーブル、製品詳細テーブル、ストア テーブル、バックパック テーブルが必要になります。スケーラビリティを強化する場合には、対応する二重テーブルが必須となります。
テーブルにある質問はどれも簡単です。重要なのは、このアイテムが何に使用されるかです。そのようなアイテムのソースは多くのデータであり、アイテムの方向性もまた多くのデータです。
最後に、これらのデータを一周する必要があります。
サークルって難しいですね。特に、より多くの関数と小道具がある場合。難易度は2のn乗です。

デザインパターンに習熟している場合は、ぐるぐる回る前に。そうすれば、プロセスを簡素化することができます。難易度は2のn乗から1に変化します。
必要な仮想クラスは 3 つだけです: コントローラー、イベント ファクトリ、抽象プロップ ファクトリに加えて、タイマーとタスク エディター、これら 2 つの一般的なクラスです。つまり、堅牢で拡張性の高い Web ゲームを構築できます。
ウェブゲームでは、コントローラーはページとほぼ同等です。あらゆるテンプレート技術を使用して簡単に処理できます。
イベントファクトリーは抽象クラスであり、作業、戦闘、移動などのすべてのイベントはイベントファクトリーによって生成されます。インターフェイスも同じなので、コントローラーの制御に便利です。ファクトリーモード。
抽象プロップ ファクトリは、都市、地図、機器などのすべてのプロップ ファクトリによって生成されます。インターフェイスは同じで、ファクトリー モード、イベントとプロパティの組み合わせはブリッジ モードです。

アート:
UI。シンプルで美しいインターフェースには常に利点があります。小さなアイコン。小道具、地図、装備。 1 つのカテゴリに少なくとも 10 個はありますよね?およそ数百個が必要となります。
プログラムは 5 つの部分に分かれています:
サーバータイマー。 (C言語または独自のサーバーのセットアップ) タイミングループで特定のコードを実行します。このコードは主にデータベース内のデータに基づいて更新されます。これを行う C 言語プログラマーを見つけることができます。 C 言語プログラマにとって、この関数は非常に簡単です。もちろん、データの加工やデータベースの運用の具体的な判断は自分で書く必要があります。 C プログラマーに標準コードを提供してもらうように依頼してください。 SQL ステートメントを完全にサポートします。
PHP の場合、それを実装するように corn を設定できます。ただし、どのようなオペレーティング システムであっても、最小構成時間は 1 分です。したがって、1 秒に 1 回更新される状況に対処したい場合。それを処理するための特別なタイマー プログラムも必要です。または、定期的に実行される PHP に sleep() を含める必要があります。もちろん、リアルタイムの対話があっても、サーバー側は無視できます。クライアントのみが対話の両側を処理します。 jsとajaxの実装。
機能ページと機能。主なものはデータアクセス、判断、データ方向です。
抽象クラスの使用が簡単になります。ただし、サブカテゴリーの爆発的な増加は不可欠です。
ajax関数。 (オプション) 擬似リアルタイムを必要とする特定の機能によって使用されます。
ゲームをよりクールに見せるため。これを使って。
JavaScript関数。 (オプション) クライアント側のデータ計算をシミュレートします。つまり、ウェブゲームの時間関連データです。 2つの部分に分かれています。その一部は実際のデータであり、サーバー側のタイマーによって計算されます。他の部分には初期値のみがあり、クライアントの表示に使用されます。リアルタイム同期は必要ありません。シミュレートされた同期のみが必要です。
ここにはいくつかの美しい UI 特殊効果も含まれています。結局のところ、それはゲームです。
データベース。基本データテーブルと詳細データテーブルの束。基本データテーブル:例えばレベル1からレベル100までのユーザーの初期属性値。詳細データ テーブル: 各ユーザーの特定の属性。
データベースを可能な限り最適化します。構造体が 1 バイトを使用できる場合は、2 バイトを使用しないでください。

2. 詳細な例。
データ フローについて単純に議論するのは困難です。
コードを与えずにプログラムについて議論するのはさらに苦痛です。
ここで使用されているのはphp+mysqlです。また、この例ではクラスを使用しません。十分な時間があれば、今年末までに、デザイン パターンを使用するメリットを説明するために、リアルタイム インタラクションを備えたシンプルな Web ゲーム コードとコア クラスを提供する予定です。
それでは、非常に単純なウェブゲームの観点から説明しましょう。適切なコードと組み合わせます。役立つはずです。欠点があればご指摘ください、個人的には助かります。
ゲームの遊びやすさ、数値バランス等は考慮しておりません。まず、簡単な例の実装だけを考えてみましょう。
それでは、ウェブゲームの基本的な内容は何でしょうか?
データベース: プレーヤー、マップ、都市、建物、武器、兵士。
機能: ログイン、アップグレード、個人戦、兵士間の戦い、都市との戦い、建物の建設、武器の製作、小道具の売買。
(注: 各関数は 1 つ以上のデータ テーブルに対応する必要があります。上記のデータベースにリストされているものは基本の基礎にすぎません。)
1 つ目は、地図、都市、建物です。
ここでは、複数の地図が存在し、都市が地図上にあり、建物が都市内にあると考えられています。
地図チャート
Map:Map_ID、X座標、Y座標、City_ID(都市ID)、説明。
Map_ID はマップの ID を指します。自動採番ではありません。マップは Map_ID であり、繰り返すことができます。
都市テーブル
都市: City_ID、都市名、都市所有者、都市レベル、都市リソース、説明。
建物テーブル
Build: ID、City_ID、建物名、建物レベル、建物機能。
その中で、地図チャートは都市の位置を決定し、都市テーブルは都市の関連データと所有者を決定し、建物テーブル内の複数の情報は特定の都市に属します。
テーブルが作成されると、表示されます。
for ループ。マップ全体を取り出すだけでOKです。
通常のウェブサイトのニュースリストとあまり変わりません。違いは、X 座標と Y 座標の位置を取得する必要があることです。 table または div を使用できます。


コード

コードをコピー コードは次のとおりです:

class Map//Map class
{
var $Map_ID) {

$this->M; ap_ ID = $Map_ID ;

mysql_select_db($db_name,$link);
$sql="select * from Map_ID='".$this->Map_ID."' 制限 1"; $sql,$ リンク);
echo "