[JAVA] speelkaarten trekken

Status
Niet open voor verdere reacties.

niekfct

Terugkerende gebruiker
Lid geworden
19 jul 2006
Berichten
1.563
ik heb deze vraag al eerder gesteld, maar toen perongeluk in javascript.

"hoe kan ik kaarten trekken uit die 52 kaarten, en dat ze niet dubbel voorkomen?"

bij javascript kreeg ik van Egel dit antwoord:

PHP:
script type="text/javascript">
 var kaart = new Array();
 for (var i = 0; i < 52; i++) {
  kaart[i] = new Object();
  kaart[i].nr = i;
  kaart[i].kleur = ['H','R','S','K'][Math.floor(i/13)];
  kaart[i].kaart = ['A',2,3,4,5,6,7,8,9,10,'B','V','K'][i%13];
  kaart[i].html = '<font color="' + (i < 26 ? 'red' : 'black') + '">' + kaart[i].kleur + kaart[i].kaart + '</font>';
  };

 // schudden
 for (var j = 0; j < 10; j++) {
  for (var i = 0; i < 52; i++) {
   var a =  Math.floor(Math.random() * 52);
   var tmp = kaart[a];
   kaart[a] = kaart[i];
   kaart[i] = tmp;
   };
  };

 for (var i = 0; i < 52; i++) document.writeln(kaart[i].html + ' ');
</script>

maar dit werkt dus niet met java:eek: hoe moet dit dan wel in java?
 
Wat je kan doen.
Je maakt een array(of arraylist) waar alle kaarten in staan.
Als je dan gaat schudden dan zet je de kaarten random in een nieuwe array.
Als je dan een kaart trekt. Dan haal je die uit de nieuwe array.

Als je met een arraylist werkt, dan kan je van achter naar voren werken.
Dat je dan een removeLast functie maakt die een kaart boven van de stapel haalt.

Ik weet niet of je al met meerdere klassen werkt en of je al object georiënteerd werkt?
Want dan kan je een aantal klassen maken.
- Kaart
- Speeldeck

Dan kan je binnen de klasse kaart de kaart een waarde en een kleur geven.
Dan kan je binnen het speeldeck een array maken waar de kaarten in staan die al in het speeldeck zitten. Zodat als je een nieuwe kaart aanmaakt, dat het dan niet een dubbele is.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan