私はAndroid/Javaでゲームを設計していますが、これまでのところすべてが順調に進んでいます。ゲームは52のデッキからランダムなカードを表示し、ユーザーは次のカードが高くなるか低くなるかを決定する必要があります。スイッチとケースをメインクラスに入れましたが、スイッチとケースのステートメントを再実行して別のカードをランダムに引く方法がわかりません。
以下は私のクラスです。これほど多くは必要ないことはわかっていますが、これを機能させるために、元のクラスからコードを大幅に変更しました。問題は私のアプリにあるのではないことを知っています。Androidの経験が浅いためです...コードをチェックして、あなたの考えを教えてください。それはかなり幅広い質問であり、複数の答えがあるかもしれないので、私が解決策を使用するかどうかにかかわらず、私に関連する答えを与えるすべての人に賛成します。
ありがとう、
-スティーブ
私のメインゲームクラス:
public class Game extends SwarmActivity {
int cardNum;
Deck d = new Deck();
int x = d.shuffle();
String y = String.valueOf(x);
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.game);
Swarm.init(this, 1388, "1e02a1ecfa9483b7b62e7b32c7e055f3");
TextView t = (TextView) findViewById(R.id.score);
ImageView display = (ImageView) findViewById(R.id.display);
switch (x) {
case 0:
display.setImageResource(R.drawable.c_one);
cardNum = 1;
break;
case 1:
display.setImageResource(R.drawable.c_two);
cardNum = 2;
break;
case 2:
display.setImageResource(R.drawable.c_three);
cardNum = 3;
break;
case 3:
display.setImageResource(R.drawable.c_four);
cardNum = 4;
break;
case 4:
display.setImageResource(R.drawable.c_five);
cardNum = 5;
break;
---------- (5-49) ----------
case 50:
display.setImageResource(R.drawable.c_fiftyone);
cardNum = 51;
break;
case 51:
display.setImageResource(R.drawable.c_fiftytwo);
cardNum = 52;
break;
}
ImageView higher = (ImageView) findViewById(R.id.btn_higher);
ImageView lower = (ImageView) findViewById(R.id.btn_lower);
higher.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
lower.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
}
デッキクラス:(元々これは私のゲームクラスにありました)
public class Deck {
public int shuffle() {
Shuffle s = new Shuffle();
int[] shuffDeck = s.getShuffle();
int i = 0;
int x = shuffDeck[i];
String y = String.valueOf(x);
return x;
}
}
シャッフルクラス:(元々これは私のゲームクラスにありました)
public class Shuffle {
public static int[] getShuffle() {
int[] cards = new int[52];
ArrayList<Integer> cards_objs = new ArrayList<Integer>();
for (int i = 0; i < cards.length; i++) {
cards_objs.add(i);
}
Collections.shuffle(cards_objs);
for (int i = 0; i < cards.length; i++) {
cards[i] = cards_objs.get(i);
}
return cards;
}
}