SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
(UNITY) Erro ao compilar a Build Android
Não consigo fazer o box collider descer junto com o personagem.
[TUTORIAL] Barra de vida usando a UI da Unity(Slider)
BUG UNITY 3D ROSA A SCENE E GAME
[Projeto] Line Battle
Sistema de Grau Realista - Jogo de Moto
Procuro Equipe Para Criação de Jogo [PAGO]
iniciar jogo com uma cena desativada e ativá-la ao colidir com bloco desativando as outras
Salvar e carregar dados json player pref
[TUTORIAL] Desbloqueio e Escolha de Personagens.
[RESOLVIDO] Problema com o navmesh agent
[RESOLVIDO] Registro cadrastando uma vez?
Programação Unity android 2D
(Dúvida) Encontrar o objeto mais próximo partindo do ponto inicial ao final.
Como Faz pra barra de vida aparecer de uma cena pra outra?
[TUTORIAL] Como spawnar inimigos [Tutorial simples]
Vaga de modelador 3D, com remuneração...
Problemas com Colisores
[____ENQUETE____] Eleições para presidente 2018 (2º turno)
Como criar Atlas de textura com modelos exportados do Sketchup?
Unity - Sistema de Pagamento
[RESOLVIDO] iniciar áudio ao passar por uma área da cena
[RESOLVIDO] como envia asset para asset store
[TUTORIAL] Mover personagem com Touch, no estilo SUBWAY SURFERS
codigo não deleta prefab e não respeita o if
[TUTORIAL] Filtros de áudio para AudioListner (Low pass filter, High pass filter, etc)
[____CICLO DE TRABALHO DA UNITY____]
Meu jogo não está abrindo em outro PC
[TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
[TUTORIAL] Sistema de vida,morte,dano
Discord para desenvolvimento de jogos
FAB in WWII (Novo jogo na Play Storee é Free :D)
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[TUTORIAL] Sistema de PORTAS e CHAVES
Criar uma Array ou List com as resoluções suportadas
Alguem traz esse tutorial pro forum?
Realistic fps prefab tenho esses erros ao tentar colocar um script de entrar sair do carro
[RESOLVIDO] Alguem pode me ajudar? tenho esse erro aqui em um script
[RESOLVIDO] Personagem 2d batendo na borda e voando.
[RESOLVIDO] Não consigo usar o Sphere collider.
[RESOLVIDO] Como usa o UI.Text do unity?
Como criar botão de nova tentativa
[RESOLVIDO] Duvida em Jogo de tiro 2D
[TUTORIAL] Barra de VIDA / HP contínua
[RESOLVIDO] duvida com PlayerPrefs
Iniciar animação em determinado frame
Sistema De Troca De Armas 2D
[TUTORIAL] Script de arma completo! [FREE]
[TUTORIAL] Ordenar valores de uma array[] em ordem CRESCENTE OU DECRESCENTE
Meu jogo de runner em primeira pessoa !
[RESOLVIDO] Timer pra mudar de cena na unity 2018
Atualizar Build
[TUTORIAL] 42 ÓTIMAS DICAS DE OTIMIZAÇÃO PARA JOGOS MOBILE (Android)
Como usar Vector3.Angles para detectar que algo está na frente de outro objeto?
[TUTORIAL] Como fazer porta malas do carro abrir atravez de um botão?
Script nao funciona
Como desativar scripts em objetos distantes
[RESOLVIDO] Bug Da Unity ?
[AULA] HTML - Aula 1: Introdução
Raycast
[TUTORIAL]"Morte" do personagem (Unity 5.3 ou Superior)
Problema com a unity ads
como eu faço para a camera orbitar um objeto atraves de um joystick?????
[PROJETO MOBILE] Defeat the Illuminatis
XML, suporte e utilização.
Arrastar objetos em plano 2D (ArrastarT).
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
Participe da Game Jam - Jaaj do canal Amdré Young!
Criar sistema de arrastar e soltar objetos em determinado lugar
AWM Champions I
[RESOLVIDO] Como verificar se o objeto é diferente de null
COMO FAÇO PARA FAZER UM SISTEMA DE SKIN PARA ANDROID ESTILO HEAVY BUS, PROTON BUS, ETC
[TUTORIAL] Snake com Unity + C#
Sobre Som (Ouvir som do sistema , duas caixas de som ... )
Configurar NPCs
[RESOLVIDO] Script Carta
[TUTORIAL] Texto Legenda Character Por Character Para Uso Básico
Ajuda com script movimento por Grid Tile no Navmesh
[Devlog] Lost in the world 05/10
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
inimigo nao persegue player
[RESOLVIDO] Build setting não entra
[RESOLVIDO] Player Sair Da animaçao
[RESOLVIDO] Erro colider
Dúvida sobre Resolução
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[____ENQUETE____] Eleições para presidente 2018
[Plugin dll] DigData basico save data Para Unity
Conquistas Steam? Adicionar
Montando equipe! [Game survival]
[TUTORIAL] Banco de dados || MySQL
[RESOLVIDO] Rotação com Mouse Vídeo 360
Problema com a velocidade do objeto
ANIMAÇÃO INIMIGO AI
Alguem sabe explicar o que é o C# Job System e para o que ele serve
[RESOLVIDO] Comando ScreenToWorldPoint.
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
[TUTORIAL] Como salvar dados em arquivos de texto .txt, .ini ou . qualquer coisa.
Firebase e Unity 5
Hoje à(s) 3:16 pm
Hoje à(s) 3:13 pm
Hoje à(s) 3:13 pm
Hoje à(s) 7:37 am
Hoje à(s) 7:28 am
Hoje à(s) 5:30 am
Ontem à(s) 9:56 pm
Ontem à(s) 9:00 pm
Ontem à(s) 4:05 pm
Ontem à(s) 3:34 pm
Ontem à(s) 12:41 pm
Ontem à(s) 11:48 am
Ontem à(s) 12:57 am
Seg Out 15, 2018 11:36 pm
Seg Out 15, 2018 8:31 pm
Seg Out 15, 2018 6:51 pm
Seg Out 15, 2018 5:34 pm
Seg Out 15, 2018 5:03 pm
Seg Out 15, 2018 2:46 pm
Seg Out 15, 2018 1:19 pm
Seg Out 15, 2018 12:56 pm
Seg Out 15, 2018 11:34 am
Seg Out 15, 2018 6:17 am
Seg Out 15, 2018 12:30 am
Seg Out 15, 2018 12:18 am
Dom Out 14, 2018 12:52 am
Sab Out 13, 2018 9:08 pm
Sab Out 13, 2018 5:24 pm
Sab Out 13, 2018 4:00 pm
Sex Out 12, 2018 10:42 pm
Sex Out 12, 2018 6:00 pm
Sex Out 12, 2018 2:56 pm
Sex Out 12, 2018 2:55 pm
Sex Out 12, 2018 2:42 pm
Qui Out 11, 2018 8:59 pm
Qui Out 11, 2018 8:32 pm
Qui Out 11, 2018 3:09 pm
Qui Out 11, 2018 2:32 pm
Qui Out 11, 2018 12:15 pm
Qui Out 11, 2018 11:35 am
Qui Out 11, 2018 10:50 am
Qui Out 11, 2018 8:24 am
Qua Out 10, 2018 11:31 pm
Qua Out 10, 2018 11:11 pm
Qua Out 10, 2018 10:43 pm
Qua Out 10, 2018 8:22 pm
Qua Out 10, 2018 4:53 pm
Qua Out 10, 2018 4:44 pm
Qua Out 10, 2018 3:48 pm
Qua Out 10, 2018 12:40 pm
Ter Out 09, 2018 9:51 pm
Ter Out 09, 2018 8:16 pm
Ter Out 09, 2018 8:16 pm
Ter Out 09, 2018 8:10 pm
Ter Out 09, 2018 8:09 pm
Ter Out 09, 2018 7:38 pm
Ter Out 09, 2018 2:55 pm
Seg Out 08, 2018 6:13 pm
Seg Out 08, 2018 4:40 pm
Seg Out 08, 2018 2:39 pm
Seg Out 08, 2018 12:52 pm
Seg Out 08, 2018 12:16 pm
Seg Out 08, 2018 10:33 am
Seg Out 08, 2018 9:22 am
Dom Out 07, 2018 1:59 pm
Dom Out 07, 2018 11:53 am
Dom Out 07, 2018 10:53 am
Sab Out 06, 2018 11:14 pm
Sab Out 06, 2018 10:55 pm
Sab Out 06, 2018 8:50 pm
Sab Out 06, 2018 8:41 pm
Sab Out 06, 2018 2:21 pm
Sab Out 06, 2018 1:33 pm
Sab Out 06, 2018 2:04 am
Sex Out 05, 2018 8:22 pm
Sex Out 05, 2018 7:39 pm
Sex Out 05, 2018 6:35 pm
Sex Out 05, 2018 11:27 am
Sex Out 05, 2018 11:22 am
Sex Out 05, 2018 9:35 am
Sex Out 05, 2018 12:53 am
Qui Out 04, 2018 11:40 pm
Qui Out 04, 2018 10:43 pm
Qui Out 04, 2018 6:23 pm
Qui Out 04, 2018 3:36 pm
Qui Out 04, 2018 3:12 pm
Qui Out 04, 2018 3:11 pm
Qui Out 04, 2018 3:11 pm
Qui Out 04, 2018 3:07 pm
Qui Out 04, 2018 12:45 am
Qua Out 03, 2018 10:50 pm
Qua Out 03, 2018 7:15 pm
Qua Out 03, 2018 4:18 pm
Qua Out 03, 2018 3:16 pm
Qua Out 03, 2018 9:07 am
Qua Out 03, 2018 8:47 am
Ter Out 02, 2018 11:12 pm
Ter Out 02, 2018 8:22 pm
Ter Out 02, 2018 12:27 pm
dstaroski
JonasBianca
dstaroski
dstaroski
dstaroski
Duarte
MRX
Daniel Dória
JuR
ismarspn
Jmspp
Callyde Jr
dhy paulo
rafaelllsd
francisco barroso
francisco barroso
igorobm
conceptfac
Dom3000
Isabela
Callyde Jr
Daniel Dória
diegopds
MarcosSchultz
igorobm
MarcosSchultz
MarcosSchultz
Flávio
francisco barroso
Callyde Jr
SuperGamer
SoullSec
SoullSec
SoullSec
Flávio
francisco barroso
Samuelostgamer
Samuelostgamer
gurgelg752
luansantos
guimaraf
theus.mors
TecnoGames
francisco barroso
Eduardoro39
QueriaStarMorto
QueriaStarMorto
mecjo
NyanHeavyBR
CaioItz
RodriGO3477
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
FelipeSouza11
FelipeSouza11
QueriaStarMorto
Tegh
Jmspp
Callyde Jr
Jmspp
Gabryellx007
dstaroski
Tegh
Tegh
SuperGamer
Luizdanhp
MarcosSchultz
TioUV
QueriaStarMorto
KAYKETHEO27
NKKF
MarcosSchultz
Callyde Jr
francisco barroso
FelipeSouza11
Nowsfeky
Mateus2583
FelipeSouza11
Callyde Jr
Daniel Dória
marcosdanielnerydasilva
francisco barroso
NKKF
dstaroski
dstaroski
dstaroski
dstaroski
PedroSilva
igorobm
natanael.olimpio
Socates
francisco barroso
Madson
gurgelg752
francisco barroso
efsbio
brunocvz

[RESOLVIDO]Pegar 2 maiores numeros de uma array

Ir em baixo

Resolvido [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por Feromark2013 em Qua Maio 30, 2018 3:25 pm

Eu preciso no meu jogo pegar dentro de uma array as posições com as 2 maiores pontuação de 4 times para assim eu saber qual time é o primeiro e segundo colocados. Eu até consegui fazer um código que pega a posição da array em primeiro lugar mas eu não consegui fazer a do segundo time.

Código:
   void VerifyGroupWinners()
    {
        int x = 0;

        for (int i = 0; i < timesPtt.Length; i++)
        {
            if (timesPtt[i] > timesPtt[x])
            {
                maior1 = i;
                x = i;
            }
            else if (timesPtt[i] < timesPtt[x])
            {
                maior1 = x;
            }
            else if (timesPtt[i] == timesPtt[x])
                if (timesSaldo[x] > timesSaldo[i])
                    maior1 = x;
                else if (timesSaldo[x] < timesSaldo[i])
                {
                    maior1 = i;
                    x = i;
                }
                else if (timesSaldo[x] == timesSaldo[i])
                    if (Random.Range(1, 2) == 1)
                        maior1 = x;
                    else
                    {
                        maior1 = i;
                        x = i;
                    }
        }

Feromark2013
Membro
Membro

Masculino PONTOS : 762
REPUTAÇÃO : 4
Idade : 14
Áreas de atuação : C##
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por MayLeone em Qua Maio 30, 2018 3:38 pm

Tem um jeito mais rápido de fazer que é com LINQ.
Primeiro vc referencia a biblioteca: using System.Linq;

Daí é só vc usar o método "OrderByDescending" que vai organizar os elementos da sua array em ordem decrescente.
Então ao fazer isso, o elemento 0 da array vai ser o maior valor, e o elemento 1 vai ser o segundo maior, e assim sucessivamente (dessa forma vc também pode pegar o 3º lugar e etc).
Para fazer isso basta escrever esse código:

Código:
timesPtt = timesPtt.OrderByDescending(a => a).ToArray();

Em caso de empates, ele ordena aleatoriamente pra vc os empatados.  :D
avatar
MayLeone
ProgramadorMaster

Feminino PONTOS : 481
REPUTAÇÃO : 151
Áreas de atuação : Unity, Rpg Maker, Scratch, C#, C++, HTML, CSS, JS, MySQL, Blender
Respeito as regras :

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por Feromark2013 em Dom Jun 03, 2018 3:09 pm

@MayLeone escreveu:Tem um jeito mais rápido de fazer que é com LINQ.
Primeiro vc referencia a biblioteca: using System.Linq;

Daí é só vc usar o método "OrderByDescending" que vai organizar os elementos da sua array em ordem decrescente.
Então ao fazer isso, o elemento 0 da array vai ser o maior valor, e o elemento 1 vai ser o segundo maior, e assim sucessivamente (dessa forma vc também pode pegar o 3º lugar e etc).
Para fazer isso basta escrever esse código:

Código:
timesPtt = timesPtt.OrderByDescending(a => a).ToArray();

Em caso de empates, ele ordena aleatoriamente pra vc os empatados.  :D
Muito obrigado cara ajudou muito

Feromark2013
Membro
Membro

Masculino PONTOS : 762
REPUTAÇÃO : 4
Idade : 14
Áreas de atuação : C##
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por Feromark2013 em Seg Jun 04, 2018 4:55 pm

@Feromark2013 escreveu:
@MayLeone escreveu:Tem um jeito mais rápido de fazer que é com LINQ.
Primeiro vc referencia a biblioteca: using System.Linq;

Daí é só vc usar o método "OrderByDescending" que vai organizar os elementos da sua array em ordem decrescente.
Então ao fazer isso, o elemento 0 da array vai ser o maior valor, e o elemento 1 vai ser o segundo maior, e assim sucessivamente (dessa forma vc também pode pegar o 3º lugar e etc).
Para fazer isso basta escrever esse código:

Código:
timesPtt = timesPtt.OrderByDescending(a => a).ToArray();

Em caso de empates, ele ordena aleatoriamente pra vc os empatados.  :D
Muito obrigado cara ajudou muito
 Mas tem um problema que só reparei na hora de editar o código, o meu código funciona da seguinte forma timesPtt[0] é o time 1, timesPtt[1] e assim por diante. Eu posso até saber qual a maior pontuação mas assim eu não sei qual dos times tem a maior pontuação. Se alguém tiver uma ideia porque não achei nada na internet eu agradeço.

Feromark2013
Membro
Membro

Masculino PONTOS : 762
REPUTAÇÃO : 4
Idade : 14
Áreas de atuação : C##
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por NKKF em Seg Jun 04, 2018 5:25 pm

timesPtt[resultado - 1] ? 

Aliás, você armazena os seus jogadores em uma lista?
avatar
NKKF
ProgramadorMaster

Masculino PONTOS : 1988
REPUTAÇÃO : 405
Idade : 14
Áreas de atuação : Error 404 Not Found.
Respeito as regras :

Ver perfil do usuário http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por Feromark2013 em Seg Jun 04, 2018 6:00 pm

@NKKF escreveu:timesPtt[resultado - 1] ? 

Aliás, você armazena os seus jogadores em uma lista?
 Existe oito grupos, cada grupo possui quatro times e cada time tem suas informações que são nome, id, poder, bandeira.
 Dentro da fase de grupos que é aonde apenas 2 times dos 4 do grupo passam para próxima fase, guardo apenas as pontuações do grupo do player já que é o único mostrado (timePtt[0],timePtt[1], timePtt[2], timePtt[3]). O problema é que como não são 2 times eu não posso simplesmente fazer um if para decidir qual time tem mais pontos, eu preciso comparar os 4 e retornar se foi time 1,2,3 ou 4 que estão em primeiro lugar.
 
Acabei de descobrir oque são listas ;-;

Feromark2013
Membro
Membro

Masculino PONTOS : 762
REPUTAÇÃO : 4
Idade : 14
Áreas de atuação : C##
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por Feromark2013 em Seg Jun 04, 2018 6:03 pm

@Feromark2013 escreveu:
@NKKF escreveu:timesPtt[resultado - 1] ? 

Aliás, você armazena os seus jogadores em uma lista?
 Existe oito grupos, cada grupo possui quatro times e cada time tem suas informações que são nome, id, poder, bandeira.
 Dentro da fase de grupos que é aonde apenas 2 times dos 4 do grupo passam para próxima fase, guardo apenas as pontuações do grupo do player já que é o único mostrado (timePtt[0],timePtt[1], timePtt[2], timePtt[3]). O problema é que como não são 2 times eu não posso simplesmente fazer um if para decidir qual time tem mais pontos, eu preciso comparar os 4 e retornar se foi time 1,2,3 ou 4 que estão em primeiro lugar.
 
Acabei de descobrir oque são listas ;-;
 A parte da gameplay do jogo está pronta o problema é isso e o sistema de simular jogos que não são do player.

Feromark2013
Membro
Membro

Masculino PONTOS : 762
REPUTAÇÃO : 4
Idade : 14
Áreas de atuação : C##
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por MayLeone em Seg Jun 04, 2018 6:13 pm

Ok, mas isso vc não tinha especificado no tópico.
Vamos lá, aonde vc guarda essas informações extras? Poste o script completo para que possamos analisar, porém acredito que com o código que te passei, ainda dê para fazer isso.
avatar
MayLeone
ProgramadorMaster

Feminino PONTOS : 481
REPUTAÇÃO : 151
Áreas de atuação : Unity, Rpg Maker, Scratch, C#, C++, HTML, CSS, JS, MySQL, Blender
Respeito as regras :

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por Feromark2013 em Seg Jun 04, 2018 6:20 pm

Spoiler:

Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TeamInfo : MonoBehaviour {

    public string[] frasesVitoria;
    public string[] frasesDerrota;
    public string[] frasesCampeao;
    public int[] poderTimes;
    public string[] nomeTimes;
    public Sprite[] bandeiras;
    public int[] teamPosInGroup;
    private static TeamInfo teamInfo;
    public int[] groupA, groupB, groupC, groupD, groupE, groupF, groupG, groupH;

    private void Awake()
    {
        DontDestroyOnLoad(this);

        if (teamInfo == null)
        {
            teamInfo = this;
        }
        else
        {
            Destroy(gameObject);
        }
    }
    private void Start()
    {
        SetPower();
        SetNames();
        SetGroups();
    }
    void SetPower()
    {
        //Grupo A
        poderTimes[1] = 2;
        poderTimes[2] = 1;
        poderTimes[3] = 3;
        poderTimes[4] = 5;
        //Grupo B
        poderTimes[5] = 5;
        poderTimes[6] = 5;
        poderTimes[7] = 1;
        poderTimes[8] = 1;
        //Grupo C
        poderTimes[9] = 6;
        poderTimes[10] = 2;
        poderTimes[11] = 2;
        poderTimes[12] = 3;
        //Grupo D
        poderTimes[13] = 5;
        poderTimes[14] = 3;
        poderTimes[15] = 3;
        poderTimes[16] = 2;
        //Grupo E
        poderTimes[17] = 6;
        poderTimes[18] = 4;
        poderTimes[19] = 3;
        poderTimes[20] = 3;
        //Grupo F
        poderTimes[21] = 6;
        poderTimes[22] = 3;
        poderTimes[23] = 3;
        poderTimes[24] = 2;
        //Grupo G
        poderTimes[25] = 5;
        poderTimes[26] = 1;
        poderTimes[27] = 1;
        poderTimes[28] = 5;
        //Grupo H
        poderTimes[29] = 4;
        poderTimes[30] = 1;
        poderTimes[31] = 4;
        poderTimes[32] = 2;
    }
    void SetNames()
    {
        nomeTimes[1] = "Russia";
        nomeTimes[2] = "Arabia Saudita";
        nomeTimes[3] = "Egito";
        nomeTimes[4] = "Uruguai";
        nomeTimes[5] = "Portugal";
        nomeTimes[6] = "Espanha";
        nomeTimes[7] = "Marrocos";
        nomeTimes[8] = "Ira";
        nomeTimes[9] = "França";
        nomeTimes[10] = "Australia";
        nomeTimes[11] = "Peru";
        nomeTimes[12] = "Dinamarca";
        nomeTimes[13] = "Argentina";
        nomeTimes[14] = "Islandia";
        nomeTimes[15] = "Croacia";
        nomeTimes[16] = "Nigeria";
        nomeTimes[17] = "Brasil";
        nomeTimes[18] = "Suiça";
        nomeTimes[19] = "Costa Rica";
        nomeTimes[20] = "Servia";
        nomeTimes[21] = "Alemanha";
        nomeTimes[22] = "Mexico";
        nomeTimes[23] = "Suecia";
        nomeTimes[24] = "Coreia Do Sul";
        nomeTimes[25] = "Belgica";
        nomeTimes[26] = "Panama";
        nomeTimes[27] = "Tunisia";
        nomeTimes[28] = "Inglaterra";
        nomeTimes[29] = "Polonia";
        nomeTimes[30] = "Senegal";
        nomeTimes[31] = "Colombia";
        nomeTimes[32] = "Japao";
    }
    void SetGroups()
    {
        groupA[1] = 1;
        groupA[2] = 2;
        groupA[3] = 3;
        groupA[4] = 4;

        groupB[1] = 5;
        groupB[2] = 6;
        groupB[3] = 7;
        groupB[4] = 8;

        groupC[1] = 9;
        groupC[2] = 10;
        groupC[3] = 11;
        groupC[4] = 12;

        groupD[1] = 13;
        groupD[2] = 14;
        groupD[3] = 15;
        groupD[4] = 16;

        groupE[1] = 17;
        groupE[2] = 18;
        groupE[3] = 19;
        groupE[4] = 20;

        groupF[1] = 21;
        groupF[2] = 22;
        groupF[3] = 23;
        groupF[4] = 24;

        groupG[1] = 25;
        groupG[2] = 26;
        groupG[3] = 27;
        groupG[4] = 28;

        groupH[1] = 29;
        groupH[2] = 30;
        groupH[3] = 31;
        groupH[4] = 32;
    }
}



 Eu guardo ai mais informações do que apenas dos times (eu sei está uma bagunça) inclusive uma parte não é definida direto por código

@MayLeone escreveu:Ok, mas isso vc não tinha especificado no tópico.
Vamos lá, aonde vc guarda essas informações extras? Poste o script completo para que possamos analisar, porém acredito que com o código que te passei, ainda dê para fazer isso.

Feromark2013
Membro
Membro

Masculino PONTOS : 762
REPUTAÇÃO : 4
Idade : 14
Áreas de atuação : C##
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por Feromark2013 em Seg Jun 04, 2018 6:22 pm

Só para ficar mais facil de entender eu organizo os times por ID de vez de nome, que vai de 1 até 32. Por exemplo com isso eu sei que nomeTimes[32] representa o nome do time 32.

Feromark2013
Membro
Membro

Masculino PONTOS : 762
REPUTAÇÃO : 4
Idade : 14
Áreas de atuação : C##
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por Feromark2013 em Seg Jun 04, 2018 6:49 pm

Spoiler:

Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.Linq;
using UnityEngine.SceneManagement;

public class GroupPhase : MonoBehaviour {

    public int[] groupA, groupB, groupC, groupD, groupE, groupF, groupG, groupH;
    private int playerTeamGroup;
    public GameObject lose, normal;
    public int[] gamesToPlay, gamesToPlay2, gamesToPlay3, gamesToPlay4;
    private int teamOneId, teamTwoId, teamThreeId, teamFourId;
    int groupGamesOfPlayer;
    private int col;
    public Sprite proximaFase;
    public SimOtherGamesGroupPhase simOGP;
    public GroupPhaseUI ui;
    private int[] timesPtt = new int[4];
    private int[] timesSaldo = new int[4];
    int maior1, maior2;
    int[] previousGames = new int[6];
    TeamInfo info;

    private void Start()
    {
        PlayerPrefs.SetInt("simulatedFirst", 0);
        PlayerPrefs.SetInt("simulatedSecond", 0);

        info = GameObject.FindWithTag("Info").GetComponent<TeamInfo>();
        col = 1;

        PlayerPrefs.SetInt("currentPhase", 0);

        if (PlayerPrefs.GetInt("teamOnePtt") < 0)
            PlayerPrefs.SetInt("teamOnePtt", 0);
        if (PlayerPrefs.GetInt("teamTwoPtt") < 0)
            PlayerPrefs.SetInt("teamTwoPtt", 0);
        if (PlayerPrefs.GetInt("teamThreePtt") < 0)
            PlayerPrefs.SetInt("teamThreePtt", 0);
        if (PlayerPrefs.GetInt("teamFourPtt") < 0)
            PlayerPrefs.SetInt("teamFourPtt", 0);

        timesPtt[0] = PlayerPrefs.GetInt("teamOnePtt");
        timesPtt[1] = PlayerPrefs.GetInt("teamTwoPtt");
        timesPtt[2] = PlayerPrefs.GetInt("teamThreePtt");
        timesPtt[3] = PlayerPrefs.GetInt("teamFourPtt");
        timesSaldo[0] = PlayerPrefs.GetInt("teamOneSaldo");
        timesSaldo[1] = PlayerPrefs.GetInt("teamTwoSaldo");
        timesSaldo[2] = PlayerPrefs.GetInt("teamThreeSaldo");
        timesSaldo[3] = PlayerPrefs.GetInt("teamFourSaldo");
    }
    private void Update()
    {
        if (col == 1 || col == 2)
        {
            SimGroups();
        }
        else if (col == 3)
        {
            col++;
            SaveInSmartPhone();
            NullPlayerGroup();
            SetAllGames();
            VerifyNextGames();
            if (PlayerPrefs.GetInt("simulate") == 1)
            {
                PlayOtherTeamGames();
            }
            if (PlayerPrefs.GetInt("playedGame") == 4)
            {
                VerifyGroupWinners();
                SavePlayerGroupWin();
            }
        }
    }

    void NullPlayerGroup()
    {
        switch (playerTeamGroup)
        {
            case 1:
                groupA = null;
                break;
            case 2:
                groupB = null;
                break;
            case 3:
                groupC = null;
                break;
            case 4:
                groupD = null;
                break;
            case 5:
                groupE = null;
                break;
            case 6:
                groupF = null;
                break;
            case 7:
                groupG = null;
                break;
            case 8:
                groupH = null;
                break;
        }
    }

    void SetAllGames()
    {
        if (PlayerPrefs.GetInt("PlayerGroup") == 1)
        {
            gamesToPlay[0] = 2;
            gamesToPlay[1] = 3;
            gamesToPlay[2] = 4;

            gamesToPlay2[0] = 1;
            gamesToPlay2[1] = 4;
            gamesToPlay2[2] = 3;

            gamesToPlay3[0] = 4;
            gamesToPlay3[1] = 1;
            gamesToPlay3[2] = 2;

            gamesToPlay4[0] = 3;
            gamesToPlay4[1] = 2;
            gamesToPlay4[2] = 1;

            teamOneId = 1;
            teamTwoId = 2;
            teamThreeId = 3;
            teamFourId = 4;
        }
        if (PlayerPrefs.GetInt("PlayerGroup") == 2)
        {
            gamesToPlay[0] = 6;
            gamesToPlay[1] = 7;
            gamesToPlay[2] = 8;

            gamesToPlay2[0] = 5;
            gamesToPlay2[1] = 8;
            gamesToPlay2[2] = 7;

            gamesToPlay3[0] = 8;
            gamesToPlay3[1] = 5;
            gamesToPlay3[2] = 6;

            gamesToPlay4[0] = 7;
            gamesToPlay4[1] = 6;
            gamesToPlay4[2] = 5;

            teamOneId = 5;
            teamTwoId = 6;
            teamThreeId = 7;
            teamFourId = 8;
        }
        if (PlayerPrefs.GetInt("PlayerGroup") == 3)
        {
            gamesToPlay[0] = 10;
            gamesToPlay[1] = 12;
            gamesToPlay[2] = 11;

            gamesToPlay2[0] = 9;
            gamesToPlay2[1] = 12;
            gamesToPlay2[2] = 11;

            gamesToPlay3[0] = 12;
            gamesToPlay3[1] = 9;
            gamesToPlay3[2] = 10;

            gamesToPlay4[0] = 11;
            gamesToPlay4[1] = 10;
            gamesToPlay4[2] = 9;

            teamOneId = 9;
            teamTwoId = 10;
            teamThreeId = 11;
            teamFourId = 12;
        }
        if (PlayerPrefs.GetInt("PlayerGroup") == 4)
        {
            gamesToPlay[0] = 14;
            gamesToPlay[1] = 15;
            gamesToPlay[2] = 16;

            gamesToPlay2[0] = 13;
            gamesToPlay2[1] = 16;
            gamesToPlay2[2] = 15;

            gamesToPlay3[0] = 16;
            gamesToPlay3[1] = 13;
            gamesToPlay3[2] = 14;

            gamesToPlay4[0] = 15;
            gamesToPlay4[1] = 14;
            gamesToPlay4[2] = 13;

            teamOneId = 13;
            teamTwoId = 14;
            teamThreeId = 15;
            teamFourId = 16;
        }
        if (PlayerPrefs.GetInt("PlayerGroup") == 5)
        {
            gamesToPlay[0] = 18;
            gamesToPlay[1] = 19;
            gamesToPlay[2] = 20;

            gamesToPlay2[0] = 17;
            gamesToPlay2[1] = 20;
            gamesToPlay2[2] = 19;

            gamesToPlay3[0] = 20;
            gamesToPlay3[1] = 17;
            gamesToPlay3[2] = 18;

            gamesToPlay4[0] = 19;
            gamesToPlay4[1] = 18;
            gamesToPlay4[2] = 17;

            teamOneId = 17;
            teamTwoId = 18;
            teamThreeId = 19;
            teamFourId = 20;
        }
        if (PlayerPrefs.GetInt("PlayerGroup") == 6)
        {
            gamesToPlay[0] = 22;
            gamesToPlay[1] = 23;
            gamesToPlay[2] = 24;

            gamesToPlay2[0] = 21;
            gamesToPlay2[1] = 24;
            gamesToPlay2[2] = 23;

            gamesToPlay3[0] = 23;
            gamesToPlay3[1] = 21;
            gamesToPlay3[2] = 24;

            gamesToPlay4[0] = 23;
            gamesToPlay4[1] = 21;
            gamesToPlay4[2] = 22;

            teamOneId = 21;
            teamTwoId = 22;
            teamThreeId = 23;
            teamFourId =24;
        }
        if (PlayerPrefs.GetInt("PlayerGroup") == 7)
        {
            gamesToPlay[0] = 26;
            gamesToPlay[1] = 27;
            gamesToPlay[2] = 28;

            gamesToPlay2[0] = 25;
            gamesToPlay2[1] = 28;
            gamesToPlay2[2] = 27;

            gamesToPlay3[0] = 28;
            gamesToPlay3[1] = 25;
            gamesToPlay3[2] = 26;

            gamesToPlay4[0] = 27;
            gamesToPlay4[1] = 26;
            gamesToPlay4[2] = 25;

            teamOneId =25;
            teamTwoId = 26;
            teamThreeId = 27;
            teamFourId = 28;
        }
        if (PlayerPrefs.GetInt("PlayerGroup") ==
        {
            gamesToPlay[0] = 30;
            gamesToPlay[1] = 31;
            gamesToPlay[2] = 32;

            gamesToPlay2[0] = 29;
            gamesToPlay2[1] = 32;
            gamesToPlay2[2] = 31;

            gamesToPlay3[0] = 32;
            gamesToPlay3[1] = 29;
            gamesToPlay3[2] = 30;

            gamesToPlay4[0] = 31;
            gamesToPlay4[1] = 30;
            gamesToPlay4[2] = 29;

            teamOneId = 29;
            teamTwoId = 30;
            teamThreeId = 31;
            teamFourId = 32;
        }
    }            //
    void VerifyNextGames()
    {
        switch (info.teamPosInGroup[PlayerPrefs.GetInt("PlayerTeamId")]){
            case 1:
                switch (PlayerPrefs.GetInt("playedGame"))
                {
                    case 1:
                        PlayerPrefs.SetInt("EnemyTeamId", gamesToPlay[0]);
                        break;
                    case 2:
                        PlayerPrefs.SetInt("EnemyTeamId", gamesToPlay[1]);
                        break;
                    case 3:
                        PlayerPrefs.SetInt("EnemyTeamId", gamesToPlay[2]);
                        break;
                }
                break;
            case 2:
                switch (PlayerPrefs.GetInt("playedGame"))
                {
                    case 1:
                        PlayerPrefs.SetInt("EnemyTeamId", gamesToPlay2[0]);

                        break;
                    case 2:
                        PlayerPrefs.SetInt("EnemyTeamId", gamesToPlay2[1]);
                        break;
                    case 3:
                        PlayerPrefs.SetInt("EnemyTeamId", gamesToPlay2[2]);
                        break;
                }
                break;
            case 3:
                switch (PlayerPrefs.GetInt("playedGame"))
                {
                    case 1:
                        PlayerPrefs.SetInt("EnemyTeamId", gamesToPlay3[0]);
                        break;
                    case 2:
                        PlayerPrefs.SetInt("EnemyTeamId", gamesToPlay3[1]);
                        break;
                    case 3:
                        PlayerPrefs.SetInt("EnemyTeamId", gamesToPlay3[2]);
                        break;
                }
                break;
            case 4:
                switch (PlayerPrefs.GetInt("playedGame"))
                {
                    case 1:
                        PlayerPrefs.SetInt("EnemyTeamId", gamesToPlay4[0]);
                        break;
                    case 2:
                        PlayerPrefs.SetInt("EnemyTeamId", gamesToPlay4[1]);
                        break;
                    case 3:
                        PlayerPrefs.SetInt("EnemyTeamId", gamesToPlay4[2]);
                        break;
                }
                break;
        }
    }        // IGNORAR
    void PlayOtherTeamGames()
    {
        if(1 != info.teamPosInGroup[PlayerPrefs.GetInt("PlayerTeamId")])
        {
            switch (PlayerPrefs.GetInt("playedGame"))
            {
                case 1:
                    if (gamesToPlay[0] != PlayerPrefs.GetInt("PlayerTeamId"))
                    {
                        previousGames[0] = teamOneId;
                        previousGames[1] = gamesToPlay[0];
                        simOGP.DeterminateChance(teamOneId, gamesToPlay[0]);
                    }
                    break;
                case 2:
                    if (gamesToPlay[1] != PlayerPrefs.GetInt("PlayerTeamId"))
                    {
                        simOGP.DeterminateChance(teamOneId, gamesToPlay[1]);
                    }
                    break;
                case 3:
                    if (gamesToPlay[2] != PlayerPrefs.GetInt("PlayerTeamId"))
                    {
                        simOGP.DeterminateChance(teamOneId, gamesToPlay[2]);
                    }
                    break;
            }
        }
        if (2 != info.teamPosInGroup[PlayerPrefs.GetInt("PlayerTeamId")])
        {
            switch (PlayerPrefs.GetInt("playedGame"))
            {
                case 1:
                    {
                     if(PlayerPrefs.GetInt("PlayerTeamId") != 1)
                        if (PlayerPrefs.GetInt("PlayerTeamId") != 1 || previousGames[0] != teamTwoId && previousGames[0] != gamesToPlay2[0] && previousGames[1] != gamesToPlay2[0] && previousGames[1] != teamTwoId)
                        {
                                print("test");
                            simOGP.DeterminateChance(teamTwoId, gamesToPlay2[0]);
                            previousGames[2] = teamTwoId;
                            previousGames[3] = gamesToPlay2[0];
                        }
                    }
                    break;
                case 2:
                    if (gamesToPlay2[1] != PlayerPrefs.GetInt("PlayerTeamId"))
                    {
                        simOGP.DeterminateChance(teamTwoId, gamesToPlay2[1]);
                    }
                    break;
                case 3:
                    if (gamesToPlay2[2] != PlayerPrefs.GetInt("PlayerTeamId"))
                    {
                        simOGP.DeterminateChance(teamTwoId, gamesToPlay2[2]);;
                    }
                    break;
            }
        }
        if (3 != info.teamPosInGroup[PlayerPrefs.GetInt("PlayerTeamId")])
        {
            switch (PlayerPrefs.GetInt("playedGame"))
            {
                case 1:
                    if (gamesToPlay3[0] != PlayerPrefs.GetInt("PlayerTeamId") )
                    {
                        if (previousGames[0] != teamThreeId && previousGames[0] != gamesToPlay3[0] && previousGames[1] != gamesToPlay3[0] && previousGames[1] != teamThreeId && previousGames[2] != teamThreeId && previousGames[2] != gamesToPlay3[0] && previousGames[3] != gamesToPlay3[0] && previousGames[3] != teamThreeId)
                        {
                            simOGP.DeterminateChance(teamThreeId, gamesToPlay3[0]);
                            previousGames[4] = teamThreeId;
                            previousGames[5] = gamesToPlay3[0];
                        }
                    }
                    break;
                case 2:
                    if (gamesToPlay3[1] != PlayerPrefs.GetInt("PlayerTeamId"))
                    {
                        simOGP.DeterminateChance(teamThreeId, gamesToPlay3[1]);;
                    }
                    break;
                case 3:
                    if (gamesToPlay3[2] != PlayerPrefs.GetInt("PlayerTeamId"))
                    {
                        simOGP.DeterminateChance(teamThreeId, gamesToPlay3[2]);
                    }
                    break;
            }
        }
        if (4 != info.teamPosInGroup[PlayerPrefs.GetInt("PlayerTeamId")])
        {
            switch (PlayerPrefs.GetInt("playedGame"))
            {
                case 1:
                    if (gamesToPlay4[0] != PlayerPrefs.GetInt("PlayerTeamId"))
                    {
                        if (previousGames[0] != teamFourId && previousGames[0] != gamesToPlay4[0] && previousGames[1] != gamesToPlay4[0] && previousGames[1] != teamFourId && previousGames[2] != teamFourId && previousGames[2] != gamesToPlay4[0] && previousGames[3] != gamesToPlay4[0] && previousGames[3] != teamFourId && previousGames[4] != gamesToPlay4[0] && previousGames[4] != teamFourId && previousGames[5] != gamesToPlay4[0] && previousGames[5] != teamFourId)
                            simOGP.DeterminateChance(teamFourId, gamesToPlay4[0]);
                        else
                            return;
                    }
                    break;
                case 2:
                    if (gamesToPlay4[1] != PlayerPrefs.GetInt("PlayerTeamId"))
                    {
                        simOGP.DeterminateChance(teamFourId, gamesToPlay4[1]);
                    }
                    break;
                case 3:
                    if (gamesToPlay4[2] != PlayerPrefs.GetInt("PlayerTeamId"))
                    {
                        simOGP.DeterminateChance(teamFourId, gamesToPlay4[2]);
                    }
                    break;
            }
        }
    }     //

    void SaveInSmartPhone()
    {
        PlayerPrefs.SetInt("groupA1", groupA[0]);
        PlayerPrefs.SetInt("groupA2", groupA[1]);

        PlayerPrefs.SetInt("groupB1", groupB[0]);
        PlayerPrefs.SetInt("groupB2", groupB[1]);

        PlayerPrefs.SetInt("groupC1", groupC[0]);
        PlayerPrefs.SetInt("groupC2", groupC[1]);

        PlayerPrefs.SetInt("groupD1", groupD[0]);
        PlayerPrefs.SetInt("groupD2", groupD[1]);

        PlayerPrefs.SetInt("groupE1", groupE[0]);
        PlayerPrefs.SetInt("groupE2", groupE[1]);

        PlayerPrefs.SetInt("groupF1", groupF[0]);
        PlayerPrefs.SetInt("groupF2", groupF[1]);

        PlayerPrefs.SetInt("groupG1", groupG[0]);
        PlayerPrefs.SetInt("groupG2", groupG[1]);

        PlayerPrefs.SetInt("groupH1", groupH[0]);
        PlayerPrefs.SetInt("groupH2", groupH[1]);

        PlayerPrefs.SetInt("playerGroup", playerTeamGroup);
    }
    void SavePlayerGroupWin()
    {
        

        switch (playerTeamGroup)
        {
            case 1:
                PlayerPrefs.SetInt("groupA1", info.groupA[maior1 + 1]);
                PlayerPrefs.SetInt("groupA2", info.groupA[maior2 + 1]);
                PlayerPrefs.SetInt("PlayerGroup", 1);
                break;
            case 2:
                PlayerPrefs.SetInt("groupB1", info.groupB[maior1 + 1]);
                PlayerPrefs.SetInt("groupB2", info.groupB[maior2 + 1]);
                PlayerPrefs.SetInt("PlayerGroup", 2);
                break;
            case 3:
                PlayerPrefs.SetInt("groupC1", info.groupC[maior1 + 1]);
                PlayerPrefs.SetInt("groupC2", info.groupC[maior2 + 1]);
                PlayerPrefs.SetInt("PlayerGroup", 3);
                break;
            case 4:
                PlayerPrefs.SetInt("groupD1", info.groupD[maior1 + 1]);
                PlayerPrefs.SetInt("groupD2", info.groupD[maior2 + 1]);
                PlayerPrefs.SetInt("PlayerGroup", 4);
                break;
            case 5:
                PlayerPrefs.SetInt("groupE1", info.groupE[maior1 + 1]);
                PlayerPrefs.SetInt("groupE2", info.groupE[maior2 + 1]);
                PlayerPrefs.SetInt("PlayerGroup", 5);
                break;
            case 6:
                PlayerPrefs.SetInt("groupF1", info.groupF[maior1 + 1]);
                PlayerPrefs.SetInt("groupF2", info.groupF[maior2 + 1]);
                PlayerPrefs.SetInt("PlayerGroup", 6);
                break;
            case 7:
                PlayerPrefs.SetInt("groupG1", info.groupG[maior1 + 1]);
                PlayerPrefs.SetInt("groupG2", info.groupG[maior2 + 1]);
                PlayerPrefs.SetInt("PlayerGroup", 7);
                break;
            case 8:
                PlayerPrefs.SetInt("groupH1", info.groupH[maior1 + 1]);
                PlayerPrefs.SetInt("groupH2", info.groupH[maior2 + 1]);
                PlayerPrefs.SetInt("PlayerGroup",8);
                break;
        }
    }

    void SimGroups()
    {
            GroupASim();
            GroupBSim();
            GroupCSim();
            GroupDSim();
            GroupESim();
            GroupFSim();
            GroupGSim();
            GroupHSim();
            col++;
    }
    void GroupASim()
    {
        int temp = Random.Range(0, 100);
        if(temp <= 50)
            groupA[col-1] = 4;

        if (temp > 50 && temp < 60)
            groupA[col - 1] = 2;

        if (temp > 60 && temp < 75)
            groupA[col - 1] = 1;

        if (temp > 75)
            groupA[col - 1] = 3;

        if(col == 2)
        {              
             while (groupA[0] == groupA[1])
                groupA[1] = Random.Range(1, 4);
        }
    }
    void GroupBSim()
    {
        int temp = Random.Range(0, 100);
        if (temp <= 50)
            groupB[col - 1] = 6;

        if (temp > 50 && temp <= 90)
            groupB[col - 1] = 5;

        if (temp > 90 && temp <= 95)
            groupB[col - 1] = 7;

        if (temp > 95)
            groupB[col - 1] = 8;

        if (col == 2)
        {
            while (groupB[0] == groupB[1])
                groupB[1] = Random.Range(5, 8);
        }
    }
    void GroupCSim()
    {
        int temp = Random.Range(0, 100);
        if (temp <= 50)
            groupC[col - 1] = 9;

        if (temp > 50 && temp <= 70)
            groupC[col - 1] = 12;

        if (temp > 70 && temp <= 85)
            groupC[col - 1] = 11;

        if (temp > 85)
            groupC[col - 1] = 10;

        if (col == 2)
        {
            while (groupC[0] == groupC[1])
                groupC[1] = Random.Range(9, 12);
        }
    }
    void GroupDSim()
    {
        int temp = Random.Range(0, 100);
        if (temp <= 50)
            groupD[col - 1] = 13;

        if (temp > 50 && temp <= 70)
            groupD[col - 1] = 14;

        if (temp > 70 && temp <= 90)
            groupD[col - 1] = 15;

        if (temp > 90)
            groupD[col - 1] = 16;

        if (col == 2)
        {
            while (groupD[0] == groupD[1])
                groupD[1] = Random.Range(13, 16);
        }
    }
    void GroupESim()
    {
        int temp = Random.Range(0, 100);
        if (temp <= 50)
            groupE[col - 1] = 17;

        if (temp > 50 && temp <= 70)
            groupE[col - 1] = 18;

        if (temp > 70 && temp <= 90)
            groupE[col - 1] = 19;

        if (temp > 90)
            groupE[col - 1] = 20;

        if (col == 2)
        {
            while (groupE[0] == groupE[1])
                groupE[1] = Random.Range(17, 20);
        }
    }
    void GroupFSim()
    {
        int temp = Random.Range(0, 100);
        if (temp <= 50)
            groupF[col - 1] = 21;

        if (temp > 50 && temp <= 70)
            groupF[col - 1] = 22;

        if (temp > 70 && temp <= 90)
            groupF[col - 1] = 23;

        if (temp > 90)
            groupF[col - 1] = 24;

        if (col == 2)
        {
            while (groupF[0] == groupF[1])
                groupF[1] = Random.Range(21, 24);
        }
    }
    void GroupGSim()
    {
        int temp = Random.Range(0, 100);
        if (temp <= 40)
            groupG[col - 1] = 25;

        if (temp > 40 && temp <= 80)
            groupG[col - 1] = 28;

        if (temp > 80 && temp <= 90)
            groupG[col - 1] = 27;

        if (temp > 90)
            groupG[col - 1] = 26;

        if (col == 2)
        {
            while (groupG[0] == groupG[1])
                groupG[1] = Random.Range(25, 28);
        }
    }
    void GroupHSim()
    {
        int temp = Random.Range(0, 100);
        if (temp <= 40)
            groupH[col - 1] = 29;

        if (temp > 40 && temp <= 80)
            groupH[col - 1] = 31;

        if (temp > 80 && temp <= 95)
            groupH[col - 1] = 30;

        if (temp > 95)
            groupH[col - 1] = 32;

        if (col == 2)
        {
            while (groupH[0] == groupH[1])
                groupH[1] = Random.Range(29, 32);
        }
    }
}



Esse é o resto do código que postei no inicio do tópico

Feromark2013
Membro
Membro

Masculino PONTOS : 762
REPUTAÇÃO : 4
Idade : 14
Áreas de atuação : C##
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por MayLeone em Seg Jun 04, 2018 7:16 pm

Ixi.  :affraid:
Pelo oq eu notei, seu maior problema está em separar as informações de cada um em arrays separadas.
Vc poderia cria uma classe que tem como propriedades cada informação q vc precisa, daí quando criar um novo time, basta setar essas informações dentro de um objeto, utilizando os velhos princípios da POO:

Código:
public class Times{
public int poder;
public Sprite bandeira;
public string nome;

public Times (int p, Sprite b, string n){
poder = p;
bandeira = b;
nome = n;
}
}

Daí nesse outro script vc instancia esses valores com as informações de cada time dentro de um array:

Código:
Times[] times = {new Times(1, sprite.Bandeira, "Brasil"),
new Times(2, sprite.Bandeira, "EUA")} ;

Adiciona aí todos os times q vc quer.

Daí para colocá-los no grupo, vc faz:

Código:
Times[] grupoA = {times[0], times[1]};

E assim sucessivamente...

Daí para verificar alguma informação fica mais fácil, por exemplo, quais times do grupo A tem maior valor de poder:

Código:
int[] maioresGrupoA = new int [2];
maioresGrupoA = grupoA.OrderByDescending(g => g.poder).ToArray();

Então dentro do array "maioresGrupoA" vc irá armazenar os dois times que tem mais 'poder' do grupo A, para acessar esses valores, basta fazer:

Código:
Debug.Log(maioresGrupoA[0], maioresGrupoA[1]);

E assim vc poderá verificar se são os 2 maiores mesmo, sendo o maior estando na posição 0 do array e o segundo maior na posição 1.

Se fizer isso com os outros grupos da mesma forma, vc consegue ter todos os valores que desejar usando POO.
avatar
MayLeone
ProgramadorMaster

Feminino PONTOS : 481
REPUTAÇÃO : 151
Áreas de atuação : Unity, Rpg Maker, Scratch, C#, C++, HTML, CSS, JS, MySQL, Blender
Respeito as regras :

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por Feromark2013 em Seg Jun 04, 2018 7:52 pm

Depois vou ter que fazer isso, vou ter que reescrever um monte de coisas mais não tem problema. Esse método fica mais leve também?
 Obrigado pela ajuda cara

Feromark2013
Membro
Membro

Masculino PONTOS : 762
REPUTAÇÃO : 4
Idade : 14
Áreas de atuação : C##
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por Feromark2013 em Ter Jun 05, 2018 5:09 pm

mas por exemplo eu quiser ver o poder do time que tem o id x como eu faço nesse caso?

Feromark2013
Membro
Membro

Masculino PONTOS : 762
REPUTAÇÃO : 4
Idade : 14
Áreas de atuação : C##
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por Feromark2013 em Ter Jun 05, 2018 5:23 pm

Spoiler:
poiler]][/quote]
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Linq;

public class TeamInfo : MonoBehaviour {

    public string[] frasesVitoria;
    public string[] frasesDerrota;
    public string[] frasesCampeao;
    public int[] poderTimes;
    public string[] nomeTimes;
    public Sprite[] bandeiras;
    public int[] teamPosInGroup;
    private static TeamInfo teamInfo;
    public int[] groupA, groupB, groupC, groupD, groupE, groupF, groupG, groupH;
    private Times[] times;

    private void Awake()
    {
        DontDestroyOnLoad(this);

        if (teamInfo == null)
        {
            teamInfo = this;
        }
        else
        {
            Destroy(gameObject);
        }
    }
    private void Start()
    {
        SetPower();
        SetNames();
        SetGroups();
        SetTimes();
        print(times[1].nome);
    }
    private void SetTimes()
    {
       Times[] times = {
            new Times("Russia", 2,bandeiras[1]),
            new Times("Arabia Saudita", 1, bandeiras[2]),
            new Times("Egito", 3, bandeiras[3]),
            new Times("Uruguai", 5, bandeiras[4]),
            new Times("Portugal", 5, bandeiras[5]),
            new Times("Espanha", 5, bandeiras[6]),
            new Times("Marrocos", 1, bandeiras[7]),
            new Times("Ira", 1, bandeiras[8]),
            new Times("França",6,bandeiras[9]),
            new Times("Australia", 2, bandeiras[10]),
            new Times("Peru", 2, bandeiras[11]),
            new Times("Dinamarca", 3, bandeiras[12]),
            new Times("Argentina", 5, bandeiras[13]),
            new Times("Islandia", 3, bandeiras[14]),
            new Times("Croacia", 3, bandeiras[15]),
            new Times("Nigeria",2, bandeiras[16]),
            new Times("Brasil", 6, bandeiras[17]),
            new Times("Suiça", 4, bandeiras[18]),
            new Times("Costa Rica", 3, bandeiras[19]),
            new Times("Servia", 3, bandeiras[20]),
            new Times("Alemanha",6, bandeiras[21]),
            new Times("Mexico", 3, bandeiras[22]),
            new Times("Suecia", 3, bandeiras[23]),
            new Times("Coreia do Sul", 2, bandeiras[24]),
            new Times("Belgica", 5, bandeiras[25]),
            new Times("Panama", 1, bandeiras[26]),
            new Times("Tunisia", 1, bandeiras[27]),
            new Times("Inglaterra",5,bandeiras[28]),
            new Times("Polonia", 4, bandeiras[29]),
            new Times("Senegal", 1, bandeiras[30]),
            new Times("Colombia", 4, bandeiras[31]),
            new Times("Japão", 2,bandeiras[32]),
        };

        
    }

    void SetPower()
    {
        //Grupo A
        poderTimes[1] = 2;
        poderTimes[2] = 1;
        poderTimes[3] = 3;
        poderTimes[4] = 5;
        //Grupo B
        poderTimes[5] = 5;
        poderTimes[6] = 5;
        poderTimes[7] = 1;
        poderTimes[8] = 1;
        //Grupo C
        poderTimes[9] = 6;
        poderTimes[10] = 2;
        poderTimes[11] = 2;
        poderTimes[12] = 3;
        //Grupo D
        poderTimes[13] = 5;
        poderTimes[14] = 3;
        poderTimes[15] = 3;
        poderTimes[16] = 2;
        //Grupo E
        poderTimes[17] = 6;
        poderTimes[18] = 4;
        poderTimes[19] = 3;
        poderTimes[20] = 3;
        //Grupo F
        poderTimes[21] = 6;
        poderTimes[22] = 3;
        poderTimes[23] = 3;
        poderTimes[24] = 2;
        //Grupo G
        poderTimes[25] = 5;
        poderTimes[26] = 1;
        poderTimes[27] = 1;
        poderTimes[28] = 5;
        //Grupo H
        poderTimes[29] = 4;
        poderTimes[30] = 1;
        poderTimes[31] = 4;
        poderTimes[32] = 2;
    }
    void SetNames()
    {
        nomeTimes[1] = "Russia";
        nomeTimes[2] = "Arabia Saudita";
        nomeTimes[3] = "Egito";
        nomeTimes[4] = "Uruguai";
        nomeTimes[5] = "Portugal";
        nomeTimes[6] = "Espanha";
        nomeTimes[7] = "Marrocos";
        nomeTimes[8] = "Ira";
        nomeTimes[9] = "França";
        nomeTimes[10] = "Australia";
        nomeTimes[11] = "Peru";
        nomeTimes[12] = "Dinamarca";
        nomeTimes[13] = "Argentina";
        nomeTimes[14] = "Islandia";
        nomeTimes[15] = "Croacia";
        nomeTimes[16] = "Nigeria";
        nomeTimes[17] = "Brasil";
        nomeTimes[18] = "Suiça";
        nomeTimes[19] = "Costa Rica";
        nomeTimes[20] = "Servia";
        nomeTimes[21] = "Alemanha";
        nomeTimes[22] = "Mexico";
        nomeTimes[23] = "Suecia";
        nomeTimes[24] = "Coreia Do Sul";
        nomeTimes[25] = "Belgica";
        nomeTimes[26] = "Panama";
        nomeTimes[27] = "Tunisia";
        nomeTimes[28] = "Inglaterra";
        nomeTimes[29] = "Polonia";
        nomeTimes[30] = "Senegal";
        nomeTimes[31] = "Colombia";
        nomeTimes[32] = "Japao";
    }
    void SetGroups()
    {
        groupA[1] = 1;
        groupA[2] = 2;
        groupA[3] = 3;
        groupA[4] = 4;

        groupB[1] = 5;
        groupB[2] = 6;
        groupB[3] = 7;
        groupB[4] = 8;

        groupC[1] = 9;
        groupC[2] = 10;
        groupC[3] = 11;
        groupC[4] = 12;

        groupD[1] = 13;
        groupD[2] = 14;
        groupD[3] = 15;
        groupD[4] = 16;

        groupE[1] = 17;
        groupE[2] = 18;
        groupE[3] = 19;
        groupE[4] = 20;

        groupF[1] = 21;
        groupF[2] = 22;
        groupF[3] = 23;
        groupF[4] = 24;

        groupG[1] = 25;
        groupG[2] = 26;
        groupG[3] = 27;
        groupG[4] = 28;

        groupH[1] = 29;
        groupH[2] = 30;
        groupH[3] = 31;
        groupH[4] = 32;
    }
}
 

quando tento dar um debug no nome do item da primeira posição da array diz que "Object Reference Not Set To Instance o Object"

Feromark2013
Membro
Membro

Masculino PONTOS : 762
REPUTAÇÃO : 4
Idade : 14
Áreas de atuação : C##
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por Feromark2013 em Ter Jun 05, 2018 5:31 pm

Ja resolvi

Feromark2013
Membro
Membro

Masculino PONTOS : 762
REPUTAÇÃO : 4
Idade : 14
Áreas de atuação : C##
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Pegar 2 maiores numeros de uma array

Mensagem por PauloFR em Ter Jun 05, 2018 7:11 pm

@Feromark2013 Quando o código for muito grande, coloque dentro de um spoiler, porque não há scroll que aguente... Tópico resolvido.
avatar
PauloFR
Instrutor

Masculino PONTOS : 1853
REPUTAÇÃO : 363
Idade : 16
Áreas de atuação : Oque será uma área de atuação, se não um modo de manter-nos presos ao sistema

Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com/u8329

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum