XNA:対戦スコアの表示
2009年06月11日
主にFPSのゲームでは、対戦中にTABキーを押すと、対戦中の全プレイヤーのスコアが表示されます。
XNA TANKもそれに習い、ゲーム中にBackボタンを押している間だけ自分の画面(ビューポート)にランキングと各プレイヤーのスコアを表示する事にしました。
スコアを表示するだけなら簡単だったのですが、ランク順に表示して、なおかつ
「スコアが同じプレイヤーを同じ順位にする」
という部分の集計アルゴリズムを考え付くのに時間がかかってしまい、今日やっとこさその作業が完了しました。
たとえば、プレイヤー1とプレイヤー2が同じスコアでの場合
1st Player1 Score:2
1st Player2 Score:2
2nd Player4 Score:1
3ed Player3 Score:0
という感じの表記になります。
単にスコアをソートして上から順番に順位をつけると
1st Player1 Score:2
2nd Player2 Score:2
3ed Player4 Score:1
4th Player3 Score:0
という表記になってしまい、美しくありません。というか、ランキング表記としては誤表記です。
一昨日ぐらいに良いアルゴリズムを思いついて作業に取り掛かったのですが、そのアルゴリズムにミスがあって、修正案を考えてさらに丸1日かかってしまいました(汁
まあ、色々思考錯誤して時間を使ってしまったわけですが、無事構想どおりのスコア表示が出来たので、今は満足してます。
ランキング表示がうまく働いたのを確認した瞬間はなぜか心拍数が上がってドキドキしました。
あのトキメキのような感覚は一体、、、、、ハァハァ
XNA TANKもそれに習い、ゲーム中にBackボタンを押している間だけ自分の画面(ビューポート)にランキングと各プレイヤーのスコアを表示する事にしました。
スコアを表示するだけなら簡単だったのですが、ランク順に表示して、なおかつ
「スコアが同じプレイヤーを同じ順位にする」
という部分の集計アルゴリズムを考え付くのに時間がかかってしまい、今日やっとこさその作業が完了しました。
たとえば、プレイヤー1とプレイヤー2が同じスコアでの場合
1st Player1 Score:2
1st Player2 Score:2
2nd Player4 Score:1
3ed Player3 Score:0
という感じの表記になります。
単にスコアをソートして上から順番に順位をつけると
1st Player1 Score:2
2nd Player2 Score:2
3ed Player4 Score:1
4th Player3 Score:0
という表記になってしまい、美しくありません。というか、ランキング表記としては誤表記です。
一昨日ぐらいに良いアルゴリズムを思いついて作業に取り掛かったのですが、そのアルゴリズムにミスがあって、修正案を考えてさらに丸1日かかってしまいました(汁
まあ、色々思考錯誤して時間を使ってしまったわけですが、無事構想どおりのスコア表示が出来たので、今は満足してます。
ランキング表示がうまく働いたのを確認した瞬間はなぜか心拍数が上がってドキドキしました。
あのトキメキのような感覚は一体、、、、、ハァハァ
Comment









![Microsoft XNAガイドブック [XNA ゲームプログラミングの基礎] Microsoft Xna Game Studio Express Creator\'s Guide](http://images.amazon.com/images/P/4862460593.09.TZZZZZZZ.jpg)









