private Deck generate3ColorDeck(String p) {
        Random r = MyRandom.random;

        ArrayList<String> colors = new ArrayList<String>();
        colors.add("Random");
        colors.add("white");
        colors.add("blue");
        colors.add("black");
        colors.add("red");
        colors.add("green");

        String c1;
        String c2;
        String c3;
        if (p.equals("H")) {
            c1 = GuiUtils.getChoice("Select first color.", colors.toArray()).toString();

            if (c1.equals("Random"))
                c1 = colors.get(r.nextInt(colors.size() - 1) + 1);

            colors.remove(c1);

            c2 = GuiUtils.getChoice("Select second color.", colors.toArray()).toString();

            if (c2.equals("Random"))
                c2 = colors.get(r.nextInt(colors.size() - 1) + 1);

            colors.remove(c2);

            c3 = GuiUtils.getChoice("Select third color.", colors.toArray()).toString();
            if (c3.equals("Random"))
                c3 = colors.get(r.nextInt(colors.size() - 1) + 1);

        } else //if (p.equals("C"))
        {
            c1 = colors.get(r.nextInt(colors.size() - 1) + 1);
            colors.remove(c1);
            c2 = colors.get(r.nextInt(colors.size() - 1) + 1);
            colors.remove(c2);
            c3 = colors.get(r.nextInt(colors.size() - 1) + 1);
        }
        Generate3ColorDeck gen = new Generate3ColorDeck(c1, c2, c3);
        CardList d = gen.get3ColorDeck(60);

        Deck deck = new Deck(Constant.GameType.Constructed);

        for (int i = 0; i < d.size(); i++)
            deck.addMain(d.get(i).getName());

        return deck;

    }