問題タブ [leaderboard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
10 に答える
9005 参照

encryption - 非 Web ゲームの安全なオンライン ハイスコア リスト

私が書いているネイティブ (非 Web) シングルプレイヤー ゲームをいじっていて、毎日/毎週/全期間のオンライン ハイスコア リスト(Xbox Live Leaderboard を考えてください) がゲームを作ることに気づきました。さらに興味深いのは、(少量の)コミュニティと競争を追加することです。しかし、このような機能をハッキングへの誘いとして見る人がいるのではないかと心配しています。

私はそのような試みを防止する明白な方法 (公開/秘密鍵の暗号化など) について考えましたが、ハッカーが私のすべてのアイデアを回避できるかなり簡単な方法を見つけました (バイナリから公開鍵を抽出し、偽の暗号化されたファイルを送信する)。スコアなど)。

オンラインのハイスコア リストまたはリーダーボードを実装したことがありますか? これを実装するための合理的なハッカープルーフの方法を見つけましたか? もしそうなら、どのようにしましたか?ハッキングの試みについて、どのような経験がありますか?

0 投票する
2 に答える
2994 参照

python - Django:リーダーボードを作成する方法

約1,000,000人のユーザーがいるとしましょう。特定のユーザーがどの位置にいて、どのユーザーが彼の周りにいるのかを知りたいです。ユーザーはいつでも新しい成果を得ることができます。彼が自分の最新の更新を見ることができれば、それは素晴らしいことです。

正直なところ、これを行うことを考えるすべての方法は、時間やメモリの面で恐ろしく高価になります。アイデア?これまでの私の最も近い考えは、ユーザーをオフラインで注文してパーセンタイルバケットを作成することですが、それではユーザーに正確な位置を示すことはできません。

それがあなたのdjangoの人々を助けるならいくつかのコード:

0 投票する
2 に答える
1893 参照

python - フレンド間での各ユーザーの相対的なリーダーボードのリアルタイム更新

