Conectar-se
Quem está conectado
18 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 18 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 22/03/2011
Número de Mensagens : 41
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Igualar variaveis

em Qua 27 Ago 2014, 22:55
Galera, a duvida é a seguinte... eu tenho as variaveis var1 e var2 e preciso que var 2 seja igual a var1 e vice versa...
O problema é que se eu disser que var2=var1, caso eu modifique o valor de var1, o var2 muda automaticamente, mas se eu fizer o inverso, isso não acontece, preciso que eles sejam iguais simultaneamente... existe algum sinal ou expressão para isso?
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 147

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Igualar variaveis

em Qua 27 Ago 2014, 23:14
var1=var2
var2=var1

'-'
Data de inscrição : 27/11/2012
Número de Mensagens : 241
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 42
Ver perfil do usuário

Re: Igualar variaveis

em Qua 27 Ago 2014, 23:17
Mas no seu caso em específico, qual o motivo de não poder usar por exemplo uma var global e compartilhá-la entre os objetos?
avatar
Ranking : Nota B
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Número de Mensagens : 1013
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 79

Prêmios
   : 2
   : 0
   : 0
Ver perfil do usuário

Re: Igualar variaveis

em Qua 27 Ago 2014, 23:18
Se uma iguala a outra, qual seria a necessidade de ter duas variáveis? De qualquer forma você pode criar um script do tipo:

Código:
///Set(Value)
var1=argument0
var2=argument0

Daí você usaria ele assim:

Código:
Set(5)

O que já mudaria o valor das duas para 5 em apenas uma função.
avatar
Data de inscrição : 06/03/2014
Número de Mensagens : 138
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 13

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: Igualar variaveis

em Qua 27 Ago 2014, 23:57
Olá uilson!

O seu problema é questão de raciocínio lógico, e é muito fácil de se resolver.
Embora seja uma resposta breve e bem simples, vou dar um exemplo para você não cometer mais o erro.

Suponhamos que VAR1 = Vermelho e VAR2 = Laranja
Seu eu pego a VAR1 e a igualo a VAR2, ou seja, se digo que Vermelho = Laranja, então meu retorno lógico seria Vermelho = Vermelho, e ai é que está o problema, quando eu for dizer que VAR2 = VAR1 eu estarei dizendo VERMELHO = VERMELHO. Acho que isso você já percebeu, e talvez tenha surgido uma solução em sua cabeça, vamos a ela.

Para solucionar o problema eu uso uma terceira variável que servirá como variável auxiliar, isto é, ajudará a transferir os valores entre ambas as variáveis.
Em código a resposta ao problema seria:

VAR1 = VAR3
VAR2 = VAR1
VAR3 = VAR2

Entende?
-----------------
Isaque Onix escreveu:var1=var2
var2=var1

'-'

Isaque, sua resposta parece muito óbvia de inicio, mas repare que sua resposta é exatamente o mesmo problema do uilson, provavelmente você não tenha percebido ou ignorou '-'
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 147

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Igualar variaveis

em Qui 28 Ago 2014, 00:10
uilson escreveu:preciso que eles sejam iguais simultaneamente...

foi oque eu intendi... mais com tantas respostas, preferi nao voltar a responder...
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 22/03/2011
Número de Mensagens : 41
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Igualar variaveis

em Qui 28 Ago 2014, 09:56
Galera, vlw pela ajuda, mas alguns dos casos citados, eu já tinha tentado... mas não funciona exatamente como eu preciso, essas 2 variaveis são matrizes que estão armazenando informação de quantidade de flecha coletadas. var 1 é a quantidade de flecha no inventario, só que a partir do momento que vc equipa a flecha, o var2 que é quantidade de flecha equipada, passa a compartilhar o valor de var1, caso eu atire ou gaste uma flecha, eu preciso que subtraia a quantidade de flecha de var2 e automaticamente altere o valor de var1 tb, isso não acontece pq na expressão diz que var2=var1, achei que pudesse colocar essa igualdade simultanea de alguma maneira. Eu não tenho como subtrair diretamente o valor de var1, pq existem varios espaços no inventario onde a flecha pode ser alocada, portanto, esse var1 poderia ser var3, ou var4, e por ai vai... por isso a subtração tem que ser feita diretamente da var2(espaço da flecha equipada), e influenciar na var1, mesmo que na expressão diga, var2=var1.
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 147

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Igualar variaveis

