Précédent   Forum du club des développeurs et IT Pro > Applications > Développement 2D, 3D et Jeux > Jeux web
Jeux web Forum d'entraide sur le développement de jeux web et sur Internet
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 10/10/2012, 12h45   #1
Sylvain785
 
Inscription : mai 2012
Messages : 11
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 11
Points : -2
Points : -2
Par défaut Améliorer un Jeu à partir d'un code donné!

Bonjour Chers Membres!

Voilà je câle En effet, je dois améliorer un jeu à partir d'un code donné celui-là en l'occurence:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
/**
 *  Cette classe est la classe principale de l'application "le monde de Zuul".
 * "Le monde de Zuul" est un jeu d'aventures très simple en mode texte.
 * Les utilisateurs peuvent se promener dans le décor. C'est tout. 
 * Elle devrait vraiment être étendue pour rendre le jeu plus intéressant !
 * 
 * Pour jouer à ce jeu,  créez une instance de cette classe 
 * et appelez la méthode "play".
 * 
 * Cette classe principale crée et initialise toutes les autres : 
 * elle crée toutes les pièces, crée l'analyseur syntaxique et démarre le jeu.  
 * Elle évalue aussi et exécute les commandes renvoyées par l'analyseur syntaxique. 
 * 
 * @author  Michael Kolling et David J. Barnes
 * @version 2008.03.30
 */
 
public class Game 
{
    private Parser parser;
    private Room currentRoom;
 
    /**
     * Création du jeu et initialisation de sa carte interne.
     */
    public Game()	
    {
        createRooms();
        parser = new Parser();
    }
 
    /**
     * Création des pièces et des liens entre les sorties des pièces
     */
    private void createRooms()
    {
        Room outside, theatre, pub, lab, office;
 
        // création des pièces
        outside = new Room("à l'extérieur de l'entrée principale de l'Université");
        theatre = new Room("dans un amphithéâtre");
        pub = new Room("à la cafétéria");
        lab = new Room("dans la salle informatique");
        office = new Room("au bureau des techniciens");
 
        // initialisation des sorties des pièces
        outside.setExits(null, theatre, lab, pub);
        theatre.setExits(null, null, null, outside);
        pub.setExits(null, outside, null, null);
        lab.setExits(outside, office, null, null);
        office.setExits(null, null, null, lab);
 
        currentRoom = outside;  // début de la partie ailleurs
    }
 
    /**
     *  Fonction principale de jeu. Boucle jusqu'à la fin du jeu.
     */
    public void play() 
    {            
        printWelcome();
 
        // Entrée dans la boucle principale des commandes.  Ici, nous
        // répétons la lecture et l'exécution des commandes jusqu'à la fin du jeu.
 
        boolean finished = false;
        while (! finished) {
            Command command = parser.getCommand();
            finished = processCommand(command);
        }
        System.out.println("Merci d'avoir joué. Au revoir.");
    }
 
    /**
     * Affichage du message d'accueil au joueur.
     */
    private void printWelcome()
    {
        System.out.println();
        System.out.println("Bienvenue au jeu de Zuul !");
        System.out.println("Zuul est un nouveau jeu d'aventure terriblement ennuyeux.");
        System.out.println("Tapez 'aide' si vous avez besoin d'aide.");
        System.out.println();
        System.out.println("Vous êtes dans " + currentRoom.getDescription());
        System.out.print("Les sorties : ");
        if(currentRoom.northExit != null) {
            System.out.print("nord ");
        }
        if(currentRoom.eastExit != null) {
            System.out.print("est ");
        }
        if(currentRoom.southExit != null) {
            System.out.print("sud ");
        }
        if(currentRoom.westExit != null) {
            System.out.print("ouest ");
        }
        System.out.println();
    }
 
    /**
     * Etant donné une commande, traiter (exécuter) la commande.
     * @param command La commande à traiter.
     * @return true Si la commande termine le jeu, false autrement.
     */
    private boolean processCommand(Command command) 
    {
        boolean wantToQuit = false;
 
        if(command.isUnknown()) {
            System.out.println("Je ne comprends pas cette commande...");
            return false;
        }
 
        String commandWord = command.getCommandWord();
        if (commandWord.equals("aide"))
            printHelp();
        else if (commandWord.equals("aller"))
            goRoom(command);
        else if (commandWord.equals("quitter"))
            wantToQuit = quit(command);
 
        return wantToQuit;
    }
 
