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:
Câmera Orbital Modificada
Pack de áudio/ efeitos sonoros gratuitos.
AJUDA COM SCRIPT DE DISPARO
Um código e um agradecimento ao todo mundo.
Dúvida de shotter 2D...
Estou com um problema no script de animação
Rodar música fora do App
Salvar Cores com Json
GENTE EU ESTOU COM UM PROBLEMA NO UNITY
Erro Ao Tentar vincular SCRIPT C# com Objeto (Script need's to derive from MonoBehaviour)
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
criar um app que atende a vários produtos.
onde publicar os trabalhos prontos.
tela preta do unity apos abrir no celular..
tela branca ao iniciar videoplayer
2 JOGOS EM ANDAMENTO:
[Asset Grátis] - Key gratuita para "Ingame Logs Viewer" para quem avalia-lo!
fazer unity5 imprimir
Como faz para o jogo saber se e windows, android,tablet , mac e ios?
[RESOLVIDO] Detecta o fim da animação e conjura um novo evento.
como limitar o zoom mínimo e máximo no lean touch
[Resolvido] Unity - Executar Pagina Web Dentro De Um Programa
Rádio para programadores
StreamWriter... ajuda rapida no salvamento
Efeito Glowing
[RESOLVIDO] Detectar distância de objetos
Software para testar AR no PC
Fazer cada Scene em uma orientação
[TUTORIAL] Compilar para Android
Asset de paint com lag
Utilizar movimento de plataforma na UI
COMO MOVER UM OBJETO OU PERSONAGEM
[TUTORIAL] CONFIGURANDO O UNITY PARA COMPILAR PARA ANDROID
Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D
texto com rolamento pela seta
[RESOLVIDO] Rotacionar Personagem De Acordo Com a Direção Do Analógico
Dúvida Com Conta Matematica
[RESOLVIDO] Colocar uma condição para remover uma variavel do inspector?
APK trava com Admob
Conectar ao wifi
Celular dentro do game
[TUTORIAL] Como fazer um TELEPORTE
[RESOLVICO] Colisor que ao atravessar ele eu mudo minha cena no Unity2D ?
[TUTORIAL] Mover, arremessar e girar objetos com o mouse
Objeto sempre ocupando toda a camera
Transições de Animações de Sprites
[RESOLVIDO] Sprites mudando posição
Renderização no blender
[RESOLVIDO] AJUDA ERRO COM INIMIGO
Unity - Erro ao Salvar
Duvida resolucao
Mecânica de destruição de parte de um sprite
[RESOLVIDO] Reconhecimento de Joystick e Teclado
convert byte[] em texture2D
[TUTORIAL] Mover objetos 2D e conectar em lugares específicos
Captura de imagem
Como fazer variáveis se ocultarem no Editor?
[TUTORIAL] Unity 5 - Sistema Completo de PORTAS E CHAVES
paredes
OnTriggerExit2D detectando collider desativado
[TUTORIAL] Wheel Collider - como configurar corretamente.
posição de cubos..
[RESOLVIDO] Movimentar personagem por grade com clique do mouse. (Isométrico)
[RESOLVIDO] Data e hora atual no android
Game Engine
Dúvida Sobre o lucky patcher
[TUTORIAL] Converter uma variável String em Vetores
Tem como reproduzir vídeo em android?
Preferência em Games
[TUTORIAL] Singleton, A melhor forma de acessar a classe!
[RESOLVIDO] Acessar Scripts de Objetos Que Estão Como "DontDestroyOnLoad()" ?
[TUTORIAL] Arma tipo a do call of duty
[TUTORIAL] Double Jumping para games em 2D
[TUTORIAL] Unity 2019 - Lanterna e pilhas, com UI
GameJam valendo 15 mil reais em bitcoin!!
Combinar prefabs?!?
[TUTORIAL] Como usar FREE EASY CRIATURA CONTROLE IA
[TUTORIAL] MOVIMENTO NA ARMA PARA FICAR MAIS REAL!
Multiplayer será tirado da Unity?
Como dar o mesmo valor a varias variaveis ?
Procurando modelador de personagens!
Conta playstore
[TUTORIAL] Sistema de "Entrar" em locais
[TUTORIAL] Sistema de Lanterna com Pilhas
Como mudar cor do botao UI
[RESOLVIDO] Set Materials
Uma duvida sobre colliders 2d
Efeito 'vai e volta'
Tiro do IA direcionado a posição atual do Player
CircleCast
[RESOLVIDO] MoveTowards
Como mudar variaveis de uma [Serializable]
[TUTORIAL] Plataforma Tangente 2D
como criar um sistema de concorrência finaceira para jogo tycon
Salvando screenshot na galeria do Ipad (IOS)
Grama de terreno mudou textura e não consigo identificar o motivo
Como usar o Unity Monetization 3.0.1?
Marcha
Paint
Hoje à(s) 12:15 pm
Hoje à(s) 3:17 am
Ontem à(s) 10:30 pm
Ontem à(s) 9:18 pm
Ontem à(s) 8:39 pm
Ontem à(s) 4:51 pm
Ontem à(s) 3:56 pm
Ontem à(s) 1:03 pm
Ontem à(s) 10:10 am
Ontem à(s) 9:43 am
Ontem à(s) 2:16 am
Ontem à(s) 12:02 am
Sex Mar 22, 2019 11:51 pm
Sex Mar 22, 2019 11:36 pm
Sex Mar 22, 2019 11:16 pm
Sex Mar 22, 2019 8:18 pm
Sex Mar 22, 2019 8:07 pm
Sex Mar 22, 2019 8:00 pm
Sex Mar 22, 2019 6:58 pm
Sex Mar 22, 2019 2:49 pm
Sex Mar 22, 2019 12:09 pm
Qui Mar 21, 2019 11:13 pm
Qui Mar 21, 2019 11:02 pm
Qui Mar 21, 2019 9:22 pm
Qui Mar 21, 2019 5:10 pm
Qui Mar 21, 2019 5:01 pm
Qui Mar 21, 2019 11:52 am
Qui Mar 21, 2019 10:18 am
Qua Mar 20, 2019 9:29 pm
Qua Mar 20, 2019 9:19 pm
Qua Mar 20, 2019 8:39 pm
Qua Mar 20, 2019 8:33 pm
Ter Mar 19, 2019 10:03 pm
Ter Mar 19, 2019 1:50 pm
Ter Mar 19, 2019 7:03 am
Ter Mar 19, 2019 6:23 am
Ter Mar 19, 2019 6:02 am
Seg Mar 18, 2019 6:48 pm
Seg Mar 18, 2019 3:39 pm
Seg Mar 18, 2019 3:28 pm
Seg Mar 18, 2019 1:00 pm
Seg Mar 18, 2019 4:31 am
Dom Mar 17, 2019 3:43 pm
Sab Mar 16, 2019 5:11 pm
Sab Mar 16, 2019 4:37 pm
Sab Mar 16, 2019 3:48 pm
Sex Mar 15, 2019 6:40 pm
Sex Mar 15, 2019 3:09 pm
Sex Mar 15, 2019 9:32 am
Sex Mar 15, 2019 9:27 am
Qui Mar 14, 2019 9:55 pm
Qui Mar 14, 2019 9:50 pm
Qui Mar 14, 2019 9:45 pm
Qui Mar 14, 2019 9:44 pm
Qui Mar 14, 2019 9:42 pm
Qui Mar 14, 2019 9:38 pm
Qui Mar 14, 2019 9:00 pm
Qui Mar 14, 2019 8:54 pm
Qui Mar 14, 2019 8:33 pm
Qui Mar 14, 2019 8:29 pm
Qui Mar 14, 2019 5:06 pm
Qui Mar 14, 2019 3:39 pm
Qua Mar 13, 2019 5:30 pm
Ter Mar 12, 2019 2:54 pm
Seg Mar 11, 2019 10:21 pm
Seg Mar 11, 2019 1:25 pm
Seg Mar 11, 2019 11:51 am
Seg Mar 11, 2019 12:35 am
Dom Mar 10, 2019 9:49 pm
Dom Mar 10, 2019 8:20 pm
Dom Mar 10, 2019 5:47 pm
Dom Mar 10, 2019 5:21 pm
Dom Mar 10, 2019 2:12 pm
Sab Mar 09, 2019 7:50 pm
Sab Mar 09, 2019 12:18 pm
Sex Mar 08, 2019 6:55 pm
Sex Mar 08, 2019 2:40 pm
Qui Mar 07, 2019 12:19 pm
Qui Mar 07, 2019 12:12 pm
Qui Mar 07, 2019 11:59 am
Qui Mar 07, 2019 11:12 am
Qui Mar 07, 2019 1:29 am
Qua Mar 06, 2019 10:32 pm
Qua Mar 06, 2019 5:37 pm
Qua Mar 06, 2019 1:21 pm
Ter Mar 05, 2019 2:53 pm
Seg Mar 04, 2019 7:39 pm
Seg Mar 04, 2019 5:44 pm
Seg Mar 04, 2019 2:38 pm
Dom Mar 03, 2019 7:45 pm
Sab Mar 02, 2019 8:34 pm
Sab Mar 02, 2019 7:45 pm
Sab Mar 02, 2019 12:46 am
Sex Mar 01, 2019 10:52 pm
Sex Mar 01, 2019 4:43 pm
Sex Mar 01, 2019 4:31 pm
Sex Mar 01, 2019 12:52 pm
Qui Fev 28, 2019 9:30 pm
Qua Fev 27, 2019 8:30 pm
artplayer
Zack2
Diego Felix
dstaroski
Weslley
gutovic29
NKKF
Duarte
Simplizãum S
CaerHunter
Nalfam
marciosilva
marciosilva
marciosilva
marciosilva
dstaroski
dstaroski
dstaroski
Chilinger
fabricadegame
eduardonog30
Magnatah
Magnatah
Encracker
michelly
numb123
Magnatah
joffersoju
fabricadegame
MarcosSchultz
MarcosSchultz
MarcosSchultz
fabricadegame
Akuma97
Magnatah
Magnatah
Magnatah
luiz12345
rejão
Zack2
Zack2
MarcosSchultz
luiz12345
henriquegames501
lesgoy
MiguelLuiz
Lteo
diegopds
Diego Felix
Magnatah
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Isabela
Isabela
Annko
juniorhotes
Weslley
Daniel Dória
juniorhotes
lesgoy
lucaslbatista
Flávio
Magnatah
diegopds
MayLeone
glauco
dimmuo
AnderGames
Unidade3d5
arthurunity
artplayer
diegopds
zeca urubu
Daniel Dória
AnderGames
MarcosSchultz
Alanigma
ffabim
Flávio
Flávio
Manawydan
rafaelllsd
Lteo
dimmuo
MateusPignatti
Madness
dstaroski
dstaroski
dstaroski
Madness
Madness

[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 : 920
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
MayLeone
MayLeone
ProgramadorMaster

Feminino PONTOS : 853
REPUTAÇÃO : 243
Áreas de atuação : Unity, C++/C#, HTML, CSS, JS, jQuery, PHP, MySQL, XML, 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 : 920
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 : 920
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?
NKKF
NKKF
ProgramadorMaster

Masculino PONTOS : 2292
REPUTAÇÃO : 444
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 : 920
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 : 920
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.
MayLeone
MayLeone
ProgramadorMaster

Feminino PONTOS : 853
REPUTAÇÃO : 243
Áreas de atuação : Unity, C++/C#, HTML, CSS, JS, jQuery, PHP, MySQL, XML, 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 : 920
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 : 920
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 : 920
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.
MayLeone
MayLeone
ProgramadorMaster

Feminino PONTOS : 853
REPUTAÇÃO : 243
Áreas de atuação : Unity, C++/C#, HTML, CSS, JS, jQuery, PHP, MySQL, XML, 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 : 920
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 : 920
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 : 920
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 : 920
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.
PauloFR
PauloFR
Instrutor

Masculino PONTOS : 2008
REPUTAÇÃO : 364
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