em Qui 28 Ago 2014, 11:24
cara, ta bem dificil de intender, mais se voce so quer subtrair a quantidade de flechas, e so colocar
Código:
var1-=1 var2=var1
...
avatar
Ranking : Nota B
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Número de Mensagens : 1013
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 79

Prêmios
   : 2
   : 0
   : 0
Ver perfil do usuário

Re: Igualar variaveis

em Qui 28 Ago 2014, 12:49
O que você pode também é dividir as variáveis assim:

Código:
Flechas=5
FlechasInventario=8

Daí quando usar a flecha você só subtrai as 'Flechas' e no inventário você mostra a soma entre as flechas preparadas e as no inventário.

Código:
draw_text(0,0,Flechas+FlechasInventario)
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 22/03/2011
Número de Mensagens : 41
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Igualar variaveis

em Qui 28 Ago 2014, 12:58
Galera, mais uma vez muito obrigado pela ajuda, não consegui usar precisamente as sugestões de vcs, mas me ajudou a clarear a mente sobre algumas opções, e consegui resolver o problema, não do jeito que eu queria, mas funcionou direitinho, eu dei um jeito da flecha verificar a var1 e subtrair direto da var1, dessa forma o var2 é subtraido automaticamente, já que var2=var1.
No caso var1 corresponde ao slot 1 do inventario, daí a flecha verifica se var1 está equipado em var2 que corresponde ao slot da flecha equipada e subtrai var1. Caso a flecha esteja em outro slot do inventario, por exemplo slot 7, a flecha verifica se var7 está equipada em var 2, daí então subtrai var7 e assim por diante.
avatar
Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 37

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Igualar variaveis

em Qui 28 Ago 2014, 13:01
Boa tarde uilson,

Realmente está BEM difícil de entender o que você quer mas acho que entendi.

Pelo que pude entender você na verdade está trabalhando com 3 variáveis:

-var1 que é a quantidade de flechas no inventário
-var2 que é a quantidade de flechas equipadas
-var3 que é a quantidade REAL de flechas que você tem (e que não existe no seu código)

Dá para montar o seguinte:

