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:
[TUTORIAL] Joystick para mobile (tutorial sendo gravado)
Destruição de Polígonos
Quando usar e para que serve o "NEW" ?
Material/Textura Madeira 4K
Dúvida sobre assets da Unity Assets Store
Problema com pulo do jogador - O personagem demora muito no ar!
[TUTORIAL] Unity 3D - Realidade aumentada com Wikitude
[JOGO-MOBILE] Kubit
[RESOLVIDO] Console mostra erros em Projeto Novo
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Contar objetos clones
Erros na Unity
[TUTORIAL] Sistema de inventário Sobrevivência
[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )
[DICA RÁPIDA] Verificar se existe conexão com a Internet
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[RESOLVIDO] Problema com Dropdown ao alterar resolução
Criar Animações (Vídeo) com Unity
animator duvidas
Raycast ponto a ponto
Rodas de tanque
como salvar rotaçao uma vez
Criação do menu - Opiniões
[JOGO] Mega BombermOn - Pokémon + Bomberman
[RESOLVIDO] problemas com rigidbody
MySql Unity(2018.2.14F1)
Aparecer uma caixinha em algum tempo do jogo.
keystore Android
Formação de equipe (projeto já em andamento)
Unity Network, isServer, IsLocalPlayer..
Como executar uma animação atraves de um botão?
[TUTORIAL] Sistema de Oficina de Carros
[TUTORIAL] Unity 5 - Botão contínuo usando UI (Manter pressionado)
[PEDIDO] Script de Atirar
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
[RESOLVIDO] Erro de Prefab quando realiza o Build de um projeto 3D
[____ADMINISTRAÇÃO____] Alterações IMPORTANTES no fórum.
Renderizar apenas algumas partes do mapa.
[RESOLVIDO] Água à noite?
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[PACOTE 2D GRATUITO] Pacote com 17 sprites de alta qualidade para baixar!
eixos X e Z nao rotaciona junto com o play
Erro na unity
Drop Shadows
Senha jogo schultz
Como fazer um sistema para conectar objetos?
Help!!! Criarção de Shader.
Projeto Estilo DD Tank
Duvidas com ADS
[TUTORIAL] Unity 5 - Sistema básico de jogo estilo ANGRY BIRDS
problema com giro na realidade aumentada
Sistema stealth
FreezeRotation e FreezePosition RigidBody Unity
[RESOLVIDO] Instanciar randômicamente prefab acima do terreno. Unity.
Gravidade para objetos selecionados
Procura-se Modelador para Mapas
Mudar ícone do jogo pelo script
[TUTORIAL] Plants VS Zombies na Unity!
A possibilidade de importar uma Biblioteca (dll) numa classe (MonoBehavior) da Unity?
IAP e ADS: plugins obsoletos
[Em Desenvolvimento] Battles of Worlds
[RESOLVIDO] Linkar Script do inimigo quando o player entrar no collider dele
Ajuda sobre script para abir e fechar porta malas
site pra modelos 3d de armas
[RESOLVIDO] alguem que saiba fazer um jogo de fps pode ajuda?
Compilação do Game
[TUTORIAL] Escolher a quantos FPS (fixos) o seu jogo deverá rodar.
Snake Game - JavaScript + SVG
(Dúvida) Como acessar o sensor de movimento do Android?
[TUTORIAL] Gerenciamento de idiomas para o jogo ou app
[RESOLVIDO] Menu de um jogo com vários mapas
[TUTORIAL] Criando jogo de cartas com I.A (C# e Visual Studio) - Parte 01
USSecurity
Sawed off (Modelo 3D)
Direito autoral
Dividir uma mesh em dois.
Procura se level designer ou diretor de arte ( REMUNERADO )
[TUTORIAL] Sistema COMPLETO de câmeras
[RESOLVIDO] Animaçao só funciona uma vez
[RESOLVIDO] Eu não consigo abrir o monodevelop
Novo Asset Sistema de Portas e Chaves
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
[RESOLVIDO] Como fazer a animação executar so uma vez
Meu personagem na Realidade Aumentada fica tremendo
Carregar arquivos da biblioteca
Jogo de Tabuada
ik nao funciona
DUVIDA EM SCRIPT
Cores nos materiais sem criar material
[Projeto] Line Battle
[TUTORIAL] Controle de personagem em primeira pessoa + pulo para android!
SkyBox Com qualidade Horrivel!
[RESOLVIDO] Bug/Erro da unity?
(ARQUIVO) Leia aqui como obter sucesso com seu jogo independente?
erro unity para android
MENU DE SELEÇÃO DE FASES
[PROJETO CONCLUÍDO] Defeat the Illuminatis
sombras para jogos mobile
Hoje à(s) 4:31 pm
Hoje à(s) 2:37 pm
Hoje à(s) 12:23 pm
Hoje à(s) 11:53 am
Hoje à(s) 8:06 am
Hoje à(s) 1:48 am
Ontem à(s) 2:17 pm
Ontem à(s) 2:11 pm
Ontem à(s) 11:53 am
Ontem à(s) 2:14 am
Dom Dez 16, 2018 9:41 am
Sab Dez 15, 2018 8:38 pm
Sab Dez 15, 2018 8:06 pm
Sab Dez 15, 2018 4:44 pm
Sex Dez 14, 2018 9:50 pm
Sex Dez 14, 2018 11:45 am
Qui Dez 13, 2018 6:19 pm
Qui Dez 13, 2018 5:07 pm
Qua Dez 12, 2018 9:25 pm
Qua Dez 12, 2018 3:52 pm
Qua Dez 12, 2018 2:58 pm
Qua Dez 12, 2018 2:41 pm
Qua Dez 12, 2018 12:57 pm
Qua Dez 12, 2018 10:33 am
Qua Dez 12, 2018 7:51 am
Ter Dez 11, 2018 7:56 pm
Ter Dez 11, 2018 7:24 pm
Ter Dez 11, 2018 1:40 am
Dom Dez 09, 2018 8:02 pm
Dom Dez 09, 2018 6:31 pm
Dom Dez 09, 2018 6:19 pm
Sab Dez 08, 2018 11:28 pm
Sab Dez 08, 2018 9:42 pm
Sab Dez 08, 2018 3:20 pm
Sex Dez 07, 2018 6:04 pm
Sex Dez 07, 2018 12:11 pm
Sex Dez 07, 2018 5:03 am
Qui Dez 06, 2018 11:02 pm
Qui Dez 06, 2018 8:17 pm
Qui Dez 06, 2018 6:30 pm
Qui Dez 06, 2018 6:30 pm
Qui Dez 06, 2018 6:26 pm
Qui Dez 06, 2018 5:59 pm
Qui Dez 06, 2018 1:28 pm
Qua Dez 05, 2018 8:53 pm
Qua Dez 05, 2018 11:31 am
Ter Dez 04, 2018 6:57 pm
Ter Dez 04, 2018 3:24 pm
Ter Dez 04, 2018 1:37 pm
Ter Dez 04, 2018 8:02 am
Ter Dez 04, 2018 7:50 am
Ter Dez 04, 2018 4:10 am
Ter Dez 04, 2018 3:57 am
Ter Dez 04, 2018 3:39 am
Seg Dez 03, 2018 10:45 pm
Seg Dez 03, 2018 8:47 pm
Seg Dez 03, 2018 12:11 pm
Seg Dez 03, 2018 12:08 pm
Seg Dez 03, 2018 9:09 am
Seg Dez 03, 2018 9:00 am
Seg Dez 03, 2018 5:12 am
Dom Dez 02, 2018 11:32 pm
Dom Dez 02, 2018 11:29 am
Dom Dez 02, 2018 1:51 am
Dom Dez 02, 2018 12:42 am
Sab Dez 01, 2018 9:24 pm
Sab Dez 01, 2018 9:11 pm
Sab Dez 01, 2018 1:37 pm
Sab Dez 01, 2018 1:22 pm
Sex Nov 30, 2018 4:10 pm
Sex Nov 30, 2018 10:28 am
Qui Nov 29, 2018 2:02 am
Qui Nov 29, 2018 1:11 am
Qui Nov 29, 2018 1:08 am
Qua Nov 28, 2018 3:03 pm
Qua Nov 28, 2018 3:00 pm
Qua Nov 28, 2018 4:09 am
Qua Nov 28, 2018 3:03 am
Ter Nov 27, 2018 8:49 pm
Ter Nov 27, 2018 5:50 pm
Ter Nov 27, 2018 1:46 pm
Seg Nov 26, 2018 8:29 pm
Seg Nov 26, 2018 2:56 pm
Seg Nov 26, 2018 2:55 pm
Seg Nov 26, 2018 9:33 am
Seg Nov 26, 2018 9:28 am
Dom Nov 25, 2018 11:06 pm
Dom Nov 25, 2018 9:21 am
Dom Nov 25, 2018 5:04 am
Sab Nov 24, 2018 8:41 pm
Sab Nov 24, 2018 4:52 pm
Sab Nov 24, 2018 4:03 pm
Sab Nov 24, 2018 2:33 pm
Sab Nov 24, 2018 8:49 am
Sab Nov 24, 2018 6:54 am
Sex Nov 23, 2018 4:28 pm
Sex Nov 23, 2018 1:58 pm
Sex Nov 23, 2018 1:29 pm
Sex Nov 23, 2018 12:49 pm
MarcosSchultz
PedroSilva
PauloFR
PauloFR
dstaroski
NKKF
dstaroski
dstaroski
George Lucas Vieira
UesleiUsl
BRGC
Davi Alves II
916anderson
francisco barroso
DuViDoSo
dstaroski
DarthMalak
JohnRambo
NKKF
NKKF
NKKF
dstaroski
gilgsjr
guimaraf
Carlos Andre
gilgsjr
SuperGamer
natanael.olimpio
BRGC
Callyde Jr
luis45
Jp.Game
ueslei16
gcs
dstaroski
McbDJ
MarcosSchultz
Isabela
gilgsjr
dstaroski
dstaroski
dstaroski
francisco barroso
yVIEIRA
NKKF
francisco barroso
henriquegames501
gilgsjr
Manawydan
Zack2
yanayana
MarcosSchultz
MarcosSchultz
MarcosSchultz
Emerson Rebouças
lesgoy
Opiz
NKKF
Tegh
Tegh
Zack2
Dom3000
Luizdanhp
ffabim
gutozardy
diegopds
gilgsjr
Joab Artes Gráficas
SuperGamer
glauco
dstaroski
Valdir dos Santos
igorobm
igorobm
TioUV
TioUV
conceptfac
rZwr
Erivan
francisco barroso
tonCosta3939
Simplizãum S
ninjagamergabriel
Hube
natanael.olimpio
natanael.olimpio
MarcosSchultz
diegopds
KAYKETHEO27
NKKF
MRX
tonCosta3939
Joab Artes Gráficas
Zack2
Joab Artes Gráficas
francisco barroso
Callyde Jr
dstaroski
Joab Artes Gráficas

[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 : 824
REPUTAÇÃO : 4
Idade : 14
Áreas de atuação : C##
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

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

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

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

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

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

Feminino PONTOS : 655
REPUTAÇÃO : 198
Áreas de atuação : Unity, C++/C#, HTML, CSS, JS, jQuery, PHP, MySQL, XML, Blender
Respeito as regras :

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

Voltar ao Topo Ir em baixo

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

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

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

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

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

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

Feromark2013
Membro
Membro

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

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

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

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

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

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

Feromark2013
Membro
Membro

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

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

timesPtt[resultado - 1] ? 

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

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

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

Voltar ao Topo Ir em baixo

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

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

@NKKF escreveu:timesPtt[resultado - 1] ? 

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

Feromark2013
Membro
Membro

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

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

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

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

Feromark2013
Membro
Membro

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

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

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

Feminino PONTOS : 655
REPUTAÇÃO : 198
Áreas de atuação : Unity, C++/C#, HTML, CSS, JS, jQuery, PHP, MySQL, XML, Blender
Respeito as regras :

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

Voltar ao Topo Ir em baixo

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

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

Spoiler:

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

public class TeamInfo : MonoBehaviour {

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

    private void Awake()
    {
        DontDestroyOnLoad(this);

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

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

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

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

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

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

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

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



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

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

Feromark2013
Membro
Membro

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

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

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

Feromark2013
Membro
Membro

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

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

Spoiler:

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

public class GroupPhase : MonoBehaviour {

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

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

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

        PlayerPrefs.SetInt("currentPhase", 0);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

Feromark2013
Membro
Membro

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

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

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

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

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

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

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

Adiciona aí todos os times q vc quer.

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

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

E assim sucessivamente...

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

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

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

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

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

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

Feminino PONTOS : 655
REPUTAÇÃO : 198
Áreas de atuação : Unity, C++/C#, HTML, CSS, JS, jQuery, PHP, MySQL, XML, Blender
Respeito as regras :

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

Voltar ao Topo Ir em baixo

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

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

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

Feromark2013
Membro
Membro

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

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

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

Feromark2013
Membro
Membro

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

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

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

public class TeamInfo : MonoBehaviour {

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

    private void Awake()
    {
        DontDestroyOnLoad(this);

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

        
    }

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

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

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

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

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

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

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

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

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

Feromark2013
Membro
Membro

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

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

Ja resolvi

Feromark2013
Membro
Membro

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

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

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

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

Respeito as regras :

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

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

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