begin process at 2012 05 27 22:04:08
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Java2D

 > CASSE BRIQUE EN J2ME

CASSE BRIQUE EN J2ME


 Information sur la source

Note :
Aucune note
Catégorie :Java2D Classé sous :J2ME, jeu, casse, brique, Midlet Niveau :Débutant Date de création :20/02/2008 Vu / téléchargé :14 794 / 1 055

Auteur : codefalse

Ecrire un message privé
Site perso
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

Bonjour à tous :)
Bon voila, pour des besoins scolaires, j'ai du faire un petit jeu en J2ME.
Je me suis amusé comme un fou sur la Poo (je ne dit pas que c'est parfait, j'ai juste fait de mon mieux) et j'ai pensé présenter cette source car quand je l'ai commencé, je n'ai pas trouvé beaucoup de sources en J2ME ici, donc voila :)

Pour information c'est un simple casse brique avec 5 niveaux de difficulté. Vous avez plusieurs couleurs possibles pour des briques et chaque couleur est représentée par une classe.
Vous avez ensuite une classe Brique qui genere une brique en fonction de sa couleur (instance d'une classe couleur de brique) de sa position, de sa résistance et du gain qu'elle apportera au jour qui brise la brique.

J'ai implémenté quelques designs patterns, SingleTon, Factory et Observer (le dernier à ma facon :p)

Je vous laisse découvrir le code, dites moi ce que vous en pensez

Source

  • /**
  • * Voici le code source de la classe Main, la classe de base à l'application
  • */
  • package myCasseBrique.Main;
  • import javax.microedition.lcdui.Command;
  • import javax.microedition.lcdui.CommandListener;
  • import javax.microedition.lcdui.Display;
  • import javax.microedition.lcdui.Displayable;
  • import javax.microedition.lcdui.Form;
  • import javax.microedition.lcdui.StringItem;
  • import javax.microedition.midlet.MIDlet;
  • import javax.microedition.midlet.MIDletStateChangeException;
  • /**
  • * @package myCasseBrique.Main
  • * @name MainCasseBrique extends MIDlet implements CommandListener
  • * @filesource MainCasseBrique.java
  • *
  • * @author Cyril Nicodème
  • *
  • * @license Gnu/Gpl
  • */
  • public class MainCasseBrique extends MIDlet implements CommandListener {
  • /**
  • * @var Display _display
  • * Instance of Display
  • */
  • private Display _display;
  • /**
  • * @var Form _form
  • * Instance of Form
  • */
  • private Form _form;
  • /**
  • * @var StringItem _welcomeStr
  • * Instance of StringItem
  • */
  • private StringItem _welcomeStr;
  • /**
  • * @var Command _exitC
  • * Instance of Command
  • */
  • private Command _exitC;
  • /**
  • * @var Command _startC
  • * Instance of Command
  • */
  • private Command _startC;
  • /**
  • * @var BaseCasseBrique _baseCasseBrique
  • * Instance of BaseCasseBrique
  • */
  • private BaseCasseBrique _baseCasseBrique;
  • /**
  • * @name public MainCasseBrique
  • * Constructor
  • * Set the base game
  • */
  • public MainCasseBrique () {
  • this._display = Display.getDisplay(this);
  • this._form = new Form("Casse Brique");
  • this._welcomeStr = new StringItem ("","Bienvenue dans le jeu du Casse Brique.\nVous pouvez déplacer la barre en cliquant sur les touche 4 et 6.\nBon courage ! :)");
  • this._exitC = new Command("Exit",Command.EXIT,1);
  • this._startC = new Command("Start",Command.OK,2);
  • this._form.append(this._welcomeStr);
  • this._form.addCommand(this._exitC);
  • this._form.addCommand(this._startC);
  • this._form.setCommandListener(this);
  • }
  • /**
  • * @name protected void destroyApp
  • * Destroy (end) the application
  • *
  • * @param boolean arg0
  • *
  • * @return void
  • */
  • protected void destroyApp (boolean arg0) throws MIDletStateChangeException {
  • notifyDestroyed();
  • }
  • /**
  • * protected void pauseApp
  • * Set the game into pause mod
  • *
  • * @return void
  • */
  • protected void pauseApp () {
  • // Nothing to do
  • }
  • /**
  • * protected void startApp
  • * Start the application (set the current Form)
  • *
  • * @return void
  • */
  • protected void startApp () throws MIDletStateChangeException {
  • this._display.setCurrent(this._form);
  • }
  • /**
  • * @name public void commandAction
  • * Set the view (Form or Canvas)
  • * And Manage the Commands pressed (Start, Exit)
  • *
  • * @param Command cmd
  • * @param Displayable curDisplay
  • */
  • public void commandAction (Command cmd, Displayable curDisplay) {
  • if (curDisplay == this._baseCasseBrique) {
  • if (cmd == this._exitC) {
  • this._baseCasseBrique = null;
  • this._display.setCurrent (this._form);
  • }
  • }
  • else {
  • if (cmd == this._startC) {
  • this._baseCasseBrique = new BaseCasseBrique ();
  • this._baseCasseBrique.addCommand(this._exitC);
  • this._baseCasseBrique.setCommandListener(this);
  • this._display.setCurrent(this._baseCasseBrique);
  • this._baseCasseBrique.repaint ();
  • }
  • else if (cmd == this._exitC) {
  • try {
  • this.destroyApp(true);
  • }
  • catch (MIDletStateChangeException mSCE) {
  • System.out.println("Une erreur s'est produite : "+mSCE.getMessage ());
  • }
  • }
  • }
  • }
  • }
/**
 * Voici le code source de la classe Main, la classe de base à l'application
 */

package myCasseBrique.Main;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

/**
 * @package myCasseBrique.Main
 * @name MainCasseBrique extends MIDlet implements CommandListener
 * @filesource MainCasseBrique.java
 * 
 * @author Cyril Nicodème
 * 
 * @license Gnu/Gpl
 */
public class MainCasseBrique extends MIDlet implements CommandListener {
	/**
	 * @var Display _display
	 * Instance of Display
	 */
	private Display _display;
	
	/**
	 * @var Form _form
	 * Instance of Form
	 */
	private Form _form;
	
	/**
	 * @var StringItem _welcomeStr
	 * Instance of StringItem
	 */
	private StringItem _welcomeStr;
	
	/**
	 * @var Command _exitC
	 * Instance of Command
	 */
	private Command _exitC;
	
	/**
	 * @var Command _startC
	 * Instance of Command
	 */
	private Command _startC;
	
	/**
	 * @var BaseCasseBrique _baseCasseBrique
	 * Instance of BaseCasseBrique
	 */
	private BaseCasseBrique _baseCasseBrique;
	
	/**
	 * @name public MainCasseBrique
	 * Constructor
	 * Set the base game
	 */
	public MainCasseBrique () {
		this._display = Display.getDisplay(this);
		this._form = new Form("Casse Brique");
		this._welcomeStr = new StringItem ("","Bienvenue dans le jeu du Casse Brique.\nVous pouvez déplacer la barre en cliquant sur les touche 4 et 6.\nBon courage ! :)");
		
		this._exitC = new Command("Exit",Command.EXIT,1);
		this._startC = new Command("Start",Command.OK,2);
		
		this._form.append(this._welcomeStr);
		
		this._form.addCommand(this._exitC);
		this._form.addCommand(this._startC);
		this._form.setCommandListener(this);
	}

	/**
	 * @name protected void destroyApp
	 * Destroy (end) the application
	 * 
	 * @param boolean arg0
	 * 
	 * @return void
	 */
	protected void destroyApp (boolean arg0) throws MIDletStateChangeException {
		notifyDestroyed();
	}

	/**
	 * protected void pauseApp
	 * Set the game into pause mod
	 * 
	 * @return void
	 */
	protected void pauseApp () {
		// Nothing to do
	}

	/**
	 * protected void startApp
	 * Start the application (set the current Form)
	 * 
	 * @return void
	 */
	protected void startApp () throws MIDletStateChangeException {
		this._display.setCurrent(this._form);
	}

	/**
	 * @name public void commandAction
	 * Set the view (Form or Canvas)
	 * And Manage the Commands pressed (Start, Exit)
	 * 
	 * @param Command cmd
	 * @param Displayable curDisplay
	 */
	public void commandAction (Command cmd, Displayable curDisplay) {
		if (curDisplay == this._baseCasseBrique) {
			if (cmd == this._exitC) {
				this._baseCasseBrique = null;
				this._display.setCurrent (this._form);
			}
		}
		else {
			if (cmd == this._startC) {
				this._baseCasseBrique = new BaseCasseBrique ();
				this._baseCasseBrique.addCommand(this._exitC);
				this._baseCasseBrique.setCommandListener(this);
				this._display.setCurrent(this._baseCasseBrique);
				this._baseCasseBrique.repaint ();
			}
			else if (cmd == this._exitC) {
				try {
					this.destroyApp(true);
				}
				catch (MIDletStateChangeException mSCE) {
					System.out.println("Une erreur s'est produite : "+mSCE.getMessage ());
				}
			}
		}
	}

}

 Conclusion

A ce jour j'ai trouvé un bug, mais je n'arrive pas à le corriger :
Quand vous touchez un angle avec la boulle, elle réagit bizzarement, en dehors de toute normalité.
Je vous laisse tester, vous lancez le jeu, et vous appuyez sur 5 ou sur le bouton ok, vous verrez bien :)

