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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
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 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
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