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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
Data de inscrição : 06/08/2009
Número de Mensagens : 569
Insígnias de JAM :

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

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

[Resolvido] Erro letras aleatórias em uma string

em Qua 06 Ago 2014, 06:22
Bom Dia!

Caramba! Quanto tempo, amigos.
Sou o antigo "CyraxX" aqui do fórum, como vocês estão?
Bom, estou longe do GM á mesma quantia de tempo que estou longe do fórum e enquanto preparava um projeto para pedir minha futura namorada em namoro (?) tive um problema que esta me atrapalhando bastante nessa longa jornada do amor.  Mad  Hahaha

Seguinte: Em um projeto parecido com um Fruit Ninja da vida (sim, usando o Fruit Veg do GMS) cada coração (Que previsível) que ela "cortar" vai adicionar uma letra aleatória em uma variável (frase_incompleta) e ao desenhar na tela vai formando uma frase com o pedido em sí. "Top! Beleza! Que cara romântico, estou chorando rios, Rodrigo."
Nesta parte que eu choro também: antes de escolher a letra que vai ser adicionada eu faço uma verificação com o string_pos e verifico se já tem essa letra na frase incompleta e escolho outra, para não repetir. Só que em uma frase eu tenho varias letras.

Tentando deixar mais claro: Na palavra "Aceita" eu tenho dois "A's", correto? beleza. Se eu não limitar antes de adicionar a letra aleatória na frase incompleta corro o risco de surgir cinco "T's", dezoito "A's" e quarenta e cinco "E's" antes de ter a palavra "Aceita" completa.

Para escolher e adicionar:

Código:
if  string_pos(letra,frase_incompleta) // Verificando se não é letra repetida
        {
               letra = choose("P","e","d","i","d","o")  
             } else  {

            popup(string(letra))
            
           //adiciono cada letra na posição certinha de cada letra da frase real
           frase_incompleta = string_insert(letra,frase_incompleta,string_pos(letra,frase_real))
          
        }

     



Entenderam? Espero que sim.

Desde já agradeço muito a todos!

Vallew [:¬D]


Última edição por RodrigoM. em Qua 06 Ago 2014, 23:57, editado 1 vez(es)
avatar
Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://redscreensoft.blogspot.com

Re: [Resolvido] Erro letras aleatórias em uma string

em Qua 06 Ago 2014, 11:42
Reputação da mensagem: 100% (1 votos)
Refiz o sistema, até porque você só deu parte dele. Crie um novo objeto e faça o teste, depois adapte ao teu código. Faça o seguinte no novo objeto:

- Create:

Código:
//Frase completa
frase = "RodrigoM xonado";

//Frase que perderá letras
frase_lose = frase;

//Frase incompleta com simbolos (underlines), pois espaços contam numa frase
frasei = "";
repeat(string_length(frase))
{
    frasei = frasei + "_";
}

- Step:

Código:
//Ao apertar qualquer tecla vai completando a frase
if keyboard_check_pressed(vk_anykey) and string_count("_", frasei)
{
    //Seleciona letra aleatóriamente
    do
    {
        var p = irandom_range(1, string_length(frase_lose));
        var l = string_char_at(frase_lose, p);
    }
    until l != "_";
    
    //Apaga letra selecionada da variavel e substitui por
    frase_lose = string_delete(frase_lose, p, 1);
    frase_lose = string_insert("_", frase_lose, p);
    
    //Adiciona letra na frase 'vazia', apagando antes o '_'
    frasei = string_delete(frasei, p, 1);
    frasei = string_insert(l, frasei, p);
}

- Draw GUI:

Código:
draw_text(20, 20,
    "Aperte qualquer tecla para adicionar uma letra: #"+
    "#Frase completa: " + string(frase)+
    "#Frase incompleta: " + string(frasei)+
    "#Frase perde: " + string(frase_lose));

Basta ir teclando para completar a frase. Espero que ajude.

FLWS!
Data de inscrição : 06/08/2009
Número de Mensagens : 569
Insígnias de JAM :

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

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

Re: [Resolvido] Erro letras aleatórias em uma string

em Qua 06 Ago 2014, 23:55
Deitou Alex, vallew mesmo cara! Já adaptei ao meus códigos!

Caramba o pessoal continuou evoluindo mesmo! Top!
Conteúdo patrocinado

Re: [Resolvido] Erro letras aleatórias em uma string

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