2011-05-27 6 views
0

私は自分のサイトでユーザーエクスペリエンス/レベルシステムを構築中です。私が達成しようとしている効果は、一般的なゲームサイトKongregateのそれと似ています。それは、ユーザーがサイト上で特定のアクションを完了したときに、ポイントが与えられます。ポイントが一定量に達すると、ユーザーはレベルアップします。これは、ユーザーの注意を引くと同時に、サイトに感覚のようなゲームを与える効果があります。サイトワイドポイントシステムのユーザーレベルはどのように保存する必要がありますか? DBに?またはオンザフライで?

私が抱えている問題は、それが最善かどうかを判断することです。 1.各レベルをデータベーステーブルに保存し、IDを使用してそのレベルまでユーザーを一致させますか? 2.完了した操作のユーザーエクスペリエンスを保存し、レベルを呼び出す必要があるたびにその番号を合計しますか?

このレベルは、このシステムの他の側面を把握するために使用されることにも注意してください。すなわち、レベル10のユーザは、プロフィールの追加のシュワグを獲得し、サイト上に機能を追加するなど... LAスタックO.

正しい方向へのポインタはありますか?

答えて

3
  • レベルとそれに関連付けられた "権限"/"権限"をデータベースに格納します。
  • ユーザーの現在のレベルをデータベースのプロファイルに格納します。
  • ストア、彼らはその場でそれを計算し、(コメント、またはゲームまたは何を再生して)あなたのサイトからのポイントを追加しますが、それは間違いなく行われています一度データベース

でポイントになり、ユーザーの行動(アクションテーブル内の)データベースに格納し、ユーザーのテーブルなどの中で合計ポイントを更新して、サイトの他の部分で利用できるようにします。

これは作るより簡単にすべてのもの:

  • あなたは、彼らはそれだけで次の最低(または同等の)「盗品」レベルあなたが望む
  • に彼らの合計を比較する問題です持っているもの権限見たいですそれらの合計を得るためには、クエリと数学の束の代わりに1回の呼び出しです
  • あなたが行ったことのリストをデータベースに表示したいとき
  • コードを追加して複製しません表示する必要があるページの種類ごとに合計します 合計。
  • ...多分その他の理由のトン。 データは理由のためにツールの名前です。
+0

私はこれを行かなければならないだろうが、それは私が心に留めていたものであり、それに対して働いていた。確認していただきありがとうございます。 :-) – dnyce

0

私は、ユーザーがより多くのポイントを取得するたびに「レベル」を決定することをお勧めします。だから、彼/彼女はより多くのポイントを得るために何かをするとき、そこに計算を行います。ポイントがレベル上昇を保証する場合は、ユーザーのプロファイル内のlevel_idを変更します。そうすれば、サーバー側での計算を最小限に抑えることができます。

+0

これはAJAXスタイルで行われることを願っています。 :-D – FinalForm

+0

AJAXは確かに問題の答えですが、難しい部分はデータストレージです。私は、ロックレストは、システムのあらゆる面を、フライ計算の範囲外のデータに保存する必要があるという点で、正しいアイデアを持っていると思います。ユーザーはコメント10点、ゲーム10点20ポイント。20ポイントとそのアクションをDBに格納する。 – dnyce

関連する問題