    // implantation des commandes :
 
    /**
     * Affichage de l'aide.
     * Nous affichons ici quelques messages stupides, mystérieux et 
     * une liste des ordres.
     */
    private void printHelp() 
    {
        System.out.println("Vous êtes perdu. Vous êtes seul. Vous errez");
        System.out.println("dans l'université.");
        System.out.println();
        System.out.println("Les commandes sont :");
        System.out.println("   aller quitter aide");
    }
 
    /** 
     * Essai de déplacement dans une direction. Si une sortie existe, 
     * entrer dans la nouvelle pièce, sinon afficher un message d'erreur.
     */
    private void goRoom(Command command) 
    {
        if(!command.hasSecondWord()) {
            // en cas d'absence du deuxième mot, nous ne savons pas où aller...
            System.out.println("Aller où ?");
            return;
        }
 
        String direction = command.getSecondWord();
 
        // nous essayons de quitter la pièce courante.
        Room nextRoom = null;
        if(direction.equals("nord")) {
            nextRoom = currentRoom.northExit;
        }
        if(direction.equals("est")) {
            nextRoom = currentRoom.eastExit;
        }
        if(direction.equals("sud")) {
            nextRoom = currentRoom.southExit;
        }
        if(direction.equals("ouest")) {
            nextRoom = currentRoom.westExit;
        }
 
        if (nextRoom == null) {
            System.out.println("Il n'y a pas de porte !");
        }
        else {
            currentRoom = nextRoom;
            System.out.println("Vous êtes " + currentRoom.getDescription());
            System.out.print("Les sorties : ");
            if(currentRoom.northExit != null) {
                System.out.print("nord ");
            }
            if(currentRoom.eastExit != null) {
                System.out.print("est ");
            }
            if(currentRoom.southExit != null) {
                System.out.print("sud ");
            }
            if(currentRoom.westExit != null) {
                System.out.print("ouest ");
            }
            System.out.println();
        }
    }
 
    /** 
     * "Quitter" vient d'être saisi. Vérification du reste de la commande
     * pour s'assurer que nous voulons réellement quitter le jeu.
     * @return true si cette commande arrête le jeu, false autrement.
     */
    private boolean quit(Command command) 
    {
        if(command.hasSecondWord()) {
            System.out.println("Quitter quoi ?");
            return false;
        }
        else {
            return true;  // informe que nous voulons quitter le jeu
        }
    }
}

Je n'arrive à vrai dire même pas à démarrer le jeu !! quelle honte!!

le Logiciel utilisé est BluJ, Du coup je me suis senti minable en voyant le logiciel , en ne comprenant rien et voilà

il Faut un truc ou ça passe partout, et qu'après on puisse le démarrer normalement comme un jeu quelconque C

Mais il faut qu'au final : 1. On puisse l'ouvrir avec BlueJ
2. Qu'on puisse aussi jouer sans BlueJ


Merci à ceux et celles qui voudront bien m'aider dans cette démarche périlleuse!

Cordialement!
Sylvain785 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2012, 07h54   #2
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 467
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2008
Messages : 10 467
Points : 40 543
Points : 40 543
Bonjour,

En ayant regarder rapidement le code, si vous êtes plus familier avec Eclipse ou Netbeans, vous pouvez utiliser ces derniers, sachant que je n'ai rien vu de spécifique dans le code qui pourrait gêner (c'est du Java classique).
Sinon, qu'est ce qui vous bloque avec BlueJ ? Il devrait suffire de créer un projet vide, puis de rajouter le code dans le projet et c'est bon ?
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 21
Vieux 11/10/2012, 14h11   #3
Sylvain785
 
Inscription : mai 2012
Messages : 11
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 11
Points : -2
Points : -2
Citation:
Envoyé par LittleWhite Voir le message
Bonjour,

