最初に、質問のタイトルについてお詫び申し上げます。これに名前を付けるかどうかはわかりませんでした。
とにかく、私はゲームに取り組んでおり、それぞれが多数のペットを飼うことができる多数のプレーヤーがいる可能性があります。プレイヤー クラス、ペット クラス、メイン クラスなど、ゲームの主要な構造を開発しました。そこから、プレイヤーの数と、各プレイヤーが希望するペットの数を尋ねる GUI に取り組んできました。各プレイヤーのペットの作成方法に行き詰まっています。
プレイヤーがペットの種類を選択し、名前を付けてからペットを作成するように求める、かなり基本的なフォームを作成しました。
public void createPets( final Player player){
//various buttons,comboBox and labels go here
//layout managers
//add it all to a frame
JButton jbCreatePet = new JButton("Create Pet");
jbCreatePet.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String name = jtfName.toString();
if (cbSpecies.getSelectedIndex() == 0){
Alien alien = new Alien();
alien.setName(name);
player.getAllPets.add(alien);
}
else if(cbSpecies.getSelectedIndex() == 1){
create other pet2
}
else{
create other pet3
}
}
});
player is a Player object passed into the method using a for loop..
for (Player player: allPlayers){
createPets(player);
}
for ループを使用するのは正しくないことがわかりました。たとえば、フォームは単に最後のプレイヤーにスキップし、他のプレイヤーはペットを作成できません..
だから私はいくつかの質問があります:
作成したペットをすべてのペットのプレイヤー リストに割り当てると、Eclipse から最終的に作成する必要があると通知されました。理由はある程度理解できますが、プレーヤーのパラメーターを最終的なものにすることで、他のプレイ用のペットを作成できなくなり、最初のプレーヤーのみが作成できるようになるのではないかと思っています..
各プレイヤーにフォームを表示するにはどうすればよいですか。たとえば、ゲーム内の 2 人のプレイヤーが両方とも 2 匹のペットを飼っている場合、プレイヤー 1 がペットを選択し、名前を付けてから作成すると、別のペットを作成する必要があると言われます (フォームが再び表示されます)。そのため、彼は別のペットを作成し、そのプレーヤー 2 は 2 匹のペットを選択して作成する番です...適切なプレーヤー引数を適切なタイミングで createPet メソッドに渡す方法を理解しようとしていると思います...
他に何か明確にしたいことがあれば教えてください...
これを手伝ってくれる人に感謝します!!!!