<commit_before>/*
 * 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 br.com.projeto.model;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Stack;

/**
 *
 * @author Daylton
 */
public class Rodada {
    private List<Time> listaTime;
    private List<Jogos> listaJogos;
    private Stack<Time> timesDisponiveisParaJogo;
    
    public Rodada(List<Time> listaTime){
        this.listaTime = listaTime;       
        timesDisponiveisParaJogo = new Stack();
        
        for(Time t: this.listaTime){
            //Adiciona na pilha os times que participarão da rodada.
            timesDisponiveisParaJogo.push(t);            
        }
    }    
    
    private Jogo getJogo(){
        //Método que sorteia um jogo para a rodada. 
        //Todos os dez jogos da rodada devem ser diferentes e o sorteio 
        //deve considerar que na próxima rodada não poderá ter um jogo que já aconteceu
        //sendo que o campeonato só terá um turno.
        Jogo j = null;
           if(listaTime.size() > 0){
                Collections.shuffle(timesDisponiveisParaJogo);
                
                Time time1 = timesDisponiveisParaJogo.pop();
                List<Time> timesComQuemTime1Jogou = time1.getTimesComQuemJogou();
                Time time2 = null; //Ainda não é determinado o time2.
                int index=0; //receberá o índice do time que será removido da pilha.
                for(Time t1: timesDisponiveisParaJogo){
                    if(!timesComQuemTime1Jogou.contains(t1)){ //Se t1 não estiver na lista de times com quem time1 jogou.
                        time2 = t1;
                        index = timesDisponiveisParaJogo.indexOf(t1);
                        time1.addTimeJogado(t1); //add o time escolhido a lista de times com quem time1 jogou.
                        break;
                    }
                }
                if(time2==null){
                    time2 = timesDisponiveisParaJogo.pop();
                    time1.addTimeJogado(time2);
                }
                
                if(timesDisponiveisParaJogo.size() > 0){
                    timesDisponiveisParaJogo.remove(index); //remove o time escolhido da pilha.
                }
                j = new Jogo(time1, time2);
                System.out.println(j.getTime1() + " x " + j.getTime2());
                
            }else{
                System.out.println("Acabou!");
            }
           
       return j; 
    }
    <commit_msg>Correção do método getJogo da classe Rodada.<commit_after>/*
 * 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 br.com.projeto.model;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Stack;

/**
 *
 * @author Daylton
 */
public class Rodada {
    private List<Time> listaTime;
    private List<Jogos> listaJogos;
    private Stack<Time> timesDisponiveisParaJogo;
    
    public Rodada(List<Time> listaTime){
        this.listaTime = listaTime;       
        timesDisponiveisParaJogo = new Stack();
        
        for(Time t: this.listaTime){
            //Adiciona na pilha os times que participarão da rodada.
            timesDisponiveisParaJogo.push(t);            
        }
    }    
    
    private Jogo getJogo(){
        //Método que sorteia um jogo para a rodada. 
        //Todos os dez jogos da rodada devem ser diferentes e o sorteio 
        //deve considerar que na próxima rodada não poderá ter um jogo que já aconteceu
        //sendo que o campeonato só terá um turno.
        Jogo j = null;
           if(listaTime.size() > 0){
                Collections.shuffle(timesDisponiveisParaJogo);
                Time time1, time2;
                time1 = timesDisponiveisParaJogo.pop();
                time2 = timesDisponiveisParaJogo.pop();
                List<Time> timesQue1Jogou = time1.getTimesComQuemJogou();
                if(timesQue1Jogou.size()>0){
                    if(timesQue1Jogou.contains(time2)){
                        timesDisponiveisParaJogo.push(time2);
                        for(Time t : timesDisponiveisParaJogo){
                            if(!timesQue1Jogou.contains(t)){
                                time2 = t;
                                break;
                            }
                        }
                        timesDisponiveisParaJogo.remove(time2);
                    }
                }
                time1.addTimeJogado(time2);
                time2.addTimeJogado(time1);
                
                
                j = new Jogo(time1, time2);
                System.out.println(j.getTime1() + " x " + j.getTime2());
                    
                
                
            }else{
                System.out.println("Acabou!");
            }
           
       return j; 
    }
    
{'fraction_non_alphanumeric': 0.08160874658336588, 'fraction_numerical': 0.009761811792268645, 'mean_word_length': 1.5174447174447174, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3220117', 'n_tokens_mistral': 1534, 'n_tokens_neox': 1501, 'n_words': 371}