Avatar billede i-mox Nybegynder
26. november 2003 - 13:48 Der er 12 kommentarer og
2 løsninger

Et spil, samme klasse, flere omgange

Hey eksperter!

Jeg er nybegynder, og blevet bedt om at konstruere et børsspil. Sagen er den, at jeg egentligt næsten godt ved hvordan jeg skal gribe det an, men jeg har et par startvanskeligheder.

For det første. Hvis jeg har en klasse der hedder Lån, som gør at en spiller kan låne penge til at købe aktier, hvordan holder jeg så styr på alle de lån en spiller kan optage?
Jeg mener. Jeg kan jo dårligt skrive som menupunkt.
"Lån Penge", som kan aktivere en funktion
Laan myLaan = new Laan();
myLaan.nytLaan(beløb)

flere gange? Hvis jeg gør det to gange vil myLaan vel blive erstattet eller hvad?
Hvordan ville i gribe sådan noget an?
Avatar billede i-mox Nybegynder
26. november 2003 - 13:49 #1
Nå ja, hele tricket er at spilleren skal kunne optage flere lån pr. spilleomgang, og at spilleren til enhver tid skal kunne få vist de oplysninger der er tilgængelige om dennes lån.

Oplysninger som fx.
Størrelse
Antal spilleomgange inden udløb m.m.
Avatar billede spunkman Nybegynder
26. november 2003 - 14:01 #2
Du kunne jo putte dine lån i en Vector
Vector flereLaan = new Vector
flereLaan.add(myLaan)
Avatar billede trp79 Nybegynder
26. november 2003 - 17:15 #3
Hej i-mox
Hvis du lader dit låne objekt bestå af et Spiller-objekt, lånbeløb, spillerunde. Så har du mulighed for fx at finde ud af hvilke lån en bestemt spiller har taget og i hvilke runder spilleren har taget lånene.

Altså kunne en konstruktør i Laan se således ud:
public Laan(Spiller sp, int beloeb, int runde)

Alle de lånene for alle spillere kunne du jo så oprette i en vektor som spunkman foreslår. Når du så har alle Laan objekterne i en vektor, kan du jo så søge vektoren igennem, og trække informationer ud om fx. de lån en bestemt spiller har og hvilke spillerunder de forskellige lån er optaget.

Mvh
Torben
Avatar billede i-mox Nybegynder
26. november 2003 - 17:17 #4
Hmm. Mit store problem er at jeg ikke har hørt om hvad en vektor er i det kursusforløb jeg har haft. Er det en form for Array?
Avatar billede i-mox Nybegynder
26. november 2003 - 17:21 #5
Kunne man evt. benytte Arraylist som erstatning for Vektor?
Avatar billede trp79 Nybegynder
26. november 2003 - 17:29 #6
Ja Arrayliste og Vektor er faktisk det samme, forskellen ligger i at en Vektor er synchronized. Så ja du kan sagtens bruge en Arraylist.
Du kan også godt bruge et array, men i dit tilfælde vil det nok være smartest med en arraylist, da den er dynamisk imodsætning til et array.
Avatar billede i-mox Nybegynder
26. november 2003 - 17:34 #7
OK - Hvorfor lade Låneobjektet indeholder spilleren? Spillet er kun for en spiller - Er der en dybere mening med det?
Avatar billede trp79 Nybegynder
26. november 2003 - 17:38 #8
Okey, jeg troede du havde flere spillere.
Et alternativ kunne så være at lade dit spiller objekt indeholde en arraylist og så ellers gemme lånene heri. På den måde kan du faktisk have flere spillere og så får de hver isæt deres egen arraylist hvori lånene kan opbevares.
Avatar billede i-mox Nybegynder
26. november 2003 - 17:42 #9
OK - Tusind tak for hjælpen! Der kommer sikkert flere indlæg fra mig - Jeg fordeler pointene 25-5 hvis der er OK!
Avatar billede trp79 Nybegynder
26. november 2003 - 17:45 #10
Det indebære jo så også at dit Laan objekt ikke behøver består af en spiller. Da lånene nu gemmes i det enkelte spillerobjekt.
//Oprettelse og tilføjelse af data i arraylist
Arraylist laanliste = new Arraylist();       
laanliste.add(new Laan(500,1)); //låner 500 i 1.spillerunde
laanliste.add(new Laan(200,2)); //låner 200 i 2.spillerunde
laanliste.add(new Laan(1200,3)); //låner 1200 i 3.spillerunde

//udtrække data fra arraylist
Laan temp = null;
for(int i = 0; i < laanliste.size(); i++) {
  temp = (Laan)laanliste.get(i);
  System.out.println("Runde: "temp.getRunde());
  System.out.println("Beløb: "temp.getBeløb());
  System.out.println();
}
Avatar billede trp79 Nybegynder
26. november 2003 - 17:46 #11
Du siger bare til hvis der er noget :)

Mvh
Torben
Avatar billede i-mox Nybegynder
26. november 2003 - 17:57 #12
1000 mange tak!

Du er ikke tilfældigvis Torben fra RUC?
Avatar billede trp79 Nybegynder
26. november 2003 - 18:05 #13
Det var så lidt :)
Nej jeg læser på Handelshøjskolen i Kbh. så det er da ikke så langt derfra ;)
Avatar billede i-mox Nybegynder
26. november 2003 - 18:08 #14
Oki - :-)
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