JAVANOID CASSE BRIQUE EN JAVA PROGRAMMATION ORIENTÉ OBJET

cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 - 22 juin 2003 à 15:22
ChemicalWoRmS Messages postés 14 Date d'inscription dimanche 22 octobre 2006 Statut Membre Dernière intervention 11 novembre 2006 - 4 nov. 2006 à 14:12
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/15640-javanoid-casse-brique-en-java-programmation-oriente-objet

ChemicalWoRmS Messages postés 14 Date d'inscription dimanche 22 octobre 2006 Statut Membre Dernière intervention 11 novembre 2006
4 nov. 2006 à 14:12
alors tu es venu poster deux messages pour dire que tu te fichais de ce code xD lol
cs_Umbre Messages postés 105 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 17 août 2006
15 août 2006 à 15:33
Je pense avoir compris que c'était juste une histoire d'initialisation...

Par contre quelques petits trucs qui pouraient être amélioré :
- Quand il y a trop de lasers et qu'on bouge la barre, des lasers disparaissent.
- La vitesse des balles est réglée sur la hauteur. Résultat, les balles vont plus vitent suivant l'angle direction qu'elle prenne si il est plus proche de l'horizontal que de la verticale.
- La barre est attachée à la souris par son bord gauche et non par le centre comme d'habitude même si ce n'est pas trop génant.
- La balle sur la barre au lancement du jeu n'est pas au millieu. Son bord gauche est au millieu.
- Un bug apparait parfois quand la balle touche le mur et la barre en même temps.

Mis par ça, le travaille est assez pousser et il y pas mal de chose plutôt bien gérée comme les directions de la balle suivant le lieu de rebont sur la barre (qui pourrait être un peu plus poussé mais c'est du chipotage).

Bravo et bonne continuation.

Par contre, je ne m'inspirerais pas ce code pour deux raisons : La première, c'est que tout mettre en blouque rend le tout peu lisible, j'ai bien passer un peu de temps a séparer mais c'est la facon d'agencer les classe qui me perturbe ;). La seconde c'est que comme l'a remarquée Dragon, c'est plus simple d'utiliser des Thread (ce qui aurait au passage retirer le probleme sur les lasers) surtout pour ce que je veux faire qui ressemble à un mix entre galaxian et un casse brique (comprendre en gros qu'il y a des briques mobiles, des briques qu'on peut déplacer à coup de balle etc...)

Seulement je me demande si les Tread ne ralentirait pas un peu le jeu parce qu'il y en aurait beaucoup parfois pas loin d'une vaingtaine je pense : la barre, quelque tires, quelque briques mobiles, la ou les balles, les diférentes armes qu'on peu rajouter à la balles (explosion, tire de laser dans toutes les direction etc...)

@+
cs_Umbre Messages postés 105 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 17 août 2006
15 août 2006 à 14:01
Bonjour. Je suis en train d'analyser le code parce que je tente de développer un jeu en Java qui repose beaucoup sur le principe du casse brique.

Si j'ai bien compris, la liste de laser de la classe ListeLaser, tu la traites avec des listes chainées. Ce que je ne comprends pas c'est que ta void ajoutEnTête ajoute deux chainons à chaque fois. Ca n'aurait pas était plus simple de faire des chainons à 2 variables et un "pointeur" ? De plus, quand tu fais un ajoutEnQueue avec ta void, soit il en ajoute 2 (il fait un ajoutEnTete si la liste est vide), soit il en ajoute 1 si la liste est non vide.

Je n'ai pas encore tout regardé loin de là mais ça me semble un peu étrange comme procédé...

Si je vois d'autre chose bizarre que je ne comprends pas ou si je comprend justement je reposterai. @+
cs_muad-dib Messages postés 103 Date d'inscription lundi 9 avril 2001 Statut Membre Dernière intervention 16 juillet 2008
11 févr. 2006 à 17:28
le zip est vide
cs_reveur02 Messages postés 5 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 9 juillet 2009
29 mai 2005 à 12:12
Bonjour a tous je confirme que le fichier ZIp en endomagé dommage merci si quelqu'un peu me dire ou je peux telecharger le code source

bonne prg a tous
poiriermaud Messages postés 2 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 27 février 2005
27 févr. 2005 à 13:39
Donc cet applet on doit le mettre dans quoi ?
Je n'est jamais compris les applets java, vous pouvez m'expliquer ou me donner un lien svp !
cs_spontex Messages postés 10 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 5 mai 2005
27 févr. 2005 à 13:29
ben c pas un script c une applet java qu il faut appeler a partir d une page html
poiriermaud Messages postés 2 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 27 février 2005
27 févr. 2005 à 13:19
bonjour
Je ne comprends pas oû mettre le script ci dessus ??
Qui peut m'expliquer ! svp !
cs_omega2 Messages postés 28 Date d'inscription lundi 18 août 2003 Statut Membre Dernière intervention 15 novembre 2004
23 août 2003 à 00:43
Quand je regardes le source en haut de la page, je voit que tout est écrit dans le même fichier et qu'il y a plusieurs classes :
conclusion, on peut mettre plusieurs classes dans le même fichier .java même si normalement il faudrait pas faire comme ça.

Par contre a la compilation, on obtient bien un fichier .class par classe. ;)
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
22 août 2003 à 00:36
il y a qu'une class par fichier .java
par contre, beaucoup implement ou extend d'autre class

