|
|
|
Autor |
Mensagem |
kisedek
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-> | | 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-> | | 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
|
|
Seg Out 10, 2016 11:06 pm |
|
|
kisedek
Usuário
Registrado: 15/10/12 Mensagens: 352
|
|
|
|
Se alguém tiver alguma solução ai vai ser Show Help?
|
|
Seg Out 10, 2016 11:07 pm |
|
|
ManoPlayForum
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 |
|
|
Raphael Johan
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.
_________________ RJBK |
|
Qua Out 12, 2016 10:40 pm |
|
|
kisedek
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 |
|
|
Raphael Johan
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 |
|
|
Raphael Johan
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 |
|
|
kisedek
Usuário
Registrado: 15/10/12 Mensagens: 352
|
|
|
Qui Out 13, 2016 2:47 pm |
|
|
|
|
|
|
|
|