e a função walking_function dá um print com o valor de count, e vai para a função onde está estes IFs.
O problema, é que o programa faz os ifs corretamente uma vez, e depois sempre vai para “walking_function(2)”, em vez de fazer uma vez “walking_function(1) e (2)”.
Como proceder?
Se não estou claro, avise-me que editarei este post.
Mas o programa continua fazendo assim:
Printa 2.
Printa 1.
Printa 1.
Printa 1.
E fica só printando “1”.
O que estou fazendo de errado?
Obrigado,
Mijuaho.
Tiago.Argolo
Declarou uma variável estática no construtor dela?! Tem certeza?
Para facilitar, coloca o código por completo. Até mais!
M
Mijuaho
importjava.awt.AWTException;importjava.awt.Robot;importjava.awt.event.*;importjava.io.FileInputStream;importjava.io.IOException;importjava.util.Properties;publicclassbot_cmds{publicstaticintcount=1;publicstaticvoidwalking_function(intworking)throwsAWTException,IOException{if(working==1){Propertiesp=newProperties();p.load(newFileInputStream("bot_configuration.ini"));Robotrobozinho=newRobot();robozinho.delay(3500);try{Thread.sleep(1000);}catch(InterruptedExceptione){}robozinho.keyPress(KeyEvent.VK_S);// Start Walking Actionrobozinho.delay(5000);robozinho.keyRelease(KeyEvent.VK_S);Stringdirection="S";System.out.println("\n - Andando na direcao: "+direction);print_value(1);}if(working==2){Robotrobozinho=newRobot();robozinho.keyPress(KeyEvent.VK_W);// Start Walking Actionrobozinho.delay(5000);robozinho.keyRelease(KeyEvent.VK_W);Stringdirection="W";System.out.println("\n - Andando na direcao: "+direction);print_value(1);}}// End Functionpublicstaticvoidprint_value(intvalor){if(valor==1){if(count==1){walking_function(2);count++;}elseif(count==2){walking_function(1);count--;}}}}// Chave da função}// Não mexer nessa chave!
Mas a saída fica:
"Andando na direção S".
"Andando na direção W".
E aí fica só no:
"Andando na direção W".
OBS: Na classe onde está o main, só tem um código que chama a walking_function(1).
jupysilva
Tu nao postaste o codigo completo amigo, falta o metodo heal_n_attack(1) e como vc esta invocando esta clase e o metodo print_value.
[]s
Tiago.Argolo
De preferência… crie apenas 1 objeto Robot e trabalhe com ele posteriormente no método walking_function. Não sei se é o seu objetivo trabalhar com 2 robôs.Mas, se for, pelo menos mude o nome do segundo.
M
Mijuaho
Ok.
Editei o post.
Para invocar a classe eu estou usando “bot_cmds.walking_function(1);”
E eu vou trabalhar com dois robôs, hehe.
Melhor mudar o nome…
[i]Tu nao postaste o codigo completo amigo, falta o metodo heal_n_attack(1) e como vc esta invocando esta clase e o metodo print_value.
[]s [/i]
Este é o código completo.
No outro arquivo .java, dentro do main tem bot_cmds.walking_function(1);
E só.
O “heal_n_attack(1)” era pra ser “print_value(1)”. Hehe. Nem notei. (fui alterando o código pelo fórum mesmo, corrigindo alguns erros).