sous jbuilder avec un ordi moyen (500 mhz) je voie pas le problème de vitesse. des petit lag au début pusique les images sont pas à 100% en mémoire, malgré le loading que j'ai fait pour éviter le problème, masik à par ça aucun problème de vitesse

le jeux pourrasi être de beaucoup plus rapide, masi rendu au niveau 15 ou 20, il y a trop d'astéroide et de personnage qui bouge en même temps, donc falais faire un compromis pour pas que ça ralentisse.

par contre, s'il manque de ram, c'est sur que ça va se mettre à laguer, pusiqu'il y a beaucoup de chose en mémoire
cs_omega2 Messages postés 28 Date d'inscription lundi 18 août 2003 Statut Membre Dernière intervention 15 novembre 2004
21 août 2003 à 22:21
"java.lang.NoClassDefFoundError: Javanoid (wrong name: Javanoid/Javanoid)"
J'ai obtenu ça après la première compilation dans Netbeans.
En fait, il falait pas laisser de "package Javanoid;" (rajouté automatiquement par netbeans quand on modifie le nom du dossier dans lequel le source ce trouve.)

Pour le fichier html, il faut mettre
<html>


</html>

un height de 600 est trop petit, alors j'ai pas regardé combien il faudrait exactement comme hauteur. Pour la largeur, 800 permet de tout avoir d'affiché (mais on doit pouvoir réduire).
Pour la vitesse, c'est vrai que c'est pas un monstre de rapidité, mais pour un projet scolaire, je le trouve bien réalisé. (il plante pas et fonctionne bien)
Je m'y conais pas assez en java pour critiquer le code. Par contre, il me semblais que normalement, il faut mettre qu'une seule classe par fichier .java, du coup, a partir d'un seul fichier source, on optient une quirielle de fichier .class . Une organisation avec une classe par fichier source rendrait surement le code plus digeste.
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
14 août 2003 à 13:26
non, je l'ai essayer, c'est juste que beaucoup de projet que j'ai fais c'est pour les cours que j'ai suivi, donc comme tu là dis, beaucoup de monde veuleent pas l'essayer, donc j'y peut rien si les prof veulenet avoir seulement en jbuilder ou blueJ (ce qui est 100 fois pire)