Voici les touches utilisables :
4 ou Gauche : Déplacer la raquette à gauche
6 ou Droite : Déplacer la raquette à droite
5 ou Ok     : Lancer la balle.

J'attends vos remarques/avis/conseils/... :)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip FRAMEWORK MVC par lemout
Source avec Zip Source avec une capture HORLOGE AVEC MINUTEUR par stef8383
Source avec Zip Source avec une capture DÉMINEURXPRÈS par nospeax
Source avec Zip Source avec une capture REPRÉSENTATION GRAPHIQUE DE FONCTIONS ET OBJETS GÉOMÉTRIQUES par Julien39
Source avec Zip EDITEUR DES GRAPHES par pretude

 Sources en rapport avec celle ci

Source avec une capture [J2ME] TROUVER LE PGCD DE DEUX NOMBRES par Zestyr
Source avec Zip Source avec une capture BRICKOID (CASSE BRIQUE) par minimouk
Source avec Zip Source avec une capture JAVANOID CASSE BRIQUE EN JAVA PROGRAMMATION ORIENTÉ OBJET par spontex
Source avec Zip Source avec une capture RÉPLIQUE D'ARKANOID par SaintAkseror
Source avec Zip APPLET CASSE BRIQUE par titd

Commentaires et avis

Commentaire de kingcobra le 06/07/2008 12:34:31