En ayant regarder rapidement le code, si vous êtes plus familier avec Eclipse ou Netbeans, vous pouvez utiliser ces derniers, sachant que je n'ai rien vu de spécifique dans le code qui pourrait gêner (c'est du Java classique).
Sinon, qu'est ce qui vous bloque avec BlueJ ? Il devrait suffire de créer un projet vide, puis de rajouter le code dans le projet et c'est bon ?

Bonjour! et merci pour votre réponse.

Qu'entendez-vous par créer un projet vide et de rajouter le code dans le projet, plus explicitement?
Sylvain785 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2012, 17h37   #4
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 467
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2008
Messages : 10 467
Points : 40 543
Points : 40 543
Lorsque l'on crée un nouveau projet, il se peut que le logiciel propose des template (des projets qui ont déjà du code, pour démarrer plus vite). Moi je précisais, qu'il faut démarrer par un projet vide et ajouter nous même les fichier (projet vide == aucun code à la création).
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/10/2012, 17h01   #5
Sylvain785
 
Inscription : mai 2012
Messages : 11
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 11
Points : -2
Points : -2
Oui m'enfin là ça m'avance pas! par rapport à ma question et aussi par rapport à ce code
Sylvain785 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2012, 19h33   #6
plegat
Expert Confirmé Sénior
 
Jean-Michel BORLOT
Fabricant et casseur d'avions
Inscription : avril 2004
Messages : 3 216
Détails du profil
Informations personnelles :
Nom : Jean-Michel BORLOT
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Fabricant et casseur d'avions
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : avril 2004
Messages : 3 216
Points : 5 379
Points : 5 379
Salut,

Citation:
Envoyé par Sylvain785 Voir le message
Oui m'enfin là ça m'avance pas! par rapport à ma question et aussi par rapport à ce code
En même temps, c'est quoi exactement ton problème?

Parce qu'avec les symptômes:

Citation:
Envoyé par Sylvain785
je me suis senti minable en voyant le logiciel , en ne comprenant rien et voilà
le problème ne semble pas informatique...

Au passage il manque des classes si tu veux faire fonctionner ton code...
__________________
"Errare humanum est, sed perseverare diabolicum"

Ma page sur DVP.com
plegat est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 15/10/2012, 10h43   #7
el_slapper
Expert Confirmé Sénior
 
Inscription : décembre 2007
Messages : 2 545
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 2 545
Points : 6 168
Points : 6 168
Citation:
Envoyé par plegat Voir le message
(.../...)

Au passage il manque des classes si tu veux faire fonctionner ton code...
Après un petit coup d'oeil, il semble effectivement que la classe Room n'est pas implémentée. Impossible, donc, de compiler - et donc de tirer quoi que ce soit de ce morceau de code - sans la créer, ou la retrouver.

Je peux me tromper, mais je ne vois pas ou elle est définie. Donc... Je n'ai pas trouvé de définition de Command non plus.
__________________
Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
3)le temps de comprendre toutes les exigences, le projet est terminé
4)le temps de terminer le projet, les exigences ont changé
Et le serment de non-allégiance :
Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.
el_slapper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2012, 13h40   #8
plegat
Expert Confirmé Sénior
 
Jean-Michel BORLOT
Fabricant et casseur d'avions
Inscription : avril 2004
Messages : 3 216
Détails du profil
Informations personnelles :
Nom : Jean-Michel BORLOT
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Fabricant et casseur d'avions
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : avril 2004
Messages : 3 216
Points : 5 379
Points : 5 379
Citation:
Envoyé par el_slapper Voir le message
Après un petit coup d'oeil, il semble effectivement que la classe Room n'est pas implémentée. Impossible, donc, de compiler - et donc de tirer quoi que ce soit de ce morceau de code - sans la créer, ou la retrouver.

Je peux me tromper, mais je ne vois pas ou elle est définie. Donc... Je n'ai pas trouvé de définition de Command non plus.
Si vraiment tu veux te plonger dans le code, il est disponible ici, tu cliques sur "Book projects", c'est dans le chapitre 6.

Cependant, au vu du message initial, le soucis semble être plus localisé sur l'utilisation de BlueJ, et également sur la compréhension/utilisation d'un code Java... mais sans détails, on sait pas!
__________________
"Errare humanum est, sed perseverare diabolicum"

Ma page sur DVP.com
plegat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 07h31.


 
 
 
 
Partenaires

Hébergement Web