Carregar mapa aleatório sem repetição de mapa
Ir à página 1, 2  Próximo
 
   3D Game Builder - Índice » Programação
Carregar mapa aleatório sem repetição de mapa
Autor Mensagem
kisedek
Usuário
Usuário


Registrado: 15/10/12
Mensagens: 352

Carregar mapa aleatório sem repetição de mapa
Galera, estou naquele projeto dos jogos educativos e estou quase concluindo, mas adicionar a última funcionalidade está meio difícil.
Antes de colocar no projeto real, fiz um projeto teste com 11 mapas, numerados de 0 a 10 e coloquei só uma label pra identificar o mapa e um botão pra trocar de mapa.
Pra mim o código está beleza e é compilado normalmente, mas na prática não funciona, o jogo trava sempre. Mas se eu clicar no botão com o modo DEBUG funciona normal!
Botei os scripts no OnCreate, no botão e só.

No OnCreate->
Código:
WriteGlobalVar('Map0', true);
WriteGlobalVar('Map1', false);
WriteGlobalVar('Map2', false);
WriteGlobalVar('Map3', false);
WriteGlobalVar('Map4', false);
WriteGlobalVar('Map5', false);
WriteGlobalVar('Map6', false);
WriteGlobalVar('Map7', false);
WriteGlobalVar('Map8', false);
WriteGlobalVar('Map9', false);
WriteGlobalVar('Map10', false);


No button->
Código:
var n,cont:Integer;
var map,extensao:String;
cont:=10;
map:='Map';
extensao:='.gbm';

if cont>0 then
begin
   while cont>0 do
   begin
            n:=RandomInt(10);
            if ReadGlobalVar(map+IntToStr(n))=false then
               LoadMap( map+IntToStr(n)+extensao, 0, 1, 0, 10);
               WriteGlobalVar( ReadGlobalVar(map+IntToStr(n)), true);
            if ReadGlobalVar(map+IntToStr(n))=true then
               cont:=cont-1;
   end;
end


Se vocês entenderem o que eu quero, vocês vão ver que quando inicia o mapa, é carregada a lista de mapas, se podem ou não ser carregados.|
Já no botão inicia 2 variáveis Integer e 2 String, os Integer guardam um numero aleatório pra ser usado para carregar e verificar os mapas, e o outro serve como contador para as tentativas (outra parte do código que nem botei em prática), já os Strings servem para guardar o nome Mapa e a extensão, então se o contador for maior que 0 (que já começa como sendo 10) enquanto o contador for maior que 0 vai ser gerado um número aleatório entre 0 e 10, se o mapa desse número estiver como False, significa que não foi carregado e pode ser carregado, se o número sorteado for de um mapa já carregado (True) ele diminui o numero no contador.

Mas ta acontecendo esse problema, quando testo o projeto normal, ele trava e não volta a responder, e quando ponho no modo Debug, o código funciona, mas aparece essa mensagem de erro que eu não entendi

Queria fazer upload do projeto pra vocês analisarem e testarem, mas a minha internet ta muito ruim Crying or Very sad


Seg Out 10, 2016 11:06 pm Exibir perfil de usuários
kisedek
Usuário
Usuário


Registrado: 15/10/12
Mensagens: 352

Se alguém tiver alguma solução ai vai ser Show Sad Help?
Seg Out 10, 2016 11:07 pm Exibir perfil de usuários
ManoPlayForum
Usuário
Usuário


Registrado: 30/10/15
Mensagens: 344

Tem link do projeto? vai ser mais fácil pra testar e resolver.
Seg Out 10, 2016 11:31 pm Exibir perfil de usuários
Raphael Johan
Novato
Novato


Registrado: 09/12/14
Mensagens: 74
Localização: Rio de janeiro

Problema resolvido
Antes de mais nada, peço minhas sinceras desculpas por todos os meus inúteis. Prometo parar de vandalizar o fórum, e compartilhar apenas conteúdos relevantes. Sobre seu problema, se for apenas isso, acho que tenho uma possível solução. Segue o link:


https://drive.google.com/file/d/0B4xBjfVpCa78WERENjhFTHY2RVE/view


Seu script estava completamente correto, acho que se esqueceu apenas de colocar algumas variáveis. Espero ter sido útil. Smile

_________________
RJBK
Qua Out 12, 2016 10:40 pm Exibir perfil de usuários
kisedek
Usuário
Usuário


Registrado: 15/10/12
Mensagens: 352

Oxe... '-' o teu tá igual ao meu, até nos espaços! única diferença é o número de mapas e claro o limite do número aleatório...


Qui Out 13, 2016 7:14 am Exibir perfil de usuários
Raphael Johan
Novato
Novato


Registrado: 09/12/14
Mensagens: 74
Localização: Rio de janeiro

Eu não entendo, no meu computador funciona corretamente, sem violar o acesso. Eu literalmente copiei seu script e deu certo. Mas para ter certeza, arquivo que mandei funcionou corretamente no seu computador?



_________________
RJBK
Qui Out 13, 2016 2:11 pm Exibir perfil de usuários
Raphael Johan
Novato
Novato


Registrado: 09/12/14
Mensagens: 74
Localização: Rio de janeiro

Eu não entendo, no meu computador funciona corretamente, sem violar o acesso. Eu literalmente copiei seu script e deu certo. Mas para ter certeza, arquivo que mandei funcionou corretamente no seu computador?

_________________
RJBK
Qui Out 13, 2016 2:11 pm Exibir perfil de usuários
kisedek
Usuário
Usuário


Registrado: 15/10/12
Mensagens: 352

Funcionou!
Qui Out 13, 2016 2:47 pm Exibir perfil de usuários
   3D Game Builder - Índice » Programação Ir à página 1, 2  Próximo
Página 1 de 2