|
| Hive data fra et objekt-felt i arraylist u~ Fra : Ukendt |
Dato : 16-10-04 21:05 |
|
Jeg har en arraylist kaldet Kortstak indeholdende 52 unikke spillekort.
Objekterne i listen indeholder alle felterne "kortid", "kortbeskrivelse" og
"typekort".
Jeg skal nu hive de fire første kort i listen ud, som skal tildeles
spiller1 - dvs. index 0-3, men hvordan gør jeg hvis jeg vil tildele de fire
korts "kortid" til en ny variabel?
| |
Simon [2700] (16-10-2004)
| Kommentar Fra : Simon [2700] |
Dato : 16-10-04 22:10 |
|
> Jeg skal nu hive de fire første kort i listen ud, som skal tildeles
> spiller1 - dvs. index 0-3, men hvordan gør jeg hvis jeg vil tildele de
fire
> korts "kortid" til en ny variabel?
hvis det er en klassetype, kort, eller lign kan du lave en set metode til
opdatering.
fx.
public void setKorttid(String _korttid)
{
korttid = _korttid;
}
den kunne du kalde som array[0].setKorttid(ny_korttid);
mvh.Simon
| |
Simon [2700] (17-10-2004)
| Kommentar Fra : Simon [2700] |
Dato : 17-10-04 20:05 |
|
> > Jeg skal nu hive de fire første kort i listen ud, som skal tildeles
> > spiller1 - dvs. index 0-3, men hvordan gør jeg hvis jeg vil tildele de
> fire
> > korts "kortid" til en ny variabel?
jeg læste det forkert i første omgang, læs rosenauers indlæg...
Simon
| |
rosenauer.dk (17-10-2004)
| Kommentar Fra : rosenauer.dk |
Dato : 17-10-04 16:33 |
|
"<-= KG =->" <NOSPAM> wrote in message
news:41717ee1$0$151$edfadb0f@dread11.news.tele.dk...
> Jeg har en arraylist kaldet Kortstak indeholdende 52 unikke spillekort.
> Objekterne i listen indeholder alle felterne "kortid", "kortbeskrivelse"
og
> "typekort".
>
> Jeg skal nu hive de fire første kort i listen ud, som skal tildeles
> spiller1 - dvs. index 0-3, men hvordan gør jeg hvis jeg vil tildele de
fire
> korts "kortid" til en ny variabel?
>
>
Hvis jeg forstår det korrekt vil du have akkumuleret korttid for de fire
første kort ? - forudsat korttid er en int og der er en 'int getKorttid()'
metode på din Kort klasse, ville jeg bare gøre (ikke testet):
int korttidakk = 0;
for (int i=0; i <= 4; i++)
{
korttidakk += ((Kort) Kortstak.get(i)).getKorttid();
}
korttidakk vil så indeholde den samlede korttid for de 4 første kort..
Håber det skupper dig i den rigtige retning.
/Martin Rosenauer
http://rosenauer.dk
| |
Ukendt (18-10-2004)
| Kommentar Fra : Ukendt |
Dato : 18-10-04 17:12 |
|
> Hvis jeg forstår det korrekt vil du have akkumuleret korttid for de fire
> første kort ? - forudsat korttid er en int og der er en 'int getKorttid()'
> metode på din Kort klasse, ville jeg bare gøre (ikke testet):
>
> int korttidakk = 0;
>
> for (int i=0; i <= 4; i++)
> {
> korttidakk += ((Kort) Kortstak.get(i)).getKorttid();
> }
>
> korttidakk vil så indeholde den samlede korttid for de 4 første kort..
Hej igen,
Setuppet har ændret sig lidt, så håber du kan give et bud på følgende også
:)
Jeg skal nu hive et ukendt antal kort ud (dvs fra 1 til 52) fra
kortstak-Arraylisten i "KortStak" klassen, som indeholder de 52 unikke
spillekort. De kort objekter som hives ud skal tilføjes en ny Arraylist
(haand), men i en anden klasse (også kaldet Haand), som skal indeholde de
kort der er i spil. Samtidigt skal de kort-objekter som hentes over i den
nye Arraylist slettes fra den gamle kortstak-arrayliste.
At hente objekterne fra kortstak-arraylisten over i en ny klasse med
tilhørende arrayliste har været det primære problem, så håber meget på lidt
hjælp!
| |
Rolf E. Thorup (18-10-2004)
| Kommentar Fra : Rolf E. Thorup |
Dato : 18-10-04 18:20 |
|
<-= KG =-> wrote:
>>Hvis jeg forstår det korrekt vil du have akkumuleret korttid for de fire
>>første kort ? - forudsat korttid er en int og der er en 'int getKorttid()'
>>metode på din Kort klasse, ville jeg bare gøre (ikke testet):
>>
>>int korttidakk = 0;
>>
>>for (int i=0; i <= 4; i++)
>>{
>> korttidakk += ((Kort) Kortstak.get(i)).getKorttid();
>>}
>>
>>korttidakk vil så indeholde den samlede korttid for de 4 første kort..
>
>
> Hej igen,
>
> Setuppet har ændret sig lidt, så håber du kan give et bud på følgende også
> :)
>
> Jeg skal nu hive et ukendt antal kort ud (dvs fra 1 til 52) fra
> kortstak-Arraylisten i "KortStak" klassen, som indeholder de 52 unikke
> spillekort. De kort objekter som hives ud skal tilføjes en ny Arraylist
> (haand), men i en anden klasse (også kaldet Haand), som skal indeholde de
> kort der er i spil. Samtidigt skal de kort-objekter som hentes over i den
> nye Arraylist slettes fra den gamle kortstak-arrayliste.
Jeg ville gerne komme med en konkret opskrift, men du giver simpelthen
ikke nok informationer om hvad du mener med at "hive et ukendte antal
kort ud". Ligger kortene fortløbende i listen, ligger de på vilkårlige
pladser eller noget tredje?
I mangel af bedre foreslår jeg du kigger på javadoc'en for
AbstractCollection, AbstractList, ArrayList og de statiske metoder i
Collections klassen.
Et andet tip: en metode der måske kunne være brugbar i dit projekt kunne
være metoden Collections.shuffle (når det nu åbenbart drejer sig om en
eller anden form for kortspil).
Mvh Rolf
| |
Ukendt (18-10-2004)
| Kommentar Fra : Ukendt |
Dato : 18-10-04 18:36 |
|
> Jeg ville gerne komme med en konkret opskrift, men du giver simpelthen
> ikke nok informationer om hvad du mener med at "hive et ukendte antal
> kort ud". Ligger kortene fortløbende i listen, ligger de på vilkårlige
> pladser eller noget tredje?
>
> I mangel af bedre foreslår jeg du kigger på javadoc'en for
> AbstractCollection, AbstractList, ArrayList og de statiske metoder i
> Collections klassen.
>
> Et andet tip: en metode der måske kunne være brugbar i dit projekt kunne
> være metoden Collections.shuffle (når det nu åbenbart drejer sig om en
> eller anden form for kortspil).
Kortene oprettes fortløbende i arraylisten dvs. med esserne først, dernæst
toerne osv. De kan derefter blandes med shuffle-funktionen så de ligger
vilkårligt. Formålet er nu at der skal kunne tildeles kort til f.eks. 4
spillere, som formentligt får tildelt hver deres eget arraylist, og derfor
skal der hentes kort fra den samlede kortbunke ("KortStak") over i en
spillers egen arraylist. Problemet er at spillernes arraylist skal oprettes
i en anden klasse ved navn "haand".
| |
Soren Davidsen (20-10-2004)
| Kommentar Fra : Soren Davidsen |
Dato : 20-10-04 08:06 |
|
"<-= KG =->" <NOSPAM> writes:
> Kortene oprettes fortløbende i arraylisten dvs. med esserne først, dernæst
> toerne osv. De kan derefter blandes med shuffle-funktionen så de ligger
> vilkårligt. Formålet er nu at der skal kunne tildeles kort til f.eks. 4
> spillere, som formentligt får tildelt hver deres eget arraylist, og derfor
> skal der hentes kort fra den samlede kortbunke ("KortStak") over i en
> spillers egen arraylist. Problemet er at spillernes arraylist skal oprettes
> i en anden klasse ved navn "haand".
Et par hints i pseudo-kode. Se javadoc for java.util.ArrayList og
java.util.Random.
for each Haand:
for 1 .. 4:
Haand.addCard(KortStak.removeRandomCard())
addCard: list.add(param)
removeRandomCard: return list.remove(new Random().nextInt(list.size()))
Mvh, Soren
| |
Thorbjoern Ravn Ande~ (18-10-2004)
| Kommentar Fra : Thorbjoern Ravn Ande~ |
Dato : 18-10-04 19:42 |
|
"Rolf E. Thorup" <rolfrolf@hotmail.com.invalid> writes:
> Jeg ville gerne komme med en konkret opskrift, men du giver simpelthen
> ikke nok informationer om hvad du mener med at "hive et ukendte antal
> kort ud". Ligger kortene fortløbende i listen, ligger de på vilkårlige
> pladser eller noget tredje?
Måske var det nemmere hvis vi bare så opgaveteksten?
--
Thorbjørn Ravn Andersen
| |
|
|