var1(Qnt no inventário)=var3(qnt real de flechas)
var2(qnt equipada)=var3(qnt real de flechas
E quando for subtrair é só fazer var3-=1 (ou o valor que quiser)

O exemplo do Isaque Onix só não tem a var3 pois ele não deve ter visto que se você mudar de slot no inventário a var 1 seria outra (ex: var5, var6, etc...) mas é bem nesse caminho.
Espero que se eu não pude ajudar, ao menos mostrei o caminho.

ulison escreveu:preciso que eles sejam iguais simultaneamente...
Isso que você disse é igual a
var1=var2
var2=var1
Um loop (mais uma vez o que o Isaque Onix disse e está certo em dizer).
Você quis dizer que ambos tenham o mesmo valor ao mesmo tempo mas não iguais entre sí.
Qualquer coisa post mais alguma coisa!
avatar
Ranking : Nota B
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Número de Mensagens : 1013
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 79

Prêmios
   : 2
   : 0
   : 0
Ver perfil do usuário

Re: Igualar variaveis

em Qui 28 Ago 2014, 13:01
Você tem que aprender a usar arrays, vai te facilitar muito neste (e outros) caso.
avatar
Data de inscrição : 06/03/2014
Número de Mensagens : 138
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 13

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: Igualar variaveis

em Qui 28 Ago 2014, 13:03
Uilson, acho que você deveria ter explicado sua pergunta direito no inicio do tópico, acho que cada um teve uma interpretação diferente de sua pergunta. Sinceramente, dei aquela explicação toda e nem ao menos chega perto do que você queria...
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: Igualar variaveis

em Qui 28 Ago 2014, 13:18
Achei desnecessário oque você está querendo fazer. Usar uma array pra tirar as flechas de um slot específico ?
Porque você não pega a quantidade total de flechas no inventário e salva em uma variavel e ao atirar retira 1 flecha de qualqer um dos slots do inventário ?
tipo :
Código:

flechas = 0 // variavel que pode ser global para quantidade total de flechas
for(i=1;i<=8;i++) // supondo que há 8 slots
{
    if slot[i] = flecha //se no slot i há uma flecha
    {
        flechas += quantidade[i] // quantidade de flechas no slot i
    }
}

e para retirar uma flecha, vc da um for e checa se no slot[i] há uma flecha e ai vc da break; e retira uma flecha desse slot.
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 22/03/2011
Número de Mensagens : 41
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Igualar variaveis

em Qui 28 Ago 2014, 13:20
Mateus O de Andrade escreveu:Boa tarde uilson,

Realmente está BEM difícil de entender o que você quer mas acho que entendi.

Pelo que pude entender você na verdade está trabalhando com 3 variáveis:

-var1 que é a quantidade de flechas no inventário
-var2 que é a quantidade de flechas equipadas
-var3 que é a quantidade REAL de flechas que você tem (e que não existe no seu código)

Dá para montar o seguinte:

var1(Qnt no inventário)=var3(qnt real de flechas)
var2(qnt equipada)=var3(qnt real de flechas
E quando for subtrair é só fazer var3-=1 (ou o valor que quiser)

O exemplo do Isaque Onix só não tem a var3 pois ele não deve ter visto que se você mudar de slot no inventário a var 1 seria outra (ex: var5, var6, etc...) mas é bem nesse caminho.
Espero que se eu não pude ajudar, ao menos mostrei o caminho.

ulison escreveu:preciso que eles sejam iguais simultaneamente...
Isso que você disse é igual a
var1=var2
var2=var1
Um loop (mais uma vez o que o Isaque Onix disse e está certo em dizer).
Você quis dizer que ambos tenham o mesmo valor ao mesmo tempo mas não iguais entre sí.
Qualquer coisa post mais alguma coisa!

Vlw,vou experimentar e tentar adaptar aqui na engine que fiz.
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 22/03/2011
Número de Mensagens : 41
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Igualar variaveis

em Qui 28 Ago 2014, 13:21
PedroMatoso escreveu:Uilson, acho que você deveria ter explicado sua pergunta direito no inicio do tópico, acho que cada um teve uma interpretação diferente de sua pergunta. Sinceramente, dei aquela explicação toda e nem ao menos chega perto do que você queria...


Acho que realmente não fui muito claro no primeiro momento.
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 22/03/2011
Número de Mensagens : 41
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Igualar variaveis

em Qui 28 Ago 2014, 13:23
Gonçalves escreveu:Você tem que aprender a usar arrays, vai te facilitar muito neste (e outros) caso.

Na verdade eu estou usando arrays, eu fiz uma matriz para armazenar as informações de itens... essa var1 no caso corresponde a slot[0,0]...
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 22/03/2011
Número de Mensagens : 41
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Igualar variaveis

em Qui 28 Ago 2014, 13:28
FlyAway escreveu:Achei desnecessário oque você está querendo fazer. Usar uma array pra tirar as flechas de um slot específico ?
Porque você não pega a quantidade total de flechas no inventário e salva em uma variavel e ao atirar retira 1 flecha de qualqer um dos slots do inventário ?
tipo :
Código:

flechas = 0 // variavel que pode ser global para quantidade total de flechas
for(i=1;i<=8;i++) // supondo que há 8 slots
{
    if slot[i] = flecha //se no slot i há uma flecha
    {
        flechas += quantidade[i] // quantidade de flechas no slot i
    }
}

e para retirar uma flecha, vc da um for e checa se no slot[i] há uma flecha e ai vc da break; e retira uma flecha desse slot.

Obrigado pela sugestão, a verdade é que não sou programador de ofício, então certas coisas que parecem óbvias, passam batidas por mim, meus recursos são limitados, mais uma vez obrigado, vou experimentar as sugestões.


USUÁRIO ADVERTIDO POR POST QUADRUPLO! - dharrison

Que isso jovem? anh!
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum