ランキング実装に向けて

ホーム フォーラム Android,iOS ランキング実装に向けて

  • このトピックには0件の返信、1人の参加者があり、最後にdaiにより5年、 5ヶ月前に更新されました。
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #15664
    dai
    参加者

    いつもお世話になっております。

    ランキングの実装を考えているのですが
    分からない事が多数あるため申し訳ないですが複数回に分けて投稿致します。
    お手数お掛けしますが宜しくお願い致します。

    まず初歩的な事になると思うのですが
    とあるカウントを順位表に表示する方法がわかりません。
    単純にある結果を結果順に表示と簡易なものでお願いします。(順位切り替えは無しで、イベント内容が複雑になって分からなくなると思うので、すみません)

    ファイルの方作成しました。
    宜しくお願い致します。

    Attachments:
    You must be logged in to view attached files.
    #15667
    ラクレス
    参加者

    こんばんは

    結果を新着順にリストするだけであれば
    リストオブジェクトの1行目に結果を挿入していく方法が簡単だと思います
    リストオブジェクトが扱うのは文字列なので
    挿入する時に値を Str$( ) で囲って文字列に変換してやります

    文字列オブジェトで表示したい場合はforeachを使って↑のリストから拾ってきます
    カウンターで表示したい場合も同じですが val( ) で囲って数値に戻してやる必要があります

    Attachments:
    You must be logged in to view attached files.
    #15670
    dai
    参加者

    サンプルありがとうございます。
    サンプルを確認しましたがリストの使用方法がわからず
    大きい数字順に並び変える方法がわかりませんでした。
    リスト内で並び替えるのか?
    あるいはリストから選択文字列等に入れる等考えられるのですが
    リストの式にどのように条件を加えれば良いのかわかりません。
    お願いします。

    Attachments:
    You must be logged in to view attached files.
    #15672
    ラクレス
    参加者

    結果を追加表示するだけならリストオブジェクトが一番楽と思いましたが
    並べ替えをしたい場合はそれなりに面倒な処理が必要になります
    ソート機能を備えたエクステンションが
    android/iosビルドに対応したものが無い為(あったらすみません)
    一から自作する必要があります

    並び替えのみに絞ったサンプルを作ってみたので参考にして頂ければと思います
    高速ループを使う場合と使わない場合でフレームを分けてあります
    表示数の少ないランキングでしたらループを使わずとも作れると思いますが
    10位までとなると45行、15位までとなると3桁を越えるイベントが必要になります
    ループの方は最初ややこしいかもしれませんが数に関わらず1行で済みます

    他にもっと色々簡単な組み方があると思いますし
    有用なエクステンションもあるかもしれませんのであくまで参考としてm(_ _)m

    Attachments:
    You must be logged in to view attached files.
    #15674
    ラクレス
    参加者

    ちなみに結果を1つずつランキングに参加させるやり方についてですが
    例えばTOP10ランキングを作る場合
    まず 1位 2位 ・・・ 10位 と変数を10個続けて用意し
    10位のすぐ後ろに 新着 などの変数を用意します

    ゲーム結果は 新着 に代入をし その後に
    1位~新着 の(11個)の変数を降順ソート処理をしてやる事で
    新しい結果をランキングに参加させると同時に 最低記録を 新着 の所に押し出せます
    これでランキングが埋まった後(11回目以降)でも
    ランク外の成績を除外しつつ新着結果を含めていく事が出来ます

    #15679
    dai
    参加者

    サンプルありがとうございます。
    ループを使わずTOP10のランキングは出来たのですが
    ループを使った場合のTOP50にしたとすると
    リストの51番目を新着にするわけですがその新着に数値を入れる方法がわかりません。
    出来ればループを使った例のサンプルに変更を加えて頂けると助かります。
    お手数お掛けしますがよろしくお願いします。

    #15680
    ラクレス
    参加者

    サンプルにも書きましたが ランキング結果を変数(0)から順に使用しているので
    変数(数値の数-1)がランキング最下位の数値が入る場所になります
    新着を入れる変数はその後ろなのでインデックスは(数値の数)となります

    ソート手順は 新着が加わる分処理をズラすだけでやり方は同じです
    新着を含めたソートにするのでループ回数を 数値の数-1 → 数値の数
    にして1増やし 比較を開始するインデックスも 1 ずらして
    変数(数値の数-loopindex-1) と 変数(数値の数-loopindex) にすればokです

    #15686
    dai
    参加者

    回答ありがとうございます。
    ソート処理に関して理解できました。
    次にランキングname入力について教えて下さい。
    キーボード作成等分からない事が多いためすみませんが別トピックにて
    お願いします。

8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • このトピックに返信するにはログインが必要です。