2017-08-07 2 views
0

ich mich gefragt, ob ich dies in irgendeiner Weise verändern könnte, so dass ich die Ausgabe haben könnte:Erstellen von gegenseitig ausschließende Werte in Listen

P1 Hand: 10 of diamonds, 9 of clubs, 5 of spades, Queen of spades, 4 of clubs. 
P2 Hand: 7 of diamonds, 10 of spades, Jack of clubs, 6 of diamonds, 5 of clubs. 
P3 Hand: 8 of spades, 8 of diamonds, 4 of spades, 3 of spades, 10 of hearts. 
P4 Hand: Ace of spades, 8 of clubs, 6 of spades, Jack of spades, 3 of hearts. 

nie haben die gleiche Karte in zwei verschiedenen Spielern. Mein Code ist hier:

import java.util.Random; 
import java.util.Arrays; 
import java.util.ArrayList; 

public class cardGame { 
    public static void main(String[] args) { 
    Random sad = new Random(); 
    ArrayList<String> all = new ArrayList<>(Arrays.asList("Ace of spades","2 of spades","3 of spades","4 of spades","5 of spades","6 of spades","7 of spades","8 of spades","9 of spades","10 of spades","Jack of spades","Queen of spades","King of spades","Ace of spades","2 of spades","3 of spades","4 of spades","5 of spades","6 of spades","7 of spades","8 of spades","9 of spades","10 of spades","Jack of spades","Queen of spades","King of spades","Ace of hearts","2 of hearts","3 of hearts","4 of hearts","5 of hearts","6 of hearts","7 of hearts","8 of hearts","9 of hearts","10 of hearts","Jack of hearts","Queen of hearts","King of hearts","Ace of diamonds","2 of diamonds","3 of diamonds","4 of diamonds","5 of diamonds","6 of diamonds","7 of diamonds","8 of diamonds","9 of diamonds","10 of diamonds","Jack of diamonds","Queen of diamonds","King of diamonds","Ace of clubs","2 of clubs","3 of clubs","4 of clubs","5 of clubs","6 of clubs","7 of clubs","8 of clubs","9 of clubs","10 of clubs","Jack of clubs","Queen of clubs","King of clubs")); 
    ArrayList<String> trump = new ArrayList<>(Arrays.asList("spades","hearts","diamonds","clubs")); 
    System.out.println("Boure hands and trump game."); 
    System.out.println(""); 
    System.out.println("Trump: " + trump.remove(sad.nextInt(trump.size())) + "."); 
    System.out.println(""); 
    System.out.println("P1 Hand: " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + "."); 
    System.out.println(""); 
    System.out.println("P2 Hand: " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + "."); 
    System.out.println(""); 
    System.out.println("P3 Hand: " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + "."); 
    System.out.println(""); 
    System.out.println("P4 Hand: " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + "."); 
    } 
} 

BTW das Duplikat nicht half einer Möglichkeit: Es ist nicht Arrays enthielt, das ist das, was mit mir zu tun habe. Mit dieser Aussage konnte ich mir die Frage nicht ansehen und herausfinden, wo ich mich ändern kann.

+0

Erst lesen: [Polymorphismus: Warum Gebrauch „List list = new Arraylist“ statt „Arraylist list = new Arraylist“] (https://stackoverflow.com/questions/9852831/polymorphism-why-use-list- list-new-arraylist-statt-von-arraylist-list-n) – Blasanka

+0

@ Blasanka was soll das tun, ich suche nach einem Fehler zu beheben. BTW: Ich habe die Frage überprüft, keine Hilfe. –

+0

Welchen Fehler bekommen Sie eigentlich? –

Antwort

2

mit einem Deck von Karten beginnen, und dann die Karten an jeden Player zuweisen, indem sie aus dem Deck Entfernen und Hinzufügen von ihnen zu der Player ‚s Collection, welche Modelle die Player‘ s Hand.

Auf diese Weise kann der Spieler nur die Karten vom Stapel bekommen, und Sie können das Deck mit einer von jeder passenden Karte initialisieren.

+0

Danke, ich probiere es jetzt aus. –

+0

Ich brauche nur ein paar Zeiger, 1. Verwenden von Arrays oder was, 2. wie zu löschen und zu addieren, und 3. Hat jeder Spieler eine 'String [] p1 = {}' oder was –

+0

@BlazeDaBlur Ich würde eine Sammlung verwenden anstelle eines Arrays. Vorzugsweise ein Set, da die Reihenfolge der Karten in der Hand nicht wichtig ist, ist es nur wichtig, ob sie vorhanden sind. –

Verwandte Themen