Interface graphique

Fermé
Xenthys
Messages postés
31
Date d'inscription
dimanche 30 décembre 2012
Statut
Membre
Dernière intervention
2 mars 2013
- 30 déc. 2012 à 14:11
KX
Messages postés
16567
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
4 juillet 2022
- 24 févr. 2013 à 11:31
Bonjour,

Je dois, dans le cadre d'un projet, créer un jeu avec interface graphique sur Java. Je suis un peu embarrassé de venir vous demander de l'aide parce que je ne sais même pas comment commencer. J'ai besoin d'un peu d'aide pour saisir les principes de base que je n'arrive pas à maîtriser.

Mon but est de créer une application (je pense que c'est le mot car applet désigne, si j'ai bien compris, une application qui marche avec Internet et la mienne doit marcher sans connexion) qui permet à deux joueurs de jouer aux cartes.

Le but du jeu consiste à essayer de s'emparer de 9 cartes blanches au centre du jeu en posant tour à tour une carte pour essayer de former des combinaisons de 3 cartes (tirées de 6 familles de couleur qui possèdent des cartes de 1 à 9) qui forment des suites comme au poker. La meilleure combinaison l'emporte et le joueur gagne la carte qui est au centre. Lorsqu'il n'y a plus de cartes, le joueur qui a le plus de cartes blanches gagne. Voilà pour le principe du jeu.

Quant à moi, j'essaye de faire tous les "réglages" du début, c'est-à-dire que j'ai importé tous les java.awt.* et les java.awt.event.*. J'ai pour but de créer une classe cartes et mon objectif était de créer des boutons pour chaque carte (chaque joueur possède 6 cartes en main et il y a une pioche de 42 cartes) disposés dans la fenêtre. Je pense qu'il faut que j'utilise JFrame mais je ne comprends pas comment l'introduire. Dois-je faire une méthode Main et une classe pour le corps principal? Comment est-ce que j'introduis tous les événements (que dois-je implémenter et extend?). Excusez-moi, mais je suis vraiment mauvais à ça. Je ne veux que l'aide nécessaire du début pour me lancer.

Merci d'avance


3 réponses

Xenthys
Messages postés
31
Date d'inscription
dimanche 30 décembre 2012
Statut
Membre
Dernière intervention
2 mars 2013
1
30 déc. 2012 à 15:21
Le début de mon code:

import java.awt.*;
import java.awt.event.*;


public class Test2 extends Frame implements ActionListener{

J'ai ensuite créé 22 attributs boutons (6 pour joueur 1, 6 pour joueur 2, 9 cartes au milieu et une carte pour la pioche). Je les ai déclarés en tant qu'attributs puis je les ai ajoutés au conteneur Frame et je voulais ensuite répartir les boutons de sorte qu'il y ait les 6 boutons du joueur 2 en haut, les 6 boutons du joueur 1 en bas, les 9 boutons entre les deux et la pioche à droite mais je ne comprends pas comment faire. Sur Internet, j'ai trouvé setBounds ... Je veux aussi pouvoir mettre une image (l'image de la carte qui correspond) sur les boutons.
0
KX
Messages postés
16567
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
4 juillet 2022
2 967
23 févr. 2013 à 07:37
Je ne suis pas convaincu que tes boutons soient la meilleure manière de procéder pour représenter des cartes. Il vaudrait mieux faire une petite classe qui étends Component et gérer directement l'affichage avec paint (exemple : ici), ainsi que les évènements souris (clic, drag and drop...) pour interagir avec la carte.

Il faudrait voir ton code (tu peux éventuellement mettre un zip sur www.cijoint.com), afin de ne pas repartir de zéro, mais t'aider avec ce que tu as déjà fait.
0
choubaka
Messages postés
39038
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
4 juillet 2022
2 084
24 févr. 2013 à 11:23
Bonjour

De plus, message en double sur le forum

https://forums.commentcamarche.net/forum/affich-27201847-jeu-de-cartes-besoin-de-conseils

Cordialement
0
KX
Messages postés
16567
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
4 juillet 2022
2 967
24 févr. 2013 à 11:31
Effectivement, j'ai du me tromper en répondant sur cette discussion alors que c'est l'autre que j'avais vu et à laquelle je pensais répondre...
0