par contre, la version 9 de jbuilder est très suppérieur pour les entreprise à comparer eclipse, les 2 compilateur on leur avantage et leur inconvénient
pidjipi Messages postés 1 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 14 août 2003
14 août 2003 à 10:43
dragon: je pense que tu devrait essayer Eclipse (3.0RC2), il est un peu spécial à prendre en main aprés JBuild, mais on ne s'en passe plus. surtou q'uil est libre, avec beaucoup de plugins (même un pour faire du design de forms)
je te conseille de l'essayer au moins, mais ne te rebutes pas d'entrée, comme beaucoup :p
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
31 juil. 2003 à 20:46
c'est ça
cs_spontex Messages postés 10 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 5 mai 2005
31 juil. 2003 à 20:26
faut que tu compile la source avec java, la commande c javac +nom du fichier.
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
31 juil. 2003 à 13:15
pour mettre du java dans une applet, il doit être compilé dans un .class

mais me souviens pus de la commande dos pour le faire, vu que j'utilise toujours jbuilder qui le fait automatiquement
cs_coucounet Messages postés 83 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 16 février 2005
31 juil. 2003 à 11:32
coucouuuuuuuuu
c encore moi, celui qui ne comprend rien !!! lol
Je viens juste de faire un petit fichier html pour lancer cet applet, MALHEUREUSEMENT j'ai du oublier d'initialiser une variable car l'applet ne se lance pas; enfin elle se lance mais il y a une croix rouge pour bien te faire comprendre que tu es nul !!! lol
Sinon je l'ai aussi lancée avec Textpad, et la il me dit :
load: class Javanoid.class not found.
J'ai aussi NetBeans, que je commence a utiliser depuis une semaine, mais je ne sais pas encore lancer les applets avec NetBeans.

Bon voila, si vous pouviez me dire ce qu'il ne va pas, ou bien regler le probleme du fichier zip qui est corrompu, ou m'envoyer le fichier zip directement par mail que je comprenne en lisant ce code ce qui ne va pas chez moi ...!!

Merci

coucounet
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
30 juil. 2003 à 23:51
c'est un fais, j'ai même pas vérifier si c'était un jframe ou un japplet lol
cs_coucounet Messages postés 83 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 16 février 2005
30 juil. 2003 à 22:54
desole je n'avais pas telechargé le fichier zip car il etait endomagé (il l'est toujours pour info au webmaster). J'ai donc betement copier la source !!!!
En tout cas merci, je vais me creer une petite page web, pour y integrer cet applet. NORMALEMENT ca devrait bon, mais la derniere fois que j'ai dit ca je n'y suis pas arrivé !!! lol

A plus

coucounet
cs_spontex Messages postés 10 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 5 mai 2005
30 juil. 2003 à 21:05
a mon avis y a une chtite confusion, dans mon prog y a pas de main, c une applet java! ( les applets ne fonctionne pas comme les programme classique faut editer une page html comme donner en fichier joins avec mon prog) en gros le main c le tread + le paint.
cs_coucounet Messages postés 83 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 16 février 2005
30 juil. 2003 à 13:21
Et bien non !!! ca ne marche pas !! Il n'y pas d'erreur mais le programme ne se lance pas. Y'aurait-il d'autres choses a ecrire.

Je te file ma main, que j'ai ecrit dans un autre fichier, et qui se trouve dans le package Internet.Javanoid.

package Internet.Javanoid;
public class launch {
public static void main (String [] args) {
try {
Javanoid prenoid = new Javanoid();
}
catch (Exception e) { }
}
}

voila merci. A plus

coucounet
cs_coucounet Messages postés 83 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 16 février 2005
30 juil. 2003 à 10:01
Merci bcp pour ton aide, je devrais me debrouiller maintenant ...

coucounet
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
30 juil. 2003 à 03:39
faut que tu crée u main qui fait "new Javanoid();"
cs_coucounet Messages postés 83 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 16 février 2005
29 juil. 2003 à 17:47
Salut,

Au risque de paraitre ridicule, elle est ou la main?
Meme si je suis ridicule, je veux bien une reponse, car sinon je ne voit pas comment lancer l'appli

Merci

