[Resolvido] Transição de variáveis entre numero e string

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [Resolvido] Transição de variáveis entre numero e string

Mensagem por moisesBR em Sab 17 Nov 2012, 11:59

Alguem pode me dizer como posso transitar/transformar string em numero e vice versa?

Ex:
Em número para calculos:
Código:
variavel=1000
A mesma variável sendo usada para informação:
Código:
variavel="situacao tal"
ao invés de 0(zero)
Eu costumo desenhar strings na tela para tentar controlar as variáveis, e saber como está determinada funções. Para isso, faço uso tanto de variáveis numéricas como de texto.
Mas percebi que: ou uso determinada variável só pra texto ou só pra número! Isso é claro me irritou(kkkkk)!

Não lembro se testei e nem achei no forum, mas em todo caso, é uma informação que poderá ser útil ou não à outros users.


Última edição por moisesBR em Sex 23 Nov 2012, 21:25, editado 1 vez(es)

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por Kapoty em Sab 17 Nov 2012, 12:07

Por que ao envés de criar uma variável numérica e depois transforma-la em string, você não cria esta mesma variável assim :

Código:

variavel="1000"
variavel2="5"

Quando quisesse usar ela como um numero, bastaria :

Código:
resultado=real(variavel)*real(variavel2)

E quando fosse transformar ela em string bastaria :

Código:
variavel="abc"

Afinal ela já é uma string.

Kapoty

Ranking : Nota B
Número de Mensagens : 635
Data de inscrição : 05/11/2011
Notas recebidas : E + D + C + B + D +B + A
Reputação : 22
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por PedroX em Sab 17 Nov 2012, 16:34

Vou dar um exemplo prático. Veja:

health = 100

Você quer desenhar a variável. Então:

draw_text(10, 10, string(health))

Se não me engano, você nem precisa usar string(). Acho que o interpretador já faz isso.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por moisesBR em Seg 19 Nov 2012, 19:30

Na verdade ( vou ter que abrir o jogo!), Apesar de eu não ter criado o post oficial dos projetos que estou tentando trabalhar, já deixei rastros do que pretendo fazer... Apesar de muitos tentarem e até conseguiram(Colheita1 de Gabrielch) mas tentam fazer isso seguindo os padrões usados atualmente, tenho intenção de criar algo diferente... do meu jeito!
Mas estou me embaraçando em coisas tão simples mas que não tenho conseguido perceber! Além da confusão mental que estou vivendo.

Pessoalmente na vida real, após passara maus bocados com a vida no campo e com animais, e games online que tentam surrupiar nosso suado dinheirinho com recursos virtuais pra poder jogar... aff! Passei a odiar qualquer obrigação em relação ao tema.

Mas ao testar um game aqui do fórum gostei tanto(Colheita1 do Gabrielch. Sério!) que me senti Inspirado e ao mesmo tempo desafiado a tentar criar um igual ou parecido, sem esnobar ou desmerecer os existentes, criar um melhor do que qualquer outro já criado(detalhes segredo!)! O problema é que estou tentando cria-lo sozinho com ajuda do fórum é claro, mas do zero! Ou seja, os codes tem que ser elaborados por mim mesmo! Fora alguns que não domino e que estou usando (ex: alinhar na grid do Giraya).

O que estou tentando fazer:
Seguindo a inspiração do colheita1, inicialmente Preciso criar uma espécie de clone do colheita(NÃO quero sua engine gabrielch! Eu to tentando me virar! kkkkk) coisa do tipo jogabilidade esquema e etc. Depois modificar e seguir novos rumos conforme meus objetivos

Problema causador deste post:
Já consegui que, ao selecionar o objeto, seta a variável correspondente, ma quero passar a manipular essa variável e que aconteça algo do tipo:

No menu apropriado:
bananas -10
uvas -15
laranjas -12

No menu extra quando setado a variável:
voce selecionou bananas! Você tem 10

ou:
voce selecionou laranjas! Você tem 15

Eu penso que isso pode ser conseguido com isto:
crio duas variáveis:
Código:
selecionado="bananas"
bananas_estoque=10
E num draw
Código:
draw_text(x,y,"voce selecionou "+string(bananas)+"! Você tem "+string(bananas_estoque))
Ou... posso usar um code que mostre o nome e o valor da variável!

O problema é que não sei que code é esse!!!!!!!!!!

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por PedroX em Seg 19 Nov 2012, 19:41