Salut,

Pourrais tu expliquer brievement les outils utilisés pour la création du jeu.
Quel commande génére le jar ?
Et pourrai tu si possible mettre le jar aussi que l'on puisse rapidement tester sur WM6.

Merci.

Commentaire de pol2008 le 25/11/2008 22:37:39

il marche pas

Commentaire de codefalse le 25/11/2008 22:49:40 administrateur CS

Ca c'est du commentaire !
Un peu plus de détails ?

Commentaire de pol2008 le 25/11/2008 23:22:45

j'ai essayer de le compiler sur eclipse j2me et ca marche pas.

Commentaire de codefalse le 26/11/2008 00:10:37 administrateur CS

Mais il te retourne une erreur ?, un message ?, il plante ?

Commentaire de pol2008 le 26/11/2008 00:50:58

voici ce qu'il retourne à la compilation:
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.sun.midp.main.Configuration.getProperty0(Ljava/lang/String;)Ljava/lang/String;
at com.sun.midp.main.Configuration.getProperty0(Native Method)
at com.sun.midp.main.Configuration.getProperty(Configuration.java:32)
at com.sun.midp.lcdui.Resource.<clinit>(Resource.java:30)
at com.sun.midp.main.Main.initSystemLabels(Main.java:694)
at com.sun.midp.main.Main.main(Main.java:104)

Commentaire de kolch le 05/01/2010 18:03:26

Good job ....jolie application

Commentaire de bouaoudaana le 21/05/2011 14:10:36

ça marche pa il me retourne ce messege quand je lance Toolkit:
com.sun.kvem.midletsuite.InvalidJadException: Reason = 22
The manifest or the application descriptor MUST contain the attribute: MIDlet-1

Merci de me repondre

Commentaire de lolita24 le 31/05/2011 23:54:07

bon travail ça marche normal ché moi sur la plate forme JavaME SDK et je peux jouer aussi merci bien pour ce magnifique travail je vous encourage bien à continuer dans ce domaine

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Detection colision jeu casse brique [ par meudeuk ] Lu',je suis en train de faire un casse brique en java, mais je galere un peut sur la detection des colisions entre la balle et les briques.Je me demen j2me MIDlet .jar [ par 1985_bisengar ] Bonjour tout le monde, j'ai deux .jar un pour le jeu(MIDlet) et l'autre pour un message(MIDlet) comment je vais lier les 2 . jar pour que le message J2ME [ par patlebigboss ] Bonjour.S'ilvous plaît es-ce que quelqu'un aurait-il déjà codé le jeu appelé mancala en j2me?C'est exactement comme le bantoumi dans les téléphones no J2ME [ par Canard73 ] Bonjour a tous,Je oudrai savoir comment optimiser en terme de place une aplication J2ME.J'ai developper avec des amis un jeu en java dans le cadre d'u casse brique en java [ par boblinux ] Bonjour,Pour commencer, je tiend a dire que je suis debuter en java. J'en fait pour mon plaisir chez moi. Donc voilà, j'essaye de faire un casse briqu classe Random et j2me [ par tlehoucq ] Bonjour,&nbsp;&nbsp; Je suis en train de d&#233;velopper un jeu en j2me et je n'arriv pas &#224; g&#233;n&#233;rer un nombre al&#233;atoire. Je ne peu couper le son d'un jeu J2me + faire une pause [ par lcrapoulet ] Bonjour, Je travaille sur un jeu pr portable en j2me sur eclipse : 1) Je souhaiterai creer un bouton qui coupe le son de mon jeu. j'utilise la method j2me [ par ing46 ] slt, J'ai une midlet qui vien de connecte à une servlet ,j'ai bien precise le chemin ver la servlet ,... Dans la midlet:FirstMidletetServlet String Un jeu en java pour telephone mobile [ par Format C ] J'ai une idee de creer un jeu en java pour telephone mobile en utilisant j2me.Pour le debut, je je vais d'utiliser une emulator.&nbsp;Y at-il quelqu'u midlet j2me ou est passé java.lang.Math.log [ par misterzinzin ] bonjour, je vien de commencer la programmation de midlet (java pour mobile) et je ne trouva pas la fonction permettant de calculer des logarithme dans


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales