Dúvida(Problema) na execução de script
Enviado: Seg Fev 20, 2017 4:19 pm
Meu script deveria fazer o seguinte:
1. somar +1 na variavel score_player;
2. soltar o som sound_win;
3. mostrar na tela a mensagem você ganhou;
4.reiniciar a matriz(botar 0 nos campos);
5. reiniciar o jogo(para retirar todos os sprites
Eis os scripts relevantes para se entender.
Porém(e eu sei que nesse código o 4 termo que escrevi no início está investido com o 5) não acontece como desejado, na logica deveria ocorrer, porém conseguir ajeitar e é ai que começa minha dúvida, consertei fazendo o seguinte.
Eis minha resolução ai em cima, mas fiquei em dúvida. Por quê no 1 tudo junto num if não deu certo e no 2 com scr_field_init() em um if separado e game_restart() tambem separado deu certo? Seguindo a logica(pelo menos a minha porem sou novato) não vejo diferença só ordem de execução, e é a mesma coisa porem separados. Se alguem conseguir me responder e explicar ficarei muito agradecido, já estou a dias tentando entender isso e não conseguir ainda.
obs: é o jogo tic tac toe, do game maker aprenddicer.
1. somar +1 na variavel score_player;
2. soltar o som sound_win;
3. mostrar na tela a mensagem você ganhou;
4.reiniciar a matriz(botar 0 nos campos);
5. reiniciar o jogo(para retirar todos os sprites
Eis os scripts relevantes para se entender.
Código: Selecionar todos
scr_field_init<-script
var i,j;
for(i=0;i<=2;i+=1){
for(j=0;j<=2;j+=1){
field[i,j]=0;
}
}
scr_game_init<-script
score_player = 0;
score_computer = 0;
score_draw = 0;
scr_field_init();
scr_check_end<-script
if(scr_check_player_win()){
score_player +=1;
sound_play(snd_win);
show_message("You Win");
scr_field_init();
game_restart();
}
if(scr_check_draw()){
score_draw +=1;
sound_play(snd_draw);
show_message("it'is a draw");
scr_field_init();
game_restart();
}
if(scr_check_computer_win()){
score_computer +=1;
sound_play(snd_lose);
show_message("you lose");
scr_field_init();
game_restart();
}
/////////////////////////////////////////////////////////////////
Código: Selecionar todos
if(scr_check_player_win()){
score_player +=1;
sound_play(snd_win);
show_message("You Win");
.....//codigo de condiçao para verificaçao da maquina
....//empate
if(scr_check_player_win()||scr_check_computer_wing()||scr_check_draw()){
scr_field_init();
}
if(scr_check_player_wing()||scr_check_computer_wing()||scr_check_draw()){
game_restart();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
obs: é o jogo tic tac toe, do game maker aprenddicer.