Advertisement
Kar27

Untitled

Oct 28th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.92 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package com.mycompany.mavenproject1;
  7.  
  8. import java.util.ArrayList;
  9. import java.util.Arrays;
  10. import java.util.Collections;
  11. import java.util.List;
  12. import java.util.stream.Collectors;
  13.  
  14. /**
  15.  *
  16.  * @author Vilius
  17.  */
  18. public class Main {
  19.     private ArrayList<Card> cards = new ArrayList<Card>();
  20.     a
  21.     public Main(){
  22.         run();
  23.     }
  24.    
  25.     public static void main(String[] args){
  26.         new Main();
  27.     }
  28.     private void run(){
  29.         new Generator().generate().forEach(System.out::println);
  30.     }
  31.    
  32.     private class Generator{
  33.         private String[] naming = {"sauktukas", "snaige", "kaukole", "klounas", "smuiko raktas", "kate",
  34.             "taikinys", "dizonauras", "plemai", "drakonas", "ranka", "lempute", "besmegenis", "yin yang", "sirdute", "ledukai", "zmogutis", "lupos", "vaiduoklis", "zirgas", "klevo lapas", "zaibas"};
  35.         private ArrayList<String> list = new ArrayList<String>();
  36.         public Generator(){
  37.             list.addAll(Arrays.asList(naming));
  38.         }
  39.        
  40.        
  41.         public ArrayList<Card> generate(){
  42.             ArrayList<Card> cards = new ArrayList<Card>();
  43.             Collections.shuffle(list);
  44.             cards.add(new Card(0,list.stream().limit(8).collect(Collectors.toList())));
  45.             for(int i = 1; i < 52; i++){
  46.                 Card tmp = new Card();
  47.                 int index = 0;
  48.                 Collections.shuffle(list);
  49.                 tmp.getNames().add(list.stream().filter(n -> cards.get(cards.size() - 1).getNames().contains(n)).findFirst().get());
  50.                 tmp.setIndex(i);
  51.                 while(tmp.getNames().size() < 7){
  52.                    String a = list.get(index);
  53.                    if(!tmp.getNames().contains(a) && !cards.get(cards.size() - 1).getNames().contains(a))
  54.                         tmp.getNames().add(a);
  55.                    index ++;
  56.                 }
  57.                
  58.                 cards.add(tmp);
  59.             }
  60.             return cards;
  61.         }
  62.     }
  63.     private class Card{
  64.         private ArrayList<String> cards = new ArrayList<String>();
  65.         private int index;
  66.         public Card(int index, List<String> list){
  67.             this.index = index;
  68.             cards.addAll(list);
  69.         }
  70.        
  71.        
  72.         public Card(String... card){
  73.             cards.addAll(Arrays.asList(card));
  74.         }
  75.         public ArrayList<String> getNames(){
  76.             return cards;
  77.         }
  78.         public void setIndex(int i){
  79.             this.index = i;
  80.         }
  81.         @Override
  82.         public String toString(){
  83.             String a = "[";
  84.             for(String c : cards)
  85.             a += c + ", ";
  86.                 a += "]";
  87.             return "" + index + "\n" + a + "\n";
  88.         }
  89.     }
  90.    
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement