Portal SAMP
[Ajuda] Variável bidimensional - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Variável bidimensional (/showthread.php?tid=4704)



Variável bidimensional - Duzzxls - 19/04/2024

Como que usa variável bidimensional? Tô querendo aprender sobre isso para otimizar meus sistemas, um deles é uma variável flutuante contendo posições de determinados lugares, como um caixa eletrônico e usar uma forma de verificar se ele está em uma dessas posições, ou puxar dados variantes em sistemas que exigem uma grande quantidade de dados combinando loops e variáveis bidimensionais. 
Espero que me ajudem a entender melhor como funciona, o uso e as formas de usar, obrigado.


RE: Variável bidimensional - xbruno1000x - 21/04/2024

Você está se referindo a um vetor?

Tipo isso?
Código:
new Float:posicoes[3][3] = {
    {10.0, 20.0, 30.0},
    {40.0, 50.0, 60.0},
    {70.0, 80.0, 90.0}
};

CMD:mostrarpos(playerid)
{
    SendClientMessage(playerid, -1, "Mostrando posições:");

    for (new i = 0; i < sizeof(posicoes); i++)
    {
        new Float:x = posicoes[i][0];
        new Float:y = posicoes[i][1];
        new Float:z = posicoes[i][2];
        format(string, sizeof(string), "Posição %d: (%.2f, %.2f, %.2f)", i + 1, x, y, z);
        SendClientMessage(playerid, -1, string);
    }
    return 1;
}

Caso seja isso mesmo, é como se fossem varias variaveis em um único lugar e você pode acessa-las pelo índice.

posicoes[INDICE][COLUNAS];
No caso de uma coordenada são 3 colunas para armazenar 3 floats.
Se você buscar algo no indice 0, coluna 0, vai encontrar 10.0. indice 0, coluna 1 -> 20.0 e indice 0, coluna 2 -> 30.0.


RE: Variável bidimensional - Duzzxls - 22/04/2024

É isso mesmo, obrigado.