public override bool Equals(object obj) { DadosJogo jogo = obj as DadosJogo; if (jogo == null) { return(false); } return(jogo.ClubeCasa == this.ClubeCasa && jogo.ClubeFora == this.ClubeFora); }
/// <summary> /// Gerar os jogos da primeira jornada /// </summary> /// <param name="voltas1"></param> /// <param name="voltas2"></param> /// <param name="Clubes"></param> /// <param name="contador"></param> /// <param name="maxJornada"></param> /// <param name="inicioJornada"></param> /// <param name="rnd"></param> /// <param name="i"></param> /// <param name="j"></param> public static void primeriaJornada(List <DadosJogo> voltas1, List <DadosJogo> voltas2, List <DadosClube> Clubes, int contador, int maxJornada, int inicioJornada, int rnd, int i, int j) { DadosJogo jogo; //1º jornada if (voltas1.Count <= maxJornada) { //1º jogo if (voltas1.Count == inicioJornada) { if (rnd > 5) { jogo = new DadosJogo { ClubeCasa = Clubes[i], ClubeFora = Clubes[j], }; voltas1.Add(jogo);//1º volta jogo = new DadosJogo { ClubeCasa = Clubes[j], ClubeFora = Clubes[i], }; voltas2.Add(jogo);//2º volta } else { jogo = new DadosJogo { ClubeCasa = Clubes[j], ClubeFora = Clubes[i], }; voltas1.Add(jogo);//1º volta jogo = new DadosJogo { ClubeCasa = Clubes[i], ClubeFora = Clubes[j], }; voltas2.Add(jogo);//2º volta } } else { //verificar se jogo já existe na jornada for (int l = 0; l < voltas1.Count; l++) { string clube1 = voltas1[l].ClubeCasa.IdClube; string clube2 = voltas1[l].ClubeFora.IdClube; if (clube1 == Clubes[i].IdClube || clube1 == Clubes[j].IdClube) { contador++; } if (clube2 == Clubes[i].IdClube || clube2 == Clubes[j].IdClube) { contador++; } } if (contador == 0) { if (rnd > 5) { jogo = new DadosJogo { ClubeCasa = Clubes[i], ClubeFora = Clubes[j], }; voltas1.Add(jogo);//1º volta jogo = new DadosJogo { ClubeCasa = Clubes[j], ClubeFora = Clubes[i], }; voltas2.Add(jogo);//2º volta } else { jogo = new DadosJogo { ClubeCasa = Clubes[j], ClubeFora = Clubes[i], }; voltas1.Add(jogo);//1º volta jogo = new DadosJogo { ClubeCasa = Clubes[i], ClubeFora = Clubes[j], }; voltas2.Add(jogo);//2º volta } } } } }
/// <summary> /// Gerar jogos das restantes jornadas /// </summary> /// <param name="voltas1"></param> /// <param name="voltas2"></param> /// <param name="Clubes"></param> /// <param name="contador"></param> /// <param name="maxJornada"></param> /// <param name="inicioJornada"></param> /// <param name="rnd"></param> /// <param name="i"></param> /// <param name="j"></param> /// <param name="jornadaAnterior"></param> /// <param name="mesmaJornada"></param> public static void outrasJornadas(List <DadosJogo> voltas1, List <DadosJogo> voltas2, List <DadosClube> Clubes, int contador, int maxJornada, int inicioJornada, int rnd, int i, int j, int jornadaAnterior, int mesmaJornada) { DadosJogo jogo; DadosJogo verificaJogo1; DadosJogo verificaJogo2; //2º jornada if (voltas1.Count <= maxJornada) { int contadorCasa1 = 0; int contadorCasa2 = 0; int contadorFora1 = 0; int contadorFora2 = 0; //verificar se os clubes jogaram em casa ou fora na última jornada for (int l = jornadaAnterior; l < voltas1.Count; l++) { string clube1 = voltas1[l].ClubeCasa.IdClube; string clube2 = voltas1[l].ClubeFora.IdClube; if (clube1 == Clubes[i].IdClube) { contadorCasa1++; } else if (clube2 == Clubes[i].IdClube) { contadorFora1++; } if (clube1 == Clubes[j].IdClube) { contadorCasa2++; } else if (clube2 == Clubes[j].IdClube) { contadorFora2++; } } if (contadorCasa1 == 1 || contadorFora2 == 1) { rnd = 1; } else if (contadorFora1 == 1 || contadorCasa2 == 1) { rnd = 8; } //1º jogo if (voltas1.Count == inicioJornada) { verificaJogo1 = new DadosJogo { ClubeCasa = Clubes[i], ClubeFora = Clubes[j], }; verificaJogo2 = new DadosJogo { ClubeCasa = Clubes[j], ClubeFora = Clubes[i], }; //Verificar se o jogo já foi criado alguma vez no campeonato if (!(voltas1.Contains(verificaJogo1)) && !(voltas1.Contains(verificaJogo2))) { if (rnd > 5) { jogo = new DadosJogo { ClubeCasa = Clubes[i], ClubeFora = Clubes[j], }; voltas1.Add(jogo);//1º volta jogo = new DadosJogo { ClubeCasa = Clubes[j], ClubeFora = Clubes[i], }; voltas2.Add(jogo);//2º volta } else { jogo = new DadosJogo { ClubeCasa = Clubes[j], ClubeFora = Clubes[i], }; voltas1.Add(jogo);//1º volta jogo = new DadosJogo { ClubeCasa = Clubes[i], ClubeFora = Clubes[j], }; voltas2.Add(jogo);//2º volta } } } //verificar se jogo já existe na jornada for (int l = mesmaJornada; l < voltas1.Count; l++) { string clube1 = voltas1[l].ClubeCasa.IdClube; string clube2 = voltas1[l].ClubeFora.IdClube; if (clube1 == Clubes[i].IdClube || clube1 == Clubes[j].IdClube) { contador++; } if (clube2 == Clubes[i].IdClube || clube2 == Clubes[j].IdClube) { contador++; } } verificaJogo1 = new DadosJogo { ClubeCasa = Clubes[i], ClubeFora = Clubes[j], }; verificaJogo2 = new DadosJogo { ClubeCasa = Clubes[j], ClubeFora = Clubes[i], }; //Verificar se o jogo já foi criado alguma vez no campeonato if (contador == 0 && (!(voltas1.Contains(verificaJogo1)) && !(voltas1.Contains(verificaJogo2)))) { if (rnd > 5) { jogo = new DadosJogo { ClubeCasa = Clubes[i], ClubeFora = Clubes[j], }; voltas1.Add(jogo);//1º volta jogo = new DadosJogo { ClubeCasa = Clubes[j], ClubeFora = Clubes[i], }; voltas2.Add(jogo);//2º volta } else { jogo = new DadosJogo { ClubeCasa = Clubes[j], ClubeFora = Clubes[i], }; voltas1.Add(jogo);//1º volta jogo = new DadosJogo { ClubeCasa = Clubes[i], ClubeFora = Clubes[j], }; voltas2.Add(jogo);//2º volta } } } }