Com relação àquela entrada que o Felipe postou, temos que fazer a bolinha receber a posição da parede. Em sala, o professor disse que era também para redesenhar a bolinha ao invés de só movê-la. Mas isso deixou o EP extremamente lento, mesmo que eu só redesenhe a bolinha quando ela estiver na parede ou na saída. Mesmo sem time.sleep o Ep demora horas pra terminar de rodar dependendo das entradas... Não tem problema isso, na hora da correção do EP? Eu não agüentaria esperar tanto se fosse monitora... XD
In reply to Ana Claudia Mancusi Valeije
Re: Redesenhando a bolinha
Ana,
apesar de não ter resolvido o problema no meu ep ainda para as bolinhas não atravessarem as paredes, ja implementei redesenhar a bolinha e não ficou tão mais lento assim, na verdade ainda não sei porque minhas bolinhas as vezes atravessam as paredes se alguem puder me ajudar agradeceria.
apesar de não ter resolvido o problema no meu ep ainda para as bolinhas não atravessarem as paredes, ja implementei redesenhar a bolinha e não ficou tão mais lento assim, na verdade ainda não sei porque minhas bolinhas as vezes atravessam as paredes se alguem puder me ajudar agradeceria.
In reply to Ana Carolina Bottura de Barros
Re: Redesenhando a bolinha
o meu EP também (ainda) está com uma certa probabilidade de tunelamento. É uma pena que efeitos quânticos devam ser desprezados no nosso EP.
In reply to Ana Carolina Bottura de Barros
Re: Redesenhando a bolinha
Uma dica que usei para "depurar meu EP".
No laço que calcula a próxima posição mandei que o computador fizesse o seguinte:
1) Imprimisse informação sobre cada passo, como posição da bolinha e tempo que levou desde a última alteração.
2) Fiz o programa abortar na hora que ele visse que a bolinha saiu da sala. Para fazer isso basta você importar o módulo "sys" e chamarem o função "sys.exit(1)".
Descobri o erro observando a posição da bolinha antes do problema e vendo que o próximo intervalo de tempo era ridicularmente pequeno.
Outra boa dica é vocês se preocuparem primeiro em ter o EP funcionando para velocidades razoáveis (até no máximo 5m/s, por exemplo, ou um pouco menos). Depois de ter certeza que está tudo OK aí (e já garantir que tem algo bom para entregar), passe a analisar velocidades altas.
No laço que calcula a próxima posição mandei que o computador fizesse o seguinte:
1) Imprimisse informação sobre cada passo, como posição da bolinha e tempo que levou desde a última alteração.
2) Fiz o programa abortar na hora que ele visse que a bolinha saiu da sala. Para fazer isso basta você importar o módulo "sys" e chamarem o função "sys.exit(1)".
Descobri o erro observando a posição da bolinha antes do problema e vendo que o próximo intervalo de tempo era ridicularmente pequeno.
Outra boa dica é vocês se preocuparem primeiro em ter o EP funcionando para velocidades razoáveis (até no máximo 5m/s, por exemplo, ou um pouco menos). Depois de ter certeza que está tudo OK aí (e já garantir que tem algo bom para entregar), passe a analisar velocidades altas.
posso ter certeza então que o problema que você mencionou (de ter de redesenhara bolinha) só acontece para velocidades acima de 5 m/s né? Ou seja, não é esse o meu problema...
Sim,
Estava citando o caso de problemas com velocidades altas.
De qualquer forma a dica de fazer o seu programa escrever informações até acontecer o erro (que no meu caso era a bola sair da sala) e então parar é uma boa estratégia. É claro que para que isso possa ser usado é preciso que você consiga verificar no programa se o erro aconteceu ou não (que no caso citado é fácil).
Estava citando o caso de problemas com velocidades altas.
De qualquer forma a dica de fazer o seu programa escrever informações até acontecer o erro (que no meu caso era a bola sair da sala) e então parar é uma boa estratégia. É claro que para que isso possa ser usado é preciso que você consiga verificar no programa se o erro aconteceu ou não (que no caso citado é fácil).
Note que eu apenas disse para redesenhar a bolinha em caso de choque com uma parede e não em movimentos ordinários no interior da sala, nesse caso usem "move" mesmo.
Sobre a lentidão, não há o que fazer. Aceitem isso. O programa só deve ficar muito lento para velocidades altas e monitor saberá disso.
Sobre a lentidão, não há o que fazer. Aceitem isso. O programa só deve ficar muito lento para velocidades altas e monitor saberá disso.