évènement clavier en java
velocity
Messages postés
204
Date d'inscription
Statut
Membre
Dernière intervention
-
velocity Messages postés 204 Date d'inscription Statut Membre Dernière intervention -
velocity Messages postés 204 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
je programme un jeu Tetris en java et je doit creer un joueur virtuel qui va controler le jeu (deplacement et rotation des pièces ) mais le pb c'est que je ne sais pas comment faire pour que le joueur artificiel ( l'ordinateur ) cree les évènement clavier et les passe à la classe Listener pour les gérer.
merci d'avance.
je programme un jeu Tetris en java et je doit creer un joueur virtuel qui va controler le jeu (deplacement et rotation des pièces ) mais le pb c'est que je ne sais pas comment faire pour que le joueur artificiel ( l'ordinateur ) cree les évènement clavier et les passe à la classe Listener pour les gérer.
merci d'avance.
A voir également:
- évènement clavier en java
- Télécharger clavier arabe - Télécharger - Divers Web & Internet
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Comment taper / sur clavier - Guide
- Changer clavier qwerty en azerty - Guide
6 réponses
salut
l'architecture de ton jeu semble incorrecte.
en effet, tu doit effectuer un découpage de type MVC qui découple les évenements et les exécutions sur ton jeu. De cette manière, ton listener ne fera qu'appeler ton "moteur de jeu" et tu pourras agir sur ce dernier avec ton moteur d'IA.
l'architecture de ton jeu semble incorrecte.
en effet, tu doit effectuer un découpage de type MVC qui découple les évenements et les exécutions sur ton jeu. De cette manière, ton listener ne fera qu'appeler ton "moteur de jeu" et tu pourras agir sur ce dernier avec ton moteur d'IA.
bonjour progjv et merci pour votre intervention mais j'avoue que j'ai pas bien compris ce que vous voulez dire .
je ne connait pas le découpage de type MVC donc si vous voulez m'expliquer un peut plus ?
J'ai trouvé qlq chose en cherchant dans google c'est la classe java.util.Robot qui apparamment permet de simuler les appuie sur le clavier, je ne sais pas trop si ca va m'aider car je la connait pas .
je ne connait pas le découpage de type MVC donc si vous voulez m'expliquer un peut plus ?
J'ai trouvé qlq chose en cherchant dans google c'est la classe java.util.Robot qui apparamment permet de simuler les appuie sur le clavier, je ne sais pas trop si ca va m'aider car je la connait pas .
en gros, pourquoi essayer de faire passer l'IA par l'interface graphique alors qu'il se trouve dans le code Java ? normalement l'enchainement devrait etre :
un Clic IHM -> arrive sur le Listener -> qui fait agit sur le moteur du jeu pour bouger les pieces etc
Je pense que l'IA doit intervenir de cette maniere :
IA -> agit directement sur le moteur du jeu
et non
IA -> simule un Clic IHM -> arrive sur le Listener -> qui fait agit sur le moteur du jeu pour bouger les pieces etc
ce serait plutot ma manière de penser et de coder cela
a+
un Clic IHM -> arrive sur le Listener -> qui fait agit sur le moteur du jeu pour bouger les pieces etc
Je pense que l'IA doit intervenir de cette maniere :
IA -> agit directement sur le moteur du jeu
et non
IA -> simule un Clic IHM -> arrive sur le Listener -> qui fait agit sur le moteur du jeu pour bouger les pieces etc
ce serait plutot ma manière de penser et de coder cela
a+
ah ok je comprend mnt c'est vrai , ca doit etre direct vous commencer à beaucoup m'aider j'espère que vous restiez connecté .
en faite voilà, j'ai la classe jeu qui contient la grille qui elle contient une pièce en jeu (celle qui est controlé par le clavier ) et un tableau represantant les informations internes du jeu (les bocks qu'elle contient) .
Alors le jeu implémente la classe KeyListener et fait le traitement nécessaire en passant par la grille
il y aura
if (e.getKeyCode == VK_RIGHT)
grille.pièceEnJeu.deplacer_droite();
pour le joueur artificiel j'ai créer une classe joueurArtificiel qui hérite d'une classe joueur.,
la classe joueur contient seulement les controles du jeu comme attribue et pas de methode spéciales.
la classe joueurArtificiel sur laquelle je travaille mnt, contient en plus les méthode pour simuler un joueur humain et choisir la meilleur position pour la pièce en jeu.
à la création du jeu je spécifie le joueur correspandant (car elle permet le jeu multiple)
j'aurai donc
Player p = new Player(); //ou new Player(int left,int right, int rotate)
Jeu jeu = new Jeu(p);
comme ca le jeu répendra seulement au appui clavier du joueur spécifié en argument .
c'est pour ca que je veut faire ca en simlant les appuis du clavier pour le joueur artificiel.
en faite voilà, j'ai la classe jeu qui contient la grille qui elle contient une pièce en jeu (celle qui est controlé par le clavier ) et un tableau represantant les informations internes du jeu (les bocks qu'elle contient) .
Alors le jeu implémente la classe KeyListener et fait le traitement nécessaire en passant par la grille
il y aura
if (e.getKeyCode == VK_RIGHT)
grille.pièceEnJeu.deplacer_droite();
pour le joueur artificiel j'ai créer une classe joueurArtificiel qui hérite d'une classe joueur.,
la classe joueur contient seulement les controles du jeu comme attribue et pas de methode spéciales.
la classe joueurArtificiel sur laquelle je travaille mnt, contient en plus les méthode pour simuler un joueur humain et choisir la meilleur position pour la pièce en jeu.
à la création du jeu je spécifie le joueur correspandant (car elle permet le jeu multiple)
j'aurai donc
Player p = new Player(); //ou new Player(int left,int right, int rotate)
Jeu jeu = new Jeu(p);
comme ca le jeu répendra seulement au appui clavier du joueur spécifié en argument .
c'est pour ca que je veut faire ca en simlant les appuis du clavier pour le joueur artificiel.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour,
je ne saisis pas bien le modele de données, désolé :p, mais comment va "jouer" le joueur artificiel, la est la question. Plutot que simuler reellement un joueur, qui s avere au final inutile, autant faire une classe qui utilisera directement l'objet "grille". Ce sera plus rapide, aussi bien modélisé, et beaucoup plus simple et clair.
a vous de voir.
je ne saisis pas bien le modele de données, désolé :p, mais comment va "jouer" le joueur artificiel, la est la question. Plutot que simuler reellement un joueur, qui s avere au final inutile, autant faire une classe qui utilisera directement l'objet "grille". Ce sera plus rapide, aussi bien modélisé, et beaucoup plus simple et clair.
a vous de voir.