私はリーダーボードを実装するために私のアプリケーションの機能に取り組んできました - 基本的にスコアに応じてユーザーをランク付けします。私は現在、個人ベースでスコアを追跡しています。私の考えでは、このリーダーボードは絶対的なものではなく相対的なものであるべきです。つまり、サイト全体で最高得点の上位 10 人のユーザー、つまりユーザーの友人ネットワークの上位 10 人を表示するのではありません。誰もが自分のネットワークで 1 位になるチャンスがあり、この種のことに関心のある人には友好的な競争の形があるため、これはより良いように思えます。私はすでに各ユーザーのスコアを保存しているので、課題はそのスコアのランクをリアルタイムで効率的な方法で計算する方法です。私は Google App Engine を使用しているため、いくつかの利点と制限があります (例:

例えば

1st ジャック 100

2nd ジョン 50

これが私が思いついたアプローチですが、どれも非効率的であるように思われ、このコミュニティはもっと洗練されたものを考え出すことができると思いました. 私の感覚では、すべてのソリューションは cron で行われる可能性が高く、読み取り操作を最適化するために毎日のランクとリストの順序を保存しますが、より軽量でリアルタイムなものがあればクールです

  1. スコア順に並べられたサイトのすべてのユーザーのリストを取得します。ユーザーごとに、そのリストから友達を選び、新しいランキングを作成します。ランクとリスト順を格納します。毎日更新します。短所 - 多くのユーザーを獲得すると、これには永遠に時間がかかります

2a. ユーザーごとに友達を選び、友達ごとにスコアを選びます。そのリストを並べ替えます。ランクとリスト順を格納します。毎日更新します。各ユーザーの最後の位置を記録して、既存のリストを使用して次の更新の並べ替えを効率化できるようにします (並べ替え時間を節約できます)。

2b. 前日にプロファイルが表示された人のランクとリストの順序のみを計算することを除いて、上記と同じ 短所 - プロファイルを表示した 2 番目のユーザーのランクのみが最新です

0 投票する
4 に答える
4757 参照

ruby-on-rails - リーダーボードの実装

私のサイトのユーザーは、ラップの歌詞の注釈を作成します ()。最も多くの注釈を作成した人に報酬を与えるリーダーボードを作成したいと考えています。

リーダーボードでは、各ユーザーが全体で作成した注釈の数と、過去 1 週間、1 日などに作成した注釈の数を追跡する必要があります。

全体的なリーダーボードの実装に問題はありません:

しかし、毎日のスコアボードを (たとえば) 実装しようとすると、コードが繰り返され、操作が非常に遅くなります (データベースの並べ替え/カウントに依存するのではなく、メモリ内のすべての注釈を反復処理する必要があるため)。

毎日/毎週のスコアボードを実装する最良の方法は何ですか?

0 投票する
1 に答える
2095 参照

php - トーナメント ブラケットの描画 (PHP & GD)

私は現在、自分のプロジェクトの 1 つのトーナメント ブラケットの描画に取り組んでいます。小さい括弧の描画はうまくいっているようですが、16 になると動作がおかしくなり始めます。

リンクをたどって、8以降にどのように場違いになるかを確認してください.

http://www.mattdsworld.com/mmaplayer/index.php/tournament/viewBracket/2

http://www.mattdsworld.com/mmaplayer/index.php/tournament/viewBracket/4

http://www.mattdsworld.com/mmaplayer/index.php/tournament/viewBracket/8

http://www.mattdsworld.com/mmaplayer/index.php/tournament/viewBracket/16

http://www.mattdsworld.com/mmaplayer/index.php/tournament/viewBracket/32

http://www.mattdsworld.com/mmaplayer/index.php/tournament/viewBracket/64

http://www.mattdsworld.com/mmaplayer/index.php/tournament/viewBracket/128

その後、RAM エラーから抜け出しますが、これは RAM を正当に使用しているため、実際には問題ではありません。このスクリプトの最大値を上げることは正当化できます (もちろん、最終スクリプトですべてのページ読み込みが実行されるわけではありません。画像はキャッシュされます)。

とにかく、画像を進めていくとわかるように、画像はますます軌道から外れているように見えます。

コードはここにあります: http://pastebin.com/f5485b027 (このようなコードを投稿する必要がありますか、それともインラインで投稿する必要がありますか?よくわかりませんでした)

これを修正する方法について完全に迷っているので、アイデア/提案を入力してください. コードソリューションは必要ありません。数学/ポジショニングに関するガイダンスが必要なだけです。

ありがとう、マット

0 投票する
1 に答える
1270 参照

iphone - iPhoneアプリでカウントを起動

わかりました。iPhoneアプリが起動された回数を追跡したいと思います。この番号を、最もアクティブなユーザーの「リーダーボード」に使用します。コードは-DidBecomeActiveメソッドに含める必要があると考えました。これは、iOS4ではアプリがしばらくの間バックグラウンドのままになる可能性があるためです。

今ではそれはおそらく些細なことであり、必要以上に難しくしているだけですが、これを行う方法を一生理解することはできません。アプリが起動されるか、バックグラウンドから返されるたびに、起動数を1ずつ増やしたいだけです。

どんな助けでも大歓迎です。

0 投票する
1 に答える
409 参照

iphone - OpenFientリーダーボードカスタムUIiPhone

ゲームのオンラインリーダーボードにOpenFientを使用していますが、リーダーボードのデータ(トップ10など)を取得するにはどうすればよいですか?次に、それを自分のカスタムUIに表示しますか?開いているfeint画面を使用するのではなく?

ありがとう。

0 投票する
1 に答える
2058 参照

iphone - OpenFeint から高得点を得るには?

彼らのサポートで OpenFeint はこれを提供しますが、私にはよくわかりません。トップ 10 などのリーダーボード データを取得して、独自の UI に表示するにはどうすればよいですか?

元のリンク: http://www.openfeint.com/ofdeveloper/index.php/kb/article/000028

0 投票する
1 に答える
318 参照

sql - Foursquare の「市長」機能を実装する方法 - 過去 N 日間で最高のスコアを持つユーザーを見つけますか?

Foursquare では、過去 N 日間にある場所で最高のスコアを獲得したユーザーに、その場所の市長が授与されます。

それを実装する最も効率的な方法は何ですか?

ユーザーは何百もの場所にチェックインできた可能性があります。ユーザーが所有するすべての市長職を表示するには、何百もの場所を 1 つずつ調べて、各場所で過去 60 日間の最高スコアを持っているかどうかを確認する必要があります。これは非常に非効率に思えます。

タスクをすばやく実行できる SQL またはアルゴリズムの魔法はありますか?

更新: MySQL と Django を使用しています

0 投票する
1 に答える
471 参照

php - リーダーボードのランキング / MySQL の大量データ編成

ゲームの「リーダーボード」となる新しい Web サイトを作成しています。各ユーザーは、データベース内に統計用の列を持ちます (キル数、死亡数、ポイントなど)。

このデータを並べ替えて、各ユーザーに統計のグローバル ランキングを与える必要があります。これはテーブルの別の列になります。

どこから始めればよいかわかりません。テーブルを効率的に整理するにはどうすればよいでしょうか。