Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

Droppe tabeller, men bruke objekter som inneholder objekter? Siden kan du lagre objektene i en ArrayList.

 

Altså; du lager en lagklasse som inneholder spillerobjekter. Spillerobjektene kommer fra en spillerklasse som inneholder atributtene alder og egenskaper.

Til slutt kan du "lagre" disse i en ArrayList.

 

Er du med eller skal jeg snekre litt pseudokode til deg? (søndag kveld isåfall)

Lenke til kommentar

Ja, ville lagt en klasse Spiller som inneholdt de attributtene du trenger (navn, alder, posisjon osv). Hver av spillerne (Spiller-objektene) kan du så legge i en tabell (eller i en utrolig praktisk ArrayList som enden sa). Da vil denne tabellen/listen inneholde alle spillerne. Skal du da senere ha flere lag er det bare å lage en ny tabell/liste og legge inn forskjellige lag (andre tabeller).

 

Håper du forstod, var nemlig elendig forklart. Er en smule trøtt :p

Lenke til kommentar

Vel, kan mekke sammen bittelitt her. Koden blir ufullstendig og bare en pekepinn på hva jeg tenker på og hvordan ArrayList fungerer. Antar også at klassen Spiller er laget med de nødvendige attributtene.

 


//importere muligheter for ArrayList

import java.util.ArrayList;



  ArrayList lag = new ArrayList();



  Spiller enSpiller = Spiller(navn, alder.....osv);

  lag.add(enSpiller);



  //gjør så dette med alle spillerne på laget.



 

For å gå gjennom ArrayListen og hente ut Spiller-objektene senere kan du gjøre slik:


for(int i = 0; i < lag.size(); i++)

{

Spiller enSpiller = (Spiller)lag.get(i);

...

}

// her må du selvfølgelig gjøre noe mer der prikkene er for å ikke overskrive enSpiller ved hver runde.

 

For så å lage en ArrayList av flere lag så kan en vel gjøre det ved å lage en ny ArrayList og legge ArrayListen lag i denne (og eventuelt andre lag du måtte trenge).


ArrayList samlingLag = new ArrayList();



 samlingLag.add(lag);

 samlingLag.add(lag2); 

 //osv

 

Vel, ble elendig kode, men jaja :) Håper du fatta poenget. Du kan lese mer om ArrayList her.

Lenke til kommentar

Hmm... hvorfor drive med en HAUG med objekter for å lagre noen integers? Jeg ville brukt en tredimensjonal tabell jeg... Det er faktisk mulig å overdirve bruk av objekter. Jeg forutsetter her at det KUN er integer som skal lagres.

 

Eks

public class ballSpill{

private final int INT_ANTALL_LAG = 10;

private final int INT_ANTALL_SPILLERE = 22; // fottball er'ke min ting

private final int INT_ANTALL_DATA_PER_SPILLER = 2;

private int[][][] array_SpillerData;

public ballSpill(){

array_SpillerData = int[iNT_ANTALL_LAG][iNT_ANTALL_SPILLERE][iNT_ANTALL_DATA_PER_SPILLER];//hoppet ned en linje gitt...

}

 

public int[] getSpillerData(int intLagNummer, int intSpillerNummer){

int[] temp = int[iNT_ANTALL_DATA_PER_SPILLER];

for(int i = 0; i<temp.length; i++;)

temp = array_SpillerData[intLagNummer][intSpillerNummer];

return temp;

}

}

jadda... hvis annen data enn integer skal tas vare på i minnet, ville også jeg satset på en spillerklasse, en lagklasse og en arkivklasse. Lagklassen inneholdt ett array av spillerobjekter eks: spillerklasse[] spillere = spillerklasse[22]; Arkivklassen (kontroller klassen) har ett array av lagobjekter.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...