Avatar billede xyon Nybegynder
09. maj 2006 - 20:46 Der er 6 kommentarer

Tilføj forskellige objekter til en liste

Hey folkens,

Lige et spørgsmål, som jeg håber i kan besvare.

I forbindelse med at lave et spil i java, vil jeg gerne tilføje en række objekter til en liste. Jeg gør som følger:

BasicOpponent op1 = new BasicOpponent();

int setOpp1Counter = 0;

while (setOpp1Counter < opp1No) {
elementVector.add(op1);
setOpp1Counter ++;
}

Har klippet noget af koden ud, da det ikke giver mening her. Ideen er, at jeg vil tilføje forskellige opponents til listen og ikke den samme igen og igen. Mit program kan nemlig ikke kende forskel på objekterne, da de jo i virkeligheden er helt ens.

Kan man ikke på en eller anden måde få den til at tilføje objekter på en sådan måde, at de bliver kaldt noget forskelligt og lagt i vectoreren automatisk?
Avatar billede hmortensen Nybegynder
09. maj 2006 - 20:54 #1
Kan du ikke gøre sådan her:
for (int i = 0; i < opp1No; i++)
{
  elementVector.add(new BasicOpponent());
}
Avatar billede xyon Nybegynder
09. maj 2006 - 21:02 #2
Det duer ikke, for så har de jo ikke nogen reference. Jeg bliver nødt til at kalde min opponent et eller andet, da jeg ellers ikke kan hive fat i den senere.
Avatar billede hmortensen Nybegynder
09. maj 2006 - 21:07 #3
Kender ikke noget til java, men i andre sprog kan du gøre som ovenstående, og så hive fat i object fra listen vha. en løkke eller et index.

BasicOpponent currentOpponent = (BasicOpponent)elementVector[x];

Hvor x er et specifikt index.
Avatar billede arne_v Ekspert
09. maj 2006 - 22:10 #4
i Java er det:

BasicOpponent currentOpponent = (BasicOpponent)elementVector.get(x);

men det undrer mig at der ikke saettes noget i objekterne inde de gemmes f.eks. et navn ...
Avatar billede hmortensen Nybegynder
09. maj 2006 - 22:14 #5
arne, tak for rettelsen ;)
Formoder at der sker noget random tildeling.
Avatar billede xyon Nybegynder
10. maj 2006 - 09:05 #6
Tak for indlæggene. Det hjalp. Har udarbejdet en while løkke hvor den hiver fat i elementet og arbejder med det med det samme. Så problemet er løst.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester