2010-12-12 16 views
1

私はjavaでメモリのネットワークゲームを開発しています。これは次のように動作します(または動作します):GUIを使ったJavaメモリゲーム - 文字列と配列の比較

クライアントがサーバーに接続します。サーバーはランダムに1〜100の12個の値を生成し、これらの値を文字列を介してクライアントに送信します。クライアントには12枚のカード(トグルボタン)のボードがあります。値の文字列を受け取ると、クライアントはこれらの値を12枚のカードに入力します。カードには10秒間の値が表示されます。ユーザは、トグルボタンを正しい順序で(すなわち、最も低い数字から最も高い数字に向かって)順番にクリックする。カードが切り替わると、そのカードの値が文字列に追加されます。 12枚のカードがすべて選択されると、その文字列がサーバーに返送されます(PLAYER \ 1 \ 2 \ 5 \ 8 \ 20 \ 38 ...)。サーバーは文字列を受け取ると、送信された元の文字列と比較します。クライアントが正しければ、その人物の得点が増加し、ボードが再生成されます。

私はまだこれをコーディング開始していないが、私は、次の想定:

サーバは、配列に整数を置きます。その配列は文字列に変換されます。文字列が送信されます。クライアントに到着すると、 '\'デリミタに基づいて文字列を配列に配置する.splitメソッドが使用されます。私はその後、何とか新しく作成された配列内のランダムな値をカードに置く必要があります。また、カードをクリックして値を取得して文字列に追加できるようにする必要があります。

誰もがこれを行う最善の方法について何か提案がありますか?

+0

なぜデータをint配列として送信しないのですか? – Cephalopod

答えて

1

ワイヤで区切られた文字列を使用することは合理的です。インスピレーションのために、exampleはメモリゲームにJToggleButton、ネットワーク通信にソケットを使用するのはexampleです。

+0

ありがとうございます。それは本当に有用です:) – ichise

1

なぜクライアントが乱数を生成して結果を確認しないのですか?サーバーに渡す必要があるのはスコアだけでした。

+0

それは良い点です。を除いて、私は複数のクライアントが必要ですので、クライアントが別のボードを生成した場合、それは不公平ですか? – ichise

+0

ボードが同じである必要がある場合は、ランダムシードをすべてのクライアントに渡すことができます。そのランダムシードから任意の量の乱数を作成し、それらが同じであることを確認することができます。しかし、複数のテストを実行し、それらが真にランダムであれば、不公平さもなくなります。 –