Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package com.mycompany.mavenproject1;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- *
- * @author Vilius
- */
- public class Main {
- private ArrayList<Card> cards = new ArrayList<Card>();
- a
- public Main(){
- run();
- }
- public static void main(String[] args){
- new Main();
- }
- private void run(){
- new Generator().generate().forEach(System.out::println);
- }
- private class Generator{
- private String[] naming = {"sauktukas", "snaige", "kaukole", "klounas", "smuiko raktas", "kate",
- "taikinys", "dizonauras", "plemai", "drakonas", "ranka", "lempute", "besmegenis", "yin yang", "sirdute", "ledukai", "zmogutis", "lupos", "vaiduoklis", "zirgas", "klevo lapas", "zaibas"};
- private ArrayList<String> list = new ArrayList<String>();
- public Generator(){
- list.addAll(Arrays.asList(naming));
- }
- public ArrayList<Card> generate(){
- ArrayList<Card> cards = new ArrayList<Card>();
- Collections.shuffle(list);
- cards.add(new Card(0,list.stream().limit(8).collect(Collectors.toList())));
- for(int i = 1; i < 52; i++){
- Card tmp = new Card();
- int index = 0;
- Collections.shuffle(list);
- tmp.getNames().add(list.stream().filter(n -> cards.get(cards.size() - 1).getNames().contains(n)).findFirst().get());
- tmp.setIndex(i);
- while(tmp.getNames().size() < 7){
- String a = list.get(index);
- if(!tmp.getNames().contains(a) && !cards.get(cards.size() - 1).getNames().contains(a))
- tmp.getNames().add(a);
- index ++;
- }
- cards.add(tmp);
- }
- return cards;
- }
- }
- private class Card{
- private ArrayList<String> cards = new ArrayList<String>();
- private int index;
- public Card(int index, List<String> list){
- this.index = index;
- cards.addAll(list);
- }
- public Card(String... card){
- cards.addAll(Arrays.asList(card));
- }
- public ArrayList<String> getNames(){
- return cards;
- }
- public void setIndex(int i){
- this.index = i;
- }
- @Override
- public String toString(){
- String a = "[";
- for(String c : cards)
- a += c + ", ";
- a += "]";
- return "" + index + "\n" + a + "\n";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement