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:
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[RESOLVIDO] Trocar Animaçao atraves de uma TECLA
Como ativar animação quando o objeto se move ?? sem rigidbody
Transform.up Muito rápido!
Movimentar o jogador em 4 direções
[TUTORIAL] Gerenciamento de idiomas para o jogo ou app
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
como chamar uma void com get component unity C#
[PROJETO MOBILE] Space: A guerra na galáxia
[RESOLVIDO] PROJETO MOBILE: onde publicar no fórum?
Como criar um sistema de Ranking simples.
[DÚVIDA] usar PERSONAGEM 3D no FIRST PERSON
JOGO EM TERCEIRA PESSOA
Servidores sem limite por usuário.
[TUTORIAL] CONFIGURANDO O UNITY PARA COMPILAR PARA ANDROID
Como carregar imagens e videos
[PROJETO MOBILE] Defeat the Illuminatis
Desativar HingeJoint
[RESOLVIDO] Tocar som em script que exibe uma mensagem
[RESOLVIDO] Sons na Unity 2017
tem como excluir uma( ou várias ) contas do fórum?
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Manager Como fazer um jogo nesse estilo?
[DÚVIDA] TIRANOSSAURO REX no UNITY?
Verificar se a camera está virada para o objeto
[TUTORIAL] Animação customizável (Por scripts)
Duvida com animação
[TUTORIAL] Criar jogo Colors/Genius com C#
Jumper boy
[RESOLVIDO] Utilizar o mesmo botão para duas ações. (if e else)
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Ajuda com AI Inimigo.
[Script] Mudar a orientação em runtime
Como mover dois objetos juntos.
[TUTORIAL] Third Person Shooter
[PEDIDOS DE TUTORIAIS]
Google Play Games
Como apagar Proceduram material da pista, quando for recarregar a cena?
PROBLEMA NULL REFERENCE EXCEPTION
Calculo de previsão de coordenada
Unity - Rodar 2 cenas ao mesmo tempo
| AJUDA DISCORD | Descubra aqui como fazer para o link do seu servidor nunca expirar.
Trigger detectando apenas o character controller
seguir 2 objetos com a mesma tag
Zezin Na Copa da Russia Realidade Aumentada
DISCORD
Novo jogo - Astero - PlayStore
Variável receber valor de uma array
erro no script
[RESOLVIDO] Bug de wallpaper preto no windows.
[TUTORIAL] Movimento de camera em primeira pessoa e sons de passos ou HeadBob
[RESOLVIDO] Tomar dano do inimigo e causar dano no mesmo
[RESOLVIDO] Texto se encaixar dentro de uma imagem.
[Projeto] Line Battle
Jogo Maria Bella
Spawner de Inimigo n preenche todas as posições
[TUTORIAL] AI Enemy ( Jogos de terror )
Como corrigir o box collider do unity?
SPAWN Baseado na Posição (UNITY)
[RESOLVIDO] Problema em um script
Unity - executável não roda banco de dados
Animação Humanoid
Blender - Erro ao aplicar influência automática nos ossos de personagem
Objetos duplicados ao instanciar
Duvida com collider
[RESOLVIDO] Problemas com API
Pegar e Jogar armas no chão (estilo CS 1.6)
[RESOLVIDO] Projeteis Online
[TUTORIAL] Zone Wall - ESTILO BATTLE ROYALE
| DÚVIDA | - Como aprender C#?
Como criar um ranking online na Unity usando a PlayFab e o Facebook?
Dúvida sobre método de acesso as variáveis
checkpoint
Como faço para otimizar meu projeto da Unity 3D?
[RESOLVIDO] Alguém me explica isso? (Animator script)
[RESOLVIDO] Duvida com GameManager
duvidas com marcas reais em jogos
Objeto na UI
Minimap/Radar/GPS Estilo GTA V
Problemas com a câmera
PROBLEMAS COM O NAVIGATION
[TUTORIAL] Serialização - JSON
Textura de luzes rosa
Banco de dados android
Girar arma
Qual o melhor meio de iluminar essa scene?
[Jogo] Flap OCO (Android & PC)
[TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera
ANIMAÇÃO INIMIGO AI
[RESOLVIDO] Menu Pause Dúvida
Unity 5: Object reference not set to an instance of an object
Como saber se o controle foi conectado?
[ENQUETE OFICIAL] Você está vendo o CHAT DO FÓRUM?????
Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
[RESOLVIDO] Erro -> Android SDK is missing required API level 23
Sprites com mesmas cores.
[Formação de Equipe] Battles of Worlds
Como fazer para sair do jogo apertando uma tecla?
Hoje à(s) 12:02 am
Ontem à(s) 10:08 pm
Ontem à(s) 10:03 pm
Ontem à(s) 9:58 pm
Ontem à(s) 9:47 pm
Ontem à(s) 9:46 pm
Ontem à(s) 8:42 pm
Ontem à(s) 7:15 pm
Ontem à(s) 5:26 pm
Ontem à(s) 2:25 pm
Ontem à(s) 1:50 pm
Ontem à(s) 12:03 pm
Ontem à(s) 10:26 am
Qua Jun 20, 2018 10:25 pm
Qua Jun 20, 2018 9:58 pm
Qua Jun 20, 2018 9:43 pm
Qua Jun 20, 2018 7:30 pm
Qua Jun 20, 2018 7:25 pm
Qua Jun 20, 2018 7:15 pm
Qua Jun 20, 2018 5:22 pm
Qua Jun 20, 2018 4:35 pm
Qua Jun 20, 2018 6:36 am
Qua Jun 20, 2018 6:19 am
Qua Jun 20, 2018 12:54 am
Ter Jun 19, 2018 9:49 pm
Ter Jun 19, 2018 8:25 pm
Ter Jun 19, 2018 8:08 pm
Ter Jun 19, 2018 3:50 pm
Seg Jun 18, 2018 10:51 pm
Seg Jun 18, 2018 7:29 pm
Seg Jun 18, 2018 6:46 pm
Seg Jun 18, 2018 6:45 pm
Seg Jun 18, 2018 6:43 pm
Seg Jun 18, 2018 6:38 pm
Seg Jun 18, 2018 4:36 pm
Seg Jun 18, 2018 3:42 pm
Seg Jun 18, 2018 3:33 pm
Seg Jun 18, 2018 1:26 pm
Seg Jun 18, 2018 7:23 am
Dom Jun 17, 2018 11:54 pm
Dom Jun 17, 2018 11:50 pm
Dom Jun 17, 2018 8:49 pm
Dom Jun 17, 2018 5:21 pm
Dom Jun 17, 2018 2:37 pm
Dom Jun 17, 2018 12:48 pm
Dom Jun 17, 2018 11:34 am
Sab Jun 16, 2018 10:40 pm
Sab Jun 16, 2018 9:43 pm
Sab Jun 16, 2018 9:28 pm
Sab Jun 16, 2018 8:48 pm
Sab Jun 16, 2018 5:13 pm
Sab Jun 16, 2018 5:05 pm
Sab Jun 16, 2018 4:51 pm
Sab Jun 16, 2018 4:33 pm
Sab Jun 16, 2018 4:14 pm
Sab Jun 16, 2018 3:39 pm
Sab Jun 16, 2018 1:48 pm
Sex Jun 15, 2018 10:15 pm
Sex Jun 15, 2018 8:31 pm
Sex Jun 15, 2018 8:24 pm
Sex Jun 15, 2018 8:02 pm
Sex Jun 15, 2018 5:08 pm
Sex Jun 15, 2018 12:08 pm
Sex Jun 15, 2018 10:46 am
Qui Jun 14, 2018 6:41 pm
Qui Jun 14, 2018 4:25 pm
Qui Jun 14, 2018 2:34 pm
Qui Jun 14, 2018 6:19 am
Qua Jun 13, 2018 10:08 pm
Qua Jun 13, 2018 9:59 pm
Qua Jun 13, 2018 6:48 pm
Qua Jun 13, 2018 3:16 pm
Qua Jun 13, 2018 3:11 pm
Qua Jun 13, 2018 9:12 am
Qua Jun 13, 2018 6:25 am
Qua Jun 13, 2018 1:00 am
Qua Jun 13, 2018 12:40 am
Ter Jun 12, 2018 11:08 pm
Ter Jun 12, 2018 8:00 pm
Ter Jun 12, 2018 5:17 pm
Ter Jun 12, 2018 2:25 pm
Ter Jun 12, 2018 9:00 am
Seg Jun 11, 2018 11:57 pm
Seg Jun 11, 2018 7:17 pm
Seg Jun 11, 2018 2:51 pm
Seg Jun 11, 2018 2:42 pm
Seg Jun 11, 2018 10:18 am
Seg Jun 11, 2018 10:05 am
Dom Jun 10, 2018 10:52 pm
Dom Jun 10, 2018 7:18 pm
Dom Jun 10, 2018 6:29 pm
Dom Jun 10, 2018 6:23 pm
Dom Jun 10, 2018 3:53 pm
Dom Jun 10, 2018 12:32 pm
Dom Jun 10, 2018 9:32 am
Sab Jun 09, 2018 5:36 pm
Sab Jun 09, 2018 5:14 pm
Sab Jun 09, 2018 5:09 pm
Sab Jun 09, 2018 11:44 am
FelipeSouza11
BrazaTattoo
BrazaTattoo
lesgoy
NKKF
NKKF
MarcosSchultz
MayLeone
dstaroski
yVIEIRA
Flávio
gcs13
osiasbezerra
Alphax
gcs13
Zack2
dstaroski
DevTerror
richardfalcos
thancor
MarcosSchultz
NKKF
Callyde Jr
gcs13
Alphax
Zack2
NKKF
M4theuz
SuperGamer
DevTerror
dstaroski
dstaroski
dstaroski
dstaroski
Dom3000
Phph09
Zack2
NKKF
guimaraf
fecirineu
fecirineu
ismarspn
SuperGamer
Alphax
NKKF
natanael.olimpio
Carlos Mesquita
Édipo
Flávio
dstaroski
M4theuz
dstaroski
kenau
NKKF
Alphax
foxtenn
NKKF
BrazaTattoo
lesgoy
dstaroski
Dom3000
Midoriiiiii
Dom3000
Dom3000
Dom3000
Zack2
yVIEIRA
Phph09
fecirineu
IanLuan
IanLuan
natanael.olimpio
guimaraf
NyeTiSS
francisco barroso
Alphax
Zack2
dstaroski
Alphax
Duarte
NKKF
dstaroski
igorobm
JonathanDiego
mafipt
Zack2
fecirineu
Dom3000
francisco barroso
bertarele
Magnatah
ZeroTuhnder
FelipeSouza11
francisco barroso
YmKx
francisco barroso
NKKF
Dom3000
Isabela

[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
Newbie
Newbie

Masculino Posts : 40
Pontos : 630
Reputação : 0
Registro : 28/11/2016
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 Posts : 78
Pontos : 225
Reputação : 87
Registro : 18/05/2018
Á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
Newbie
Newbie

Masculino Posts : 40
Pontos : 630
Reputação : 0
Registro : 28/11/2016
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
Newbie
Newbie

Masculino Posts : 40
Pontos : 630
Reputação : 0
Registro : 28/11/2016
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 Posts : 1020
Pontos : 1626
Reputação : 346
Registro : 24/01/2018
Idade : 13
Áreas de atuação : Não uso foto de perfil porque não tenho autoestima suficiente.
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
Newbie
Newbie

Masculino Posts : 40
Pontos : 630
Reputação : 0
Registro : 28/11/2016
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
Newbie
Newbie

Masculino Posts : 40
Pontos : 630
Reputação : 0
Registro : 28/11/2016
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 Posts : 78
Pontos : 225
Reputação : 87
Registro : 18/05/2018
Á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
Newbie
Newbie

Masculino Posts : 40
Pontos : 630
Reputação : 0
Registro : 28/11/2016
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
Newbie
Newbie

Masculino Posts : 40
Pontos : 630
Reputação : 0
Registro : 28/11/2016
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
Newbie
Newbie

Masculino Posts : 40
Pontos : 630
Reputação : 0
Registro : 28/11/2016
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 Posts : 78
Pontos : 225
Reputação : 87
Registro : 18/05/2018
Á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
Newbie
Newbie

Masculino Posts : 40
Pontos : 630
Reputação : 0
Registro : 28/11/2016
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
Newbie
Newbie

Masculino Posts : 40
Pontos : 630
Reputação : 0
Registro : 28/11/2016
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
Newbie
Newbie

Masculino Posts : 40
Pontos : 630
Reputação : 0
Registro : 28/11/2016
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
Newbie
Newbie

Masculino Posts : 40
Pontos : 630
Reputação : 0
Registro : 28/11/2016
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 Posts : 783
Pontos : 1723
Reputação : 348
Registro : 25/01/2017
Idade : 15
Áreas de atuação : Oque será uma área de atuação, senã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


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