coucounet
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
10 juil. 2003 à 13:08
ok, mais moi et Winnie, on programme à notre vitesse, puisqu'il faut profiter de l'été quoi et vu que notre projet, on veut faire un akanoid le plus avancer possible avec un multijoueur, du son, des effect spéciaux, des niveaux, .... ça risque d'être quand même pas mal long à 2
cs_spontex Messages postés 10 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 5 mai 2005
10 juil. 2003 à 10:34
previens vois pour que je test les premieres beta ;)
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
9 juil. 2003 à 13:10
ah ok, j'ai du faire une erreur en regardant les sources lol
c'est pas grave, on est déjà 2 et le projet avance très bien, un petit bug sur les mathématique de la ball quand je fais un rebond, pour l'instant, masi ça avance bien
cs_spontex Messages postés 10 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 5 mai 2005
9 juil. 2003 à 11:01
Désolé de pas avoir repondu avant, mais j etais tres occupé.
je suis pas le spontex que tu crois a mon avis. c est la premiere source que j inscrit ici.
sinon je te souhaite bonne chance pour ton projet.
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
26 juin 2003 à 01:36
pour ceux qui veulent me joindre dans la programmation d'un jeux d'akanoid, le plus avancer possible avec arme, multijoueur (jusqu'à 4), son et effect spéciaux

fait sous jbuilder8 ou 9

aller voir dans le labo

http://www.javafr.com/projetcommun.aspx?ID=463
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
23 juin 2003 à 02:33
de rien. Ce que j'ai dit, c,est une autre façon de le faire. Je crois de la façon que j'ai dit, ça sera plus facile à faire des niveau de difficulté et des niveau avec les barres placer différament.

par contre, tu implément quand même un runnable et ma façon est un peu semblable, sauf avec beaucoup plus de runnable. Plus il y a de runnable, plus l'action peut-être géré rapidement, mais plus dur est la programmation (tant qu'on dépace pas la limite de nombre de processus du cpu)

ton niveau de XML est -1 ??? pourtant tu as poster plusieurs sources qui crée des fichier XML, donc je crois que c,est plus 2 que -1 ;-), puisque peut de monde utilise les fichier XML en java encore.

Je devrais downloader JBulder9 pour le faire (puisque j'adore utiliser les dernière technologie et vu que JBulder9 utilise la technologie .Net, ça pourrasi faire dequoi d'intéressant à plusieurs niveau.

donc va démarrer le téléchargement et vite une journée de pluie (ben qu'une journée ensoleiller je fais du bateau) Petit dilemme, bateau ou programation lol. En tout cas, va tenir au courant si je le commence, on pourrait peut-être le faire à 2 ... si ça te tente. Puisque tu es au courant des calcul mathématique et quand même de la structure et moi, ça fait un peu plus longtemps que je programme en java (en tout cas je crois)
cs_spontex Messages postés 10 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 5 mai 2005
22 juin 2003 à 16:47
Je te remercie de cette critique constructive, et que tu es pris le temp de jeter un coup d oeil a mes sources.
Cependant ce programme est de niveau 1, comme mon niveau en java d ailleurs, (mon niveau en xml -1). je te fais donc confiance pour le remaniement de mon code le soir d une longue nuit d hiver sous la neige et le vent pour remanier mon code a ta guise.
Merci encore pour ta remarque
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
22 juin 2003 à 15:22
Ça aurait été plus simple de gérer la boule, le tableau et les barres avec des thread. Comme ça, tu aurais pus faire des annimations plus rapidement. sans compté que ton code aurait été beaucoup moins long

il aurait falus faire une class qui détecte les collion et après, un extend tableau ou boule ou barre de cette class qui gèrais la collions de différente façon. La boule, ferait toujours un calcul pour changer de direction, une barre explose toujours (dépendant sont type de barre) et un mur, fait rien à aprt déclencher un son.

pour finir une dernière classe qui serait mis dans une interface qui serait intégré à chaque barre qui permettrais de connaitre le nombre de barre restante et le tour est joué.

lors de la création de ton tableau, tu positionne tes threads de barre, donc pourrais avoir plusieurs configuration loader à partir d,un fichier XML et c'est tout.

Une bonne journée de pluie de fin de semaine, je vais m'attaquer à ça.
Rejoignez-nous