ポーカーのマルチプレイヤー ゲームを設計しています。Human オブジェクトと Computer オブジェクトがあり、どちらもポーカー プレーヤーに必要なメソッドを含む Player インターフェイスを実装しています。ゲーム内のプレイヤーの ArrayList があり、各プレイヤーに移動して、ハンドをフォールドするかスタンドするかを確認する必要があります。全員がフォールドした場合、自分のプレーを最後にチェックした人が自動的に勝ちます。手札ごとに、スターティング プレーヤーをローテーションする必要があります。まず、ArrayList のインデックス 0 の人が最初に実行されます。秒針、インデックス1の人が先です。アイデアを跳ね返し、これらの機能をどのように実装するかについて人々の意見を聞きたいだけです。
当初、私はこのようなことをするという考えを持っていました。
public void poker(ArrayList<Player> players){
int foldCounter = 0;
int starter = 0;
while (weWantToPlay){
for (int j = starter; j < players.size(); j++){
//get the players game plan
players.get(j).getStand
//the player is folding
if (!player.stand()){
foldCounter++;
//doStuff
else{
//doStuff
}
}
//do more stuff and play poker
//increment starter so the next hand, the second person starts
// this obviously will not work, cause we need go to the end of the list, then wrap around
starter++;
//check who's folded to see if we automatically have a winner
if (foldCounter == players.size()-1){
for (Player element:players){
if (element.stand()){
winner = element;
break;
}
}
}
}
}