Erro de remoção de pontos
Enviado: Sex Mai 03, 2019 9:54 pm
Olá a todos, vim aqui a procura de ajuda em um código feito por mim. A sua intenção é remover 1 ponto entre 4 variáveis, e a variável que irá ser removido é aleatório. Com isso, criei um codigo que irá fazer isso.
O codigo é ativado quando um outro objeto diz "global.srem1 = 4 (diz que esse código irá ser ultilizado) global.remo1 = 1 (quantas vezes esse código será re-ultilizado)".
O problema é, há vezes que ele acaba removendo duas vezes, como não encontrasse o numero, voltasse pro 4, e mesmo assim, removesse 2 vezes. O qual não foi feito para acontecer. Então, peço, humildemente, a ajuda de vocês.
O codigo é ativado quando um outro objeto diz "global.srem1 = 4 (diz que esse código irá ser ultilizado) global.remo1 = 1 (quantas vezes esse código será re-ultilizado)".
Código: Selecionar todos
if global.srem1 = 4 // Sendo executado
{
global.varire1 = choose (1,2,3,4) if global.srem1 = 3 // Ele irá randomizar a qual varíavel e envia para proxima fase
}
if global.srem1 = 3 // Nessa fase, ele irá perguntar se o variavel escolhida possui um valor maior que zero, se sim, envia para proxima fase, se não, volta pra fase 1 (Já tentei usar o else)
{
if global.varire1 = 1 {if global.a >0 {global.srem1 = 2} if global.a = 0 {global.srem1 = 4}}
if global.varire1 = 2 {if global.b >0 {global.srem1 = 2} if global.b = 0 {global.srem1 = 4}}
if global.varire1 = 3 {if global.c >0 {global.srem1 = 2} if global.c = 0 {global.srem1 = 4}}
if global.varire1 = 4 {if global.d >0 {global.srem1 = 2} if global.d = 0 {global.srem1 = 4}}
}
if global.srem1 = 2 //Aqui ele irá perguntar novamente qual variavel foi escolhida e irá remove-la, sabendo que ela é um numero real maior que zero. Após isso, irá mandar para proxima fase
{
if global.varire1 = 1 {global.a -= 1 global.remo1 -= 1 global.srem1 = 1 } //Remove o remo1.
if global.varire1 = 2 {global.b -= 1 global.remo1 -= 1 global.srem1 = 1 }
if global.varire1 = 3 {global.c -= 1 global.remo1 -= 1 global.srem1 = 1}
if global.varire1 = 4 {global.d-= 1 global.remo1 -= 1 global.srem1 = 1 }
}
if global.srem1 = 1
{
if global.remo1 >0 {global.srem1 = 4} else {global.srem1 = 0} //Nessa fase, pergunta se o remo1 ainda é maior que zero, se sim, o codigo será executado novamente.
}