Jeux ahm balls

0/5 (4 avis)

Vue 4 195 fois - Téléchargée 482 fois

Description

Etant un petit module d application, la production de ce jeu consiste à créer une interface graphique, à travers laquelle l utilisateur va interagir. Cette interface devrait être le plus simple et intuitive possible à manipuler de manière à ne pas requérir aucun apprentissage spécifique. Elle implémente une application pour la simulation des objets (formes géométriques) synchronisés.

L application sera développée à des fonctionnalités limitées, mais améliorable, si nécessaire dans second temps. Pour cela, sa maintenabilité et sa mise à jour devront être prises en considération lors de la phase de la conception. Elle est portée, bien évidemment, sur ces principaux amortissements :
- Choisir le nombre des bulles.
- Déplacer canon.
- Incrémenter score.
- Décrémenter vie.
Ce travail est basée sur le model MVC

Source / Exemple :


/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
  • /
//Fenetre.java package Vue; import Model.*; import Controller.*; import Vue.VueFen; import javax.swing.*; import java.awt.*; /** *
  • @author marroko
  • /
import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class Fenetre extends JFrame{ EspaceJeu c1; public PanelInitial panInitial; int nembrBull=1; public static Container c ; private void initialiserFen() { setDefaultCloseOperation(EXIT_ON_CLOSE); c = getContentPane(); panInitial = new PanelInitial(); VueFen fen= new VueFen(panInitial,c); } void choisirNombreBull(Object selectedValue, Object[] possibleValues){ for(int i=0;i<possibleValues.length;i++){ if (possibleValues[i].toString().equals(selectedValue)) nembrBull=i+1; } } protected void menuQuitter(ActionEvent evt){ //On quitte l'application System.exit(0); } public Fenetre(){ JMenuBar jm=new JMenuBar(); JMenu fich=new JMenu("fichier"); JMenuItem nbrBull = new JMenuItem("Nombre de bulles"); JMenuItem quit = new JMenuItem("Quitter jeu"); fich.add(nbrBull); fich.add(quit); setPreferredSize(new Dimension(500, 400)); jm.add(fich); this.initialiserFen(); quit.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt){ menuQuitter(evt); } }); nbrBull.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt){ Object[] possibleValues = { "1", "2", "3" }; Object selectedValue = JOptionPane.showInputDialog(null, "Choisissez le nombre de bulles souhaitant jouer avec", "Input",JOptionPane.INFORMATION_MESSAGE, null,possibleValues, possibleValues[0]); choisirNombreBull(selectedValue,possibleValues); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); c = getContentPane(); Model media=new Model(Color.ORANGE,Color.BLUE,nembrBull); c1= new EspaceJeu(media); c1.setBounds(0, 0, 500, 400); VueFen fen= new VueFen(c1,c); setVisible(true); } }); this.setJMenuBar(jm); System.out.println("ooo"+nembrBull); setBounds(0, 0, 500, 400); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } }

Conclusion :


l imagination enfantine est un monde très comblé des pensées et des aperçus, la chose qui provoque le besoin de créer un nouveau jeu afin de satisfaire ce caprice chez certaines catégories des petits gamins.
Ce travail est réalisé par moi même Amira Abdellatif et mes collègues Hamida Bilkhiria Et Mouhemed Alie Bin Fraj.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
345
Oui, c'est vrai que dans ce cas, c'est un peu complexe à mettre en oeuvre, et de plus Swing nous propose déjà un pseudo MVC avec les listeners (si ceux ci sont utilisés correctement) ce qui introduit encore plus de confusion.

La décomposition est déjà satisfaisante, mais tes objets controller sont en fait des objets métier qu'il aurait fallu séparer des listeners. Mais bon, ok pourquoi pas.

Sinon pour les tests, normalement tu n'as pas besoin de créer des tests unitaires pour l'ihm sur laquelle tu ne réalises que des tests fonctionnels normalement. Dans ton cas, les tests unitaires que tu réalisent demandent une intervention manuelle, ce n'est pas exactement la vocation de ces tests.
Salut admin :)
oui en effet j'ai eu de difficulté pour le model MVC concernant ce jeux car je trouve que mes modèles sont fortement liées aux contrôleurs. et c'est la première fois que j'applique ce pattern.
merci bien pour vos commentaires :)
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
345
Mais bon, le tout est fonctionnel tout de même et c'est assez clair, compréhensible et plutôt bien conçu dans l'ensemble.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
345
Salut,

Au sujet du design pattern MVC, je pense qu'il te reste pas mal de travail a faire, tu n'y es pas vraiment pour l'instant.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.