1

ライブストリームのブラウザベースのレーシングゲームを開発しています。私たちの候補者はスタートポイントからレースを開始し、STOP会場にチェックインした最初の候補者がレースに勝ちます。

たとえば、この会場はSTOP会場になります: https ://foursquare.com/venue/2154697

しかし問題がある。たとえば、今はSTOP会場から1.3 km離れていますが、チェックインしてレースに勝つことができます:)距離を計算する必要があり、距離が100メートル未満の場合は候補者が勝ちます。

どうすればそれができますか?

すぐに、私は確認する必要があります、候補者は本当にこの会場にいます。

4

2 に答える 2

2

上記の理由から、チェックイン機能を使用して勝利を判断しないことをお勧めします。むしろ、フォースクエアから勝者の場所を取得してから、デバイスの緯度/経度のネイティブルックアップを使用して比較することをお勧めします。

ブラウザベースのゲームを作成している場合は、最新のOSのブラウザ(iOS、Android、Palmなど)のJSでGPS情報を直接取得できます。現在、ほとんどすべてのアプリフレームワークがこれをサポートしています。ブラウザでのGPSルックアップは正当な仕様ですが、このような相互互換性を支援する便利なJSワーパーがあります[[ http://code.google.com/p/geo-location-javascript/ ]]

これで、「宛先」の緯度/経度とプレーヤーの実際の位置がわかったので、三角法を使用して位置からデルタを計算できます。ただし、緯度と対数のデルタ自体は、曲面で遊んでいるため、減算ほど単純ではないことに注意してください。幸いなことに、このstackOverflowの記事では、これを行う方法について説明しています[[ 2つのGPS座標間の距離を計算する]]

于 2011-07-17T16:49:27.320 に答える
1

ユーザーが正しい場所にいることを確認する最も信頼できる方法は、ユーザーが見つけて入力しなければならないその場所に、ある種の秘密のコードを配置することです。

ある種のゲームを実行しているように見えるので、コードを含む安価なギフト(チョコレートやケーキなど)を手配してみませんか?

もちろん、これは、選択した場所が何らかの方法で管理している場所である場合にのみ実行できます。カフェフランチャイズとの提携を手配し、カフェの場所を立ち寄り場所として使用することができます。

スタート地点でシークレットコードを入力すると、カフェに到着したら、ユーザーは自分のシークレットコードをペストリーなどに変換でき、そのコードを使用してエンドコードが生成されます。

于 2011-07-17T16:58:36.827 に答える