Problème de raffraichissement d'écran dans un jeu [Swing] - Java - Programmation
Marsh Posté le 08-01-2003 à 10:15:19
probablement que ton IA prends tout le CPU et bloque dès lors le rafraichissement de l'écran. Ca a l'air d'un problème classique: mauvaise séparation de l'UI et du code business qui est derrière.
Est ce que tu utilises un appel asynchrone pour lancer l'IA?
Marsh Posté le 08-01-2003 à 14:30:55
A priori, ton IA, je la ferais réfléchir dans sa propre thread...
En gros, un truc simplet, hein :
Code :
|
et tu appelles Reflechisseur.reflechit() au bon moment, ça devrait suffire...Ou même, tu peux rendre Runnable ta classe qui gère l'IA, en fait, ce serait plus simple (mais moins propre à mon sens, ce en quoi je me gourre peut être, mais il me semble que l'IA n'a pas à gérer de thread : elle réfléchit, elle s'occupe pas de savoir dans quel environnement d'exécution elle le fait, mais bon.)
Marsh Posté le 08-01-2003 à 14:45:40
c quoi MiniMax
Marsh Posté le 08-01-2003 à 18:58:23
Ouin, c'est vrai que l'ihm et l'ia sont sur le même thread, mais je pensais que le repaint était indépendant et qu'il pourrais faire son boulot si je calmais l'ia.
Mais je vais essayer la solution de gfive, il ne devrais plus avoir de problème pour répartir les cycles de CPU.
Pour --Greg-- Minimax (ou Negamax)
Code :
|
En gros c'est un algo qui permet à ta boite soufflante de jouer contre toi à des jeux deux joueurs. C'est cool quand on a pas de vrais amis, quoi.
Attend, j'ai un algo plus propre que mon code :
Code :
|
Marsh Posté le 08-01-2003 à 19:17:48
Seabee a écrit : |
non euh à part ça j'ai pas compris grand chose mais bon...
c'est un algo spécifique au puissance 4 ou quoi? (j'ai pas vraiment mis les neurones en marche en lisant...)
et sinon c'est mal les noms de méthode qui commencent par une majuscule
Marsh Posté le 07-01-2003 à 21:36:04
Bonjour!
J'ai codé un puissance 4 avec une IA en MiniMax (normal, quoi)
Ca marche bien, le type dans la boite soufflante me fait périr ma race, c'est plutôt cool, mais il me reste juste un problème, et j'ai honte parce que c'est surement tout con, je n'arrive pas à raffraichir l'écran AVANT que l'IA réflechisse.
Je connais pas grand chose aux threads, mais je suppose que c'est la seule voie permettant de laisser du temps au repaint de mon JPanel...
Quelqu'un peut m'aider?
PS:Si le problème a été posté 40 fois ou que je vous faire perdre votre temps, défoulez-vous sur moi, je l'aurais bien mérité... ^___@ Désolé!