Mostrar o nome da variável, só manualmente.

Código:
draw_text(x,y,"Você selecionou "+selecionado+"! Você tem "+string(bananas_estoque));

Seria assim, baseado no que quer.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por moisesBR em Seg 19 Nov 2012, 20:25

Quase! Mas não muda o valor conforme o selecionado!
Meu code:
Código:
draw_text("Você selecionou "+global.selecionado+"! Você tem "+string(global.bananas)
Nota-se que tenho a variável que exibe o que está selecionado, e o que deveria ser o valor conforme o selecionado ao invés de apenas bananas!
O primeiro está certo... creio que poderia usar o valor string de selecionado para real será que funciona?

Caso contrário terei que usar inúmeros ifs!!!

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por PedroX em Seg 19 Nov 2012, 21:31

Não entendi. O que aparece na tela? Dá erro?

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por moisesBR em Ter 20 Nov 2012, 08:32

Nao, aparece perfeito, mas o resultado que desejo seria que ao selecionar uma var, o valor a se mostrado seria pertencente a ela ou algum parente!

tipo, eu tenho no create:
//Estoque
global.nabos=15
global.bananas=5
global.milho=10
global.cenouras=20

Ao selecionar uma var(cor relacionada a var), vai aparecer o nome dela e o valor que ela guarda!:

global.selecionado="..."
global.bananas

Você selecionou bananas! Você tem 10Cujo code atual é este:
draw_text("Você selecionou "+global.selecionado+"! Você tem "+string(global.bananas)

o 1° esta certo mas o segundo deveria ser ligado ao 1°! Ou seja:
se o 1° aparece bananas, o 2² deveria mostrar quantas tem, no caso 5.
se aparece milho, deveria mostrar 10, se nabos, 15 3 assim por diante!

Um tem que estar relacionado a outro! Ou eu teria que fazer assim(o que não quero):

if global.selecionado"bananas"
draw_text(x,y,"Você selecionou "+global.selecionado+"! Você tem "+string(global.bananas))

if global.selecionado"milho"
draw_text(x,y,"Você selecionou "+global.selecionado+"! Você tem "+string(global.milho))

if global.selecionado"nabos"
draw_text(x,y,"Você selecionou "+global.selecionado+"! Você tem "+string(global.nabos))
e assim por diante!

Deve existir um meio que mostre o nome da var!!!! Pois o de mostrar o valor, ja tem! não é possível! Aff.

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por theguitarmester em Ter 20 Nov 2012, 13:00

Pô meu, Pelo Que Entendi parece ser coisa bem simples, se você consegue pegar o que está selecionado, você consegue pegar o velor tambem, é pura teoria! pô meu, tá faltando um pouco de teoria para ti! mais um Geek para ti! geek


O que Fazer?
coloque em lugar do valor da variavel' o valor que você pegará dela e salvará numa outra variavel, usarei a Global.selecionadovalor :
Código:
draw_text(x,y,"Você selecionou "+global.selecionado+"! Você tem "+string(global.selecionadovalor))

Consegue fazer? se quizer Uma Engine peça iAqui, mas acho que você Conseuiguirá Resolver este Problema.

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por moisesBR em Ter 20 Nov 2012, 13:51

Aff! Mesmo resultado! Eu já tenho duas vars!

1°- selecionado="texto"
uso pra manter uma string para mostrar o que está selecionado!

2°- fruto_tal=123
esse é onde guarda o valor!

Tentando aqui...

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por Kabeção em Ter 20 Nov 2012, 14:17

Veja o final do link do seu perfil aqui no fórum (colocando o mouse no seu nick). Todos nos temos um número que nunca é idêntico a outro, um índice.

Nosso perfil contem muitas informações e campos diferentes mas é simples acessar todos essas informações graça ao nosso número único/índice/id.

Tanto para seu problema quanto para grandes estruturas como este fórum basta organizar todos os valores e da-los números em sequencia. Exemplo:
1 - 1 -> nick: moisesBR
1 - 2 -> data inscrição: 24/10/2009
1 - 3 -> assinatura: "Por favor! ao criar suas engines mesmo que seja simples, coloque algo na ifo!..."
...

2 - 1 -> nick: Kabeção
2 - 2 -> data inscrição: 08/06/2008
2 - 3 -> assinatura: "Neobuster - 3ª Divisão..."

Sendo assim, quando eu vou no seu perfil o fórum usa seu id para buscar suas informações. Pseudocódigo:

id = 1;
nick = informacao[id,1];
data = informacao[id,2];
assinatura = informacao[id,3];

Um exemplo para aplicar isso no seu caso:
Código:
// Create
selecionado = -1; // nada selecionado
itens_n = 2; // número de itens

// Banana
itens[0,0] = 5;          // número de bananas
itens[0,1] = "banana"; // nome do item
itens[0,2] = "Banana é uma pseudobaga da bananeira, uma planta herbácea vivaz acaule da família Musaceae (género Musa - além do género Ensete, que produz as chamadas 'falsas bananas')."; // descrição do item

// Uva
itens[1,0] = 10;      // número de uvas
itens[1,1] = "uva";  // nome do item
itens[1,2] = "A uva é o fruto da videira (Vitis sp.), uma planta da família das Vitaceae. É utilizada frequentemente para produzir sumo, doce (geleia), vinho e passas, podendo também ser consumida crua."; // descrição do item

// Step
if keyboard_check_pressed(vk_numpad0) selecionado = 0;
if keyboard_check_pressed(vk_numpad1) selecionado = 1;

// Draw
if selecionado >= 0  draw_text(x,y,"Você selecionou "+string(itens[selecionado,1])+"! Você tem "+string(itens[selecionado,0]))

Outra possibilidade:
Código:
nome[0] = 'banana';
numero[0] = 5;

nome[1] = 'uva';
numero[1] = 10;

draw_text(x,y,"Você selecionou "+nome[selecionado]+"! Você tem "+string(numero[selecionado]))

Graças a organização por ids você tem todo o controle sobre as informações.
Código:
// Desenhar uma lista de todos os itens
// draw_lista(x,y);
var xx,yy,i;
xx = argument0;
yy = argument1;

for (i = 0; i < itens_n; i += 1) {
    draw_text(xx,yy+12*i,"Item: "+string(itens[selecionado,1])+". Quantidade "+string(itens[selecionado,0]));
}

Código:
// Todos as informação de um item
// draw_info(x,y,item);
var xx,yy,item,info_n,i;
xx = argument0;
yy = argument1;
item = argument2;

info_n = 10; // ***número total de informações dos itens

for (i = 0; i < ; i += 1) {
    draw_text(xx,yy+12*i,itens[item,i]);
}

Código:
// Registro de itens
// reg_item(nome,numero,descricao);

itens[itens_n,0] = argument0;
itens[itens_n,1] = argument1;
itens[itens_n,2] = argument2;

itens_n += 1;

Código:
// Retornar id
// item_id(nome)

var i;
for (i = 0; i < itens_n; i += 1) {
    if itens[i,0] = argument0 return i;
}

Muita gente tem dificuldade com isso porque tentam controlar conjuntos de informação com base em textos assim como você estava fazendo.
Strings não são flexíveis, não são matemáticas, não são facilmente alinhaveis mas se você anexar um números a essas informações tudo torna-se mais fácil.
Todos os seus últimos tópicos podem ser solucionados com esse método.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por DS Santos em Ter 20 Nov 2012, 15:34

Eu ja sabia esse conceito mas e se um mesmo item pode ter informações diferentes. Tipo em jogos onlines a mesma arma tem dano um pouco maior ou atributos adicionais e podem ser aleatórios. Acho que fazer um id para cada seria desorganizado e inviável. O que da pra fazer nesse caso?

DS Santos

Número de Mensagens : 98
Data de inscrição : 19/05/2010
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por Kabeção em Ter 20 Nov 2012, 16:44

Nessa situação eu faria um banco de dados para as informações base, um para os atributos e o jogador teria o seu próprio guardando a informação de seus itens e modificações.
Por exemplo:

BD Base:
0 - 0 -> nome: "Foice Sombria"
0 - 1 -> ataque_min: 175
0 - 2 -> ataque_max: 215

BD Atributos:
0 - Congelamento
1 - Quaimadura
2 - Maldição
3 - Paralizar
4 - Absorção de HP

Agora digamos que o jogador tem uma foice sombria com congelamento e maldição e uma outro foice sombria com paralizar
BD para o jogador separadamente:

// Foice com congelamento e maldição
0 - 0 -> id_base = 0 // id no banco base
0 - 1 - 0 -> acrescimo = 0 // id do congelamento
0 - 1 - 1 -> valor = 35 // valor de dano por congelamento
0 - 2 - 0 -> acrescimo = 2 // id da maldição
0 - 2 - 1 -> valor // valor de dano por maldição

// Foice com paralizar
0 - 0 -> id_base = 0 // id no banco base
0 - 1 - 0 -> acrescimo = 3 // id de paralizar
0 - 1 - 1 -> valor = 5 // tempo de paralização

Nesse exemplo os mesmos itens podem ter acrescimos diferentes e os mesmo acrescimos valores diferentes.
Na hora de calcular o dano você pega o id do acrescimo e faz algo do tipo: mob de gelo não leva dano de congelamento e fogo não leva de queimadura, se o id for de paralizar então o mob para de atacar com 5 segundos e etc.

Agora se os itens podem subir de nivel +0, +1, +2...
Aconselho a ter padrões tipo:
0 - 0 -> +0
0 - 1 -> ataque +0
0 - 2 -> congelamento +0
0 - 3 -> Queimadura +0
....
1 - 0 -> +1
1 - 1 -> ataque +10
1 - 2 -> congelamento +15
1 - 3 -> Queimadura +17
....

O BD ficaria
// Foice com paralizar
0 - 0 -> id_base = 0 // id no banco base
0 - 1 -> nivel = 2
0 - 2 - 0 -> acrescimo = 3 // id de paralizar
0 - 2 - 1 -> valor = 5 // tempo de paralização

Na hora de calcular some a base com o padrão de acrescimo do nivel.
Código:
// item_id_base(id)
return player.itens[argument0,0]; // id base do item do jogador

// item_nivel(id)
return player.itens[argument0,1]; // nivel do item do jogador

// get_ataque(id_base)
return irandom_range(global.itens[argument0,1],global.itens[argument0,2]) // retorna um valor entre o ataque mínimo e o máximo

// get_nivel_ataque(nivel)
return global.nivel[argument0,1]; // adição de ataque do nivel

ataque = get_ataque(item_id_base(arma_equipada))+get_nivel_ataque(item_nivel(arma_equipada));

Não sei se da pra entender, é difícil explicar essas coisas...

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por Da Galáxia em Qua 21 Nov 2012, 01:07

Pelo que eu entende o que vc quer fazer faz com matriz

Crie um novo projeto e teste o que vou lhe passar pra ver se é isto mesmo.

Crie um objeto (objMatriz) e coloque na room e...

Segue o codigo com comentários.

NO CREATE
Código:

    linha  = 5;
    coluna = 3;
    // Definindo tamanho maximo da matiz 5x3.
    // Desta forma, suportamos 5 itens diferentes, cada um com 3 propriedades, mas claro, pode ser infinito.
    item[linha, coluna] = 0;
   
    // Propriedades do item
    // 1° nome do item, 2° cor do item e 3° valor do item.
    item[0, 0] = "banana"; // posição 0x0 na matriz.
    item[0, 1] = "amarela";// posição 0x1 na matriz.
    item[0, 2] = 10;      // posição 0x2 na matriz.
   
    item[1, 0] = "uva";    // pos 1x0... e por ai vai.
    item[1, 1] = "roxa";
    item[1, 2] = 15;
   
    item[2, 0] = "morango";
    item[2, 1] = "vermelho";
    item[2, 2] = 8;
   
    item[3, 0] = "abacaxi";
    item[3, 1] = "verde/amarelo";
    item[3, 2] = 12;
   
    item[4, 0] = "limao";
    item[4, 1] = "verde";
    item[4, 2] = 20;
   
    // Variavel para trocar de item.
    // Iniciamos com o 1° item selecionado, ou troque se desejar.
    selecItem = 0;
   
    // Vamos entender a matriz.
    /*
    Isto é uma matriz 5x3, sendo 5 linhas (descendo, como linhas em um caderno) e
    3 colunas (da esquerda para a direita). Cada linha é um item desejado, cada
    coluna uma de suas propriedades.
    A matriz inicia em zero, então temos: 0,1,2,3 e 4 para as linhas e
    0,1 e 2 para as colunas. Basta imaginar a planilha excel, ou pensar em uma
    posição no plano cartesiano.
   
    VAMOS TENTAR ABSTRAIR.
   
    x x x
    x x x
    x p x
    x x x
    x x x
   
    Acima são as posiçoes da matriz, o "p" esta na posição 2x1, no caso "p"
    estaria representando o item 2 (3° item, lembre, inicia em zero) e a propriedade "cor".
    *\


NO STEP
Código:

    if keyboard_check_pressed(vk_up)
        selecItem +=1;
       
    if keyboard_check_pressed(vk_down)
        selecItem -=1;
       
    // Incrementando quantidade ao item atual (selecionado).
    if keyboard_check_pressed(vk_space)
        // selecItem -> o item atual e 2 a propriedade da quantidade do item.
        item[selecItem, 2] += 1;
       
       
    // Vamos limitar a variavel.
    /*
    Como fizemos apenas 5 itens e este inicia em zero, a variavel "selecItem"
    não pode ser mair que 4 e obvio nem menor que zero.
    */
    // Damos um loop na seleção.
    if(selecItem > 4)
        selecItem = 0;
       
    if(selecItem < 0)
        selecItem = 4;


NO DRAW
Código:

    // Imformação:
    str1 = "Tecle setas para cima ou para baixo para escolher o item.";
    str2 = "Tecle espace para incrementar valor ao item que esta selecionado."
    draw_text(10, 10, string(str1));
    draw_text(10, 30, string(str2));
   
    // Mostrar todas as propriedades do item.
    var propriedades
   
    for(propriedades = 0; propriedades < coluna; propriedades+=1)
        // 20*propriedades -> saltar linhas com espaço de 20 pixel.
        draw_text(100, 100 + 20*propriedades, string(item[selecItem, propriedades]));

Da Galáxia

Número de Mensagens : 348
Data de inscrição : 14/01/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por moisesBR em Qua 21 Nov 2012, 09:47

Cabeção:
Não foi como eu esperava mas surtiu efeito! estou usando o seu sistema.

Create:
Código:
global.selecionado= 0; // nada selecionado
Já deixei a var em 0 e criei um banco(?) vazio (itens[0,0] = "...") para defaut.
Código:
itens[0,0] = "...";
itens[0,1] =  0;    //Quantidade
itens[0,2] = "Só para representar";//descrição do item

itens[1,0] = "Banana";//Nome do item
itens[1,1] =  5;//Quantidade
itens[1,2] = "Banana é banana!";//descrição do item
Só a ponta do alcberg... e etc.

Draw:
Código:
draw_text(x+10,y+10,"
Você selecionou ; "+string(itens[global.selecionado,0])+"!
Você tem          ; "+string(itens[global.selecionado,1])+"
Informacao      ; "+string(itens[global.selecionado,2])+"
Resultado:
Você selecionou ;bananas!
Você tem ; 5
Informacao ; Banana é banana!

E para modificar, bastando setar o valor da var(global.selecionado) para o num correspondente à info do item.

Apesar de ser um bom método, ainda não estou convencido que não possa retornar o nome da var...

Motivo dessa zorra toda:
Apesar de me sair até bem com matemática, relacionar coisas por numeros ou code ao invés de nomes confundem as coisas! Tipo; estou com as propriedades de um item aberto e na hora de setar a var vou ter que fechar para consultar o valor dele na array(?)! E isso se dará em muitas situações! o que não ocorreria se ao invés de lidar com números eu pudesse usar o nome/string/texto para setar a var! Eu já ia falando acima:
da galaxia, seu sistema é praticamente o mesmo do Cabeção! Obrigado a todos considero o tópico "resolvido"
Mas ao analizar a situação, reparei que ou é imprensão minha que o da galaxia ta tentando fazer exatamente o que eu disse!
Quero tentar isso(aproveitando é claro o sistema de arrays):

Crio mais uma var com o nome do ítem desejado e indexar o valor dele relativo à posição dele no array! (Ex; global.banana=1) e onde seta a var global.selecionado, coloco o nome da var que criei para aquele ítem! Ex: global.selecionado=global.banana
Resultado esperado:

se a var global.selecionado é = global.banana, e global.banana é =1, provavelmente o valor 1 vai indicar a posição no array, mudando apenas a primeira var!

no draw:
draw_text(x,y,"
Você selecionou ; "+string(itens[global.banana,0])+"!
Você tem ; "+string(itens[global.selecionado,1])+"
Informacao ; "+string(itens[global.selecionado,2]))"

Não sei se funciona... vou tentar aqui.
Com Vocês perceberam desejo lidar com texto ao invés de números! Não totalmente texto, mas pelo menos para algumas coisa e pra isso se necessário usar variáveis pra isso como tento fazer acima!
É inevitável que eu seja obrigado(por enquanto) aceitar ter que lidar com números para localizar dados, mas posso tentar associar esses números à variáveis da qual posso usar o nome dela cujo valor seta a localização dos dados no array!

Topico ainda em aberto para novas sugestões, mas tentando a possibilidade que descrevi.

A propósito:
Muitos me perguntam "pra que tudo isso", respondo; "só isso!" Além do mais, isto nos leva a descobrir novas possibilidades antes não exploradas! Com a criação de novos softwares, muitos migram para a novidade, recomeçando tudo de novo, não alcançando o potencial do atual! Tudo é possível, temos é que descobrir um meio de burlar tais limitações.
Quanto a esse meu tópico, resolvendo isso será útil para todos do fórum e até céticos!
Obs: em outras linguagens como vb retornar o nome da var é possível!

Agiuardo novas possibilidades e fiquem a vontade para criar engines para melhor visualização! (Por favor, coloque seus nomes nas info! Se quiserem é claro)

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por DS Santos em Qua 21 Nov 2012, 12:22

Kabeção vlw, eu precisei ler muitas vezes mas consegui entender. Basicamente tenho que pensar em tudo como um atributo separado com sua id e linkar o que for preciso no item dropado pelo jogador.

DS Santos

Número de Mensagens : 98
Data de inscrição : 19/05/2010
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por Kabeção em Qua 21 Nov 2012, 12:45

Então moisesBR, o que o Da Galáxia mostrou é o mesmo que eu sugeri.

Não sei se usar a posição 0 para quanto não tiver nada selecionado seja uma boa ideia. Isso pode confundir já que tecnicamente o 0 sempre toma o lugar do 1 em programação e tudo começa nele e numero negativo se referem a coisas fora da normalidade como é o caso de nada estar selecionado.
Não que seja uma regra, é só um costume de programação e todos os exemplos que passei levem em conta isso.

Se o problema que ainda resta é só a dificuldade de memorizar os ids para cada item ao inves de usar variáveis use constantes.

O GM está cheio de exemplos desse método tipo o keyboard_check.
vk_left, vk_right e todas as outras constantes representam valores que são os ids das teclas.
Até o próprio nome que você da aos objetos, sprites e afins são constantes que representam ids.

Texto é mais fácil para humanos mas o computador lida melhor com números. Constantes são o melhor dos dois mundo. Laughing

Vá no menu Resources -> Define Constants lá pode criar quantas quiser. Algo tipo:
it_banana = 0;
it_uva = 1;

draw_text(x,y,"
Você selecionou ; "+string(itens[it_banana,0])+"!
Você tem ; "+string(itens[it_banana,1])+"
Informacao ; "+string(itens[it_banana,2]))"

Tem outra forma também que eu não recomendo porque é lenta e exige mais processamento.
Mais uma vez é só tirar proveito da organização numérica e usar um loop.
Código:
// get_id_name(name);
// Retorna id pelo nome

var i;

for (i = 0; i < itens_n; i += 1) {
    if itens[i,0] = argument0 return i;
}

Acho que isso é não é util para o programador porque tem as constantes.
Seria mais útil no caso de um sistema de busca por nomes para o jogador.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por Da Galáxia em Qua 21 Nov 2012, 17:14

Vc quer retornar o nome da variavel nome este que vc usa no code?

Tipo:
a sua variavel no seu code tem o nome de banana ai vc quer retornar o nome banana
sua variavel no code é uva ai quer retornar o nome uva?

Bom, se for o caso, e como vc ja disse lhe disseram pra que isto tudo. É claro que vc pode e deve fazer algo que queira, obvio. Todavia, se for assim vc vai ter muitas variavei, uma variavel chamada uva outra banana etc

Outra vc disse
"se a var global.selecionado é = global.banana, e global.banana é =1, provavelmente o valor 1 vai indicar a posição no array, mudando apenas a primeira var!"

NÃO. As posições no array (o correto é dizer indice do array), não tem relação nenhum com os valores dos mesmos.

O que eu passei pra vc, foi digamos, uma explicação de como funciona um array bidimensional (array é um nome generico para vetores de uma ou mais dimensões, então é de comum melhor compreensão dizer vetor quando é uni-dimensional [0] e matriz quando mais de uma dimenção [0,0]), apenas pra ficar mais clara a conversação.

Voltando, como eu disse ao querer retornar o nome da variavel que vc usa, vc tera muitas variaveis, e não vai aproveitar o poder e a clareza que a matriz vai lhe proporcionar. Eu nunca tentei isto (retornar o nome da variavel que uso no code) mas deve ser coisa simples, mas lhe garanto não vai valer apena. O game maker como é um maker e tudo é parcialmente pronto, as variaveis NÃO são tipadas como em linguagens profissionais (string, int, float, char etc) isto facilita demais:

veja:
item[0,0] = "banana" (isto é uma string)
item[0,1] = 10 (isto é um integer (int))

A matriz não tem um tipo especifico de retorno e aceita sem precisar fazer cast tipos diferentes de dados. Todavia apartir do momento que recebe um inteiro (10) ali deve continuar a ser inteiro ou talves possa ser real (faz tempo que não mecho no game maker, então não lembro sem testar).

Resumindo:
O que lhe passei, foi uma ideia e uma leve explicação do funcionamento, se vc entender este funcionamento vai ver que da pra fazer algo perto (disse perto porque é dificil saber ao certo o que terceiros querem de fato, por melhor que seja explicado) do que queres.

Qualquer coisa vai postando que agente chega lá, flw.

Em tempo:
Acima foi dado a sugestão de usar banco de dados, a não ser que queres que o jogo continue de onde parou, exemplo: começou com 10 bananas e ao longo do jogo pegou mais 20 bananas, parou de jogar, no outro dia entrou de novo pra jogar e queres que tenha agora 30 bananas, não ha motivo para um gasto desses, nem mesmo se fosse assim haveria, poderia usar arquivos. O lance ai é mesmo matriz, para polpar codigo, obter clareza nos codigos e ter uma boa reutilização dos mesmos, para digamos, um futuro upgrade, mas para este ultimo dependera de como tudo foi programado.

Se eu (burro) não entende o que queres de fato desconsidere este, flw.

Da Galáxia

Número de Mensagens : 348
Data de inscrição : 14/01/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Resolvido! (texto totalmente modificado)

Mensagem por moisesBR em Qua 21 Nov 2012, 23:47

Fiz exatamente como falei e acreditem, deu certo!
Vocês lembram que meu desejo era manipular variáveis usando strings ou texto.
Queria algo que retornasse o nome da var e tava difícil, mas pra tudo se dá um jeito!
Eu tinha medo de arrays por não entende-las, mas cheguei ao ponto de precisar delas e gostei do resultado! Pena que ainda era necessário usar números! Eu disse que "era", por que consegui! De um modo tosco mas consegui! Como disse no post anterior deste mesmo tópico na outra página, mas não consegui expressar exatamente:

Crio esta e mais outras vars com o nome do ítem desejado e coloco o valor de cada uma relativo à suas posições no array! Ex: global.banana=1
E depois coloco essa nova var, como valor do global.selecionado que é fixo, no objeto que eu clicar, lugar do 0!
Ficando assim em cada objeto, algo do tipo: global.selecionado=global.banana
E deu certo!

Lógica:
Se crio várias variáveis com os nomes dos itens desejados, e atribuo a cada uma o valor numérico correspondente à posição do item no array, e a coloco como valor da outra que é fixa, o resultado sera o numérico como o array pede! assim, eu uso tranquilamente, texto(que no caso são variáveis), retornando o conteúdo do array.

Bem... Obrigado pela atenção! Consegui o meu objetivo e ainda venci mais uma barreira(array)! Já vi esse tal array no fórum inúmeras vezes mas nunca consegui compreender até agora! Mas dessa vez, talvez por minha obstinação, necessidade e várias explicações de vários lados. Valeu!!!
Agradeço pela várias explicações de arrays,que me ajudou compreender o sistema! Valeu pessoal! Se precisar de algo que eu puder ajudar o farei.

A propósito vejam como ficou(retirei quase tudo só deixei o sistema de uso de nome de variáveis ao invés de só números. funcionou!):
Projeto --- (moisesBR) string x var
No mas... Resolvido!

Cabeção:
Constantes... nunca lidei com isso... pesquisando no forum... Caso não haja por favor alguem me indique um tuto ou sei lá!

Ainda continuo acreditando no possível retorno do nome da variável! tenho certeza que é possível, mas deixemos de lado por enquanto.


Última edição por moisesBR em Qui 22 Nov 2012, 11:09, editado 4 vez(es) (Razão : mostrar resultado.)

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido] Transição de variáveis entre numero e string

Mensagem por Conteúdo patrocinado Hoje à(s) 12:22


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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