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:
Procuro Programador para jogo baseado em Harvest Moon - Unity (3D)
[RESOLVIDO] Unity - Erro ao Mudar de Resolução
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[TUTORIAL] Script simples para CAMA ELÁSTICA
[RESOLVIDO] Cama elastica e ventuinha que lança pra cima
[RESOLVIDO] Unity não está aceitando imagens
Bora entrar no Discord.. Tirando Duvidas Online..
Ajuda com orientação de rotação de objeto
Recompensa diária
Herança Classes
[Divulgação] Projeto The World of Child
Como Criar uma nova classe com as mesmas variaveis?
Como recriar esta fisica?
[RESOLVIDO] problema movimentação horinzontal
Exclusão de arquivos desnecessários da Photon Network (PUN)
luz
Como desativar o componente IMAGE e ativar automaticamente depois de certo tempo
Alguem sabe como resolver esse problema? AI nao procurar ela mesma
[TUTORIAL] Barra de VIDA / HP contínua
Compilando pra android
Compilação pra android unity 3d
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[TUTORIAL] Mover e rotacionar objeto em relação a posição do MOUSE
Error depois de copilar para Android?
[TUTORIAL] 42 ÓTIMAS DICAS DE OTIMIZAÇÃO PARA JOGOS MOBILE (Android)
Inputfield 3D: alguém sabe como fazer? algum tutorial? ideia pra começar?
Rotacionar Y-axis Atraves
AnimatorOverrideController
Ajuda com Script para IA
Jogo Adaptativo a Tamanho de Telas
[PROJETO MOBILE] Defeat the Illuminatis
Curso Básico de Photoshop
[RESOLVIDO] Pra que serve o F?
[Projeto] Xuel The glory | Testem e avaliem o meu jogo medieval :3
Encriptar player prefs
COMPETIÇÃO - Melhor Jogo Indie
Ajuda em Votação para o GameJAM+
Remover limite de VSync no Android
Volante GameObject girar junto com O grafico UI Android
[TUTORIAL] Inserindo animações com Mixamo
[RESOLVIDO] Problema de renderização
[ Formação de Equipe ] Para Desenvolvimento de Jogo Mobile/PC
Streering Behaviors C#
[TUTORIAL] Salvar SCORE e substituir caso faça mais pontos.
Participe da Game Jam - Jaaj do canal Amdré Young!
Como criar um ranking online na Unity usando a PlayFab e o Facebook?
Armário Escolar (School Locker) by RafaelSquid1
Duas duvidas sobre o bake no blender
[RESOLVIDO] Pointer Influence
[RESOLVIDO] Saber o lado de um círculo toca em um objeto.
Animar collider
[TUTORIAL] Aprenda C# - Unity 3D
[TUTORIAL] AI Enemy ( Jogos de terror )
Troca de personagem em jogo 2d
Ficou legal? Minha primeira modelagem
Alguém Afim de Jogar e testar Survival Online? PC e Mobail...
[RESOLVIDO] Como fazer uma textura com elevações?
Como criar sombra em objeto transparente?
Sistema de Entidades e Componentes(ECS)
Gostaria que opinassem sobre esse cenario que fiz
Como salvar objetos que tenham uma Tag especifica (save/load)
Care Box - Disponível na Play Store
Como utilizar a Unity em equipe
Problema para atualizar App na Apple Store Itunes Connect
Command 888
Buscar o índice de um array que está dentro de outro array (JavaScript)
Problema de Compilação Na Unity
Como fazer um sistema de IK para os pés ?
Porque a luz buga na aba Game e quando eu faço a build fica normal
[RESOLVIDO] Sincronizar uma bool que não esta no player?
(Formação De Equipe) Favela Killer
Configurar NPCs
Sistema de spawn de monstros multiplayer
Como juntar animações do mixamo
Rank usando o facebook para JOGO QUIZ
Menu de selecionar carros e pistas estilo Forza
Controle Estilo GTA
Como usar o bake em uma situação como essa ?
[RESOLVIDO] Instanciar um objeto com Raycast?
[RESOLVIDO] Efeito cromado não aplica no mesh
[RESOLVIDO] Quero tirar uma dúvida!!
Opacidade / Transparência e Novas Ideias
Cores invertidas/Estranhas no PC
[RESOLVIDO] Como mudar o scale de um sprite renderer????
[TUTORIAL] Câmera seguir o mouse em 2D, com limite de distancia ao Jogador
Portas estilo gta 5
Movimento Snake Cobra
NEW FANTASY PACKS! Download Now!
Corcle (Mobile) - Um jogo simples com um nome estranho.
Como fazer este estilo no Unity 3d?
Problema do RIG do Pé Esquerdo - Animação Mixamo
[TUTORIAL] Câmera para jogo 2D ou 2.5D.
[RESOLVIDO] Como Verificar a distancia de varios objs ao mesmo tempo?
Problema com Unity Ads
Como fazer o FPScontroler ficar parado em uma plataforma em movimento?
MEU JOGO DE TERROR
[Projeto] Line Battle
Ontem à(s) 8:08 pm
Ontem à(s) 3:15 pm
Ontem à(s) 10:07 am
Seg Ago 13, 2018 9:46 pm
Seg Ago 13, 2018 8:57 pm
Seg Ago 13, 2018 4:52 pm
Seg Ago 13, 2018 2:34 pm
Seg Ago 13, 2018 10:09 am
Seg Ago 13, 2018 9:17 am
Seg Ago 13, 2018 9:05 am
Seg Ago 13, 2018 8:50 am
Dom Ago 12, 2018 10:53 pm
Dom Ago 12, 2018 4:43 pm
Dom Ago 12, 2018 4:15 pm
Dom Ago 12, 2018 3:47 pm
Dom Ago 12, 2018 3:07 pm
Sab Ago 11, 2018 4:02 pm
Sab Ago 11, 2018 11:13 am
Sex Ago 10, 2018 7:37 pm
Sex Ago 10, 2018 12:01 pm
Sex Ago 10, 2018 12:00 pm
Qui Ago 09, 2018 4:27 pm
Qui Ago 09, 2018 4:26 pm
Qui Ago 09, 2018 4:26 pm
Qui Ago 09, 2018 3:52 pm
Qui Ago 09, 2018 12:52 pm
Qui Ago 09, 2018 1:21 am
Qui Ago 09, 2018 1:17 am
Qui Ago 09, 2018 1:08 am
Qua Ago 08, 2018 11:57 pm
Qua Ago 08, 2018 10:59 pm
Qua Ago 08, 2018 8:17 pm
Qua Ago 08, 2018 8:05 pm
Qua Ago 08, 2018 7:35 pm
Qua Ago 08, 2018 6:00 pm
Qua Ago 08, 2018 3:14 pm
Qua Ago 08, 2018 11:54 am
Ter Ago 07, 2018 11:34 pm
Ter Ago 07, 2018 9:55 pm
Ter Ago 07, 2018 7:28 pm
Ter Ago 07, 2018 7:19 pm
Ter Ago 07, 2018 6:58 pm
Ter Ago 07, 2018 9:57 am
Ter Ago 07, 2018 1:20 am
Seg Ago 06, 2018 7:36 pm
Seg Ago 06, 2018 7:29 pm
Dom Ago 05, 2018 11:59 pm
Dom Ago 05, 2018 1:29 pm
Dom Ago 05, 2018 9:34 am
Sab Ago 04, 2018 3:09 pm
Sab Ago 04, 2018 11:47 am
Sab Ago 04, 2018 10:59 am
Sab Ago 04, 2018 9:23 am
Sab Ago 04, 2018 12:43 am
Sex Ago 03, 2018 11:43 pm
Sex Ago 03, 2018 11:38 pm
Sex Ago 03, 2018 10:21 pm
Sex Ago 03, 2018 10:14 pm
Sex Ago 03, 2018 8:37 pm
Sex Ago 03, 2018 5:26 pm
Sex Ago 03, 2018 4:41 pm
Sex Ago 03, 2018 12:35 pm
Sex Ago 03, 2018 12:24 pm
Qui Ago 02, 2018 10:33 pm
Qui Ago 02, 2018 8:31 pm
Qui Ago 02, 2018 8:10 pm
Qui Ago 02, 2018 5:35 pm
Qui Ago 02, 2018 5:01 pm
Qui Ago 02, 2018 4:53 pm
Qua Ago 01, 2018 9:45 pm
Qua Ago 01, 2018 7:44 pm
Qua Ago 01, 2018 5:40 pm
Qua Ago 01, 2018 4:52 pm
Qua Ago 01, 2018 12:02 pm
Qua Ago 01, 2018 8:51 am
Qua Ago 01, 2018 8:33 am
Ter Jul 31, 2018 8:00 pm
Ter Jul 31, 2018 6:35 pm
Ter Jul 31, 2018 5:09 pm
Ter Jul 31, 2018 2:39 pm
Seg Jul 30, 2018 11:21 pm
Seg Jul 30, 2018 11:06 pm
Seg Jul 30, 2018 10:35 pm
Seg Jul 30, 2018 9:17 pm
Seg Jul 30, 2018 7:54 pm
Seg Jul 30, 2018 7:53 pm
Seg Jul 30, 2018 7:49 pm
Seg Jul 30, 2018 4:29 pm
Seg Jul 30, 2018 3:09 pm
Seg Jul 30, 2018 2:06 pm
Seg Jul 30, 2018 2:02 pm
Seg Jul 30, 2018 12:57 pm
Seg Jul 30, 2018 11:15 am
Seg Jul 30, 2018 10:57 am
Seg Jul 30, 2018 3:08 am
Seg Jul 30, 2018 12:39 am
Seg Jul 30, 2018 12:09 am
Dom Jul 29, 2018 8:43 pm
Dom Jul 29, 2018 4:28 pm
NKKF
Magnatah
dstaroski
FelipeSouza11
paulo.costa0194
alisonzinhod
NKKF
dstaroski
dstaroski
dstaroski
dstaroski
luKkaSs
dazentt55
NotoriousDev
NotoriousDev
diegopds
Dom3000
Dom3000
Badstane
Callyde Jr
Callyde Jr
FelipeSouza11
FelipeSouza11
FelipeSouza11
Unidade3d5
Callyde Jr
MarcosSchultz
MarcosSchultz
MarcosSchultz
Madson
Unidade3d5
Magnatah
dstaroski
dstaroski
lesgoy
zeca urubu
Ezequiel286
Gray_14
C3RB3RUS
NKKF
Gabryellx007
Phph09
sneffetsd
lucas85235
MarcosSchultz
MarcosSchultz
QueriaStarMorto
Rayllander
Callyde Jr
TioUV
NKKF
NKKF
gurgelg752
MarcosSchultz
MarcosSchultz
MarcosSchultz
guimaraf
fecirineu
LucioHenrique890
lesgoy
MarcosSchultz
Callyde Jr
Edw223
RafaelSquid1
QueriaStarMorto
natanael.olimpio
Callyde Jr
MarcosSchultz
MarcosSchultz
ruanzikaad
diegopds
Extreme Craft
zeca urubu
Daniel Dória
artplayer
Isabela
Rayllander
edugamer69
MarcosSchultz
TioUV
AdrianJps
TioUV
JohnVitor
MarcosSchultz
lesgoy
Flávio
MarcosSchultz
MarcosSchultz
Flávio
dstaroski
dstaroski
RafaelSquid1
osiasbezerra
LucioHenrique890
Unidade3d5
FabioBRPA
LucioHenrique890
FelipeGD
MRX

[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 : 693
REPUTAÇÃO : 2
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 : 333
REPUTAÇÃO : 116
Áreas de atuação : Unity, Rpg Maker, Scratch, C#, PHP, 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 : 693
REPUTAÇÃO : 2
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 : 693
REPUTAÇÃO : 2
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 : 1851
REPUTAÇÃO : 385
Idade : 13
Á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 : 693
REPUTAÇÃO : 2
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 : 693
REPUTAÇÃO : 2
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 : 333
REPUTAÇÃO : 116
Áreas de atuação : Unity, Rpg Maker, Scratch, C#, PHP, 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 : 693
REPUTAÇÃO : 2
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 : 693
REPUTAÇÃO : 2
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 : 693
REPUTAÇÃO : 2
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 : 333
REPUTAÇÃO : 116
Áreas de atuação : Unity, Rpg Maker, Scratch, C#, PHP, 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 : 693
REPUTAÇÃO : 2
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 : 693
REPUTAÇÃO : 2
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 : 693
REPUTAÇÃO : 2
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 : 693
REPUTAÇÃO : 2
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 : 1786
REPUTAÇÃO : 362
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