IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Jeux web Discussion :

Améliorer un Jeu à partir d'un code donné!


Sujet :

Jeux web

  1. #1
    Candidat au Club
    Inscrit en
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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!

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 855
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 855
    Points : 218 548
    Points
    218 548
    Billets dans le blog
    118
    Par défaut
    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

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2012
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    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?

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 855
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 855
    Points : 218 548
    Points
    218 548
    Billets dans le blog
    118
    Par défaut
    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

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2012
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Oui m'enfin là ça m'avance pas! par rapport à ma question et aussi par rapport à ce code

  6. #6
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (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 813
    Points : 7 638
    Points
    7 638
    Par défaut
    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

  7. #7
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 060
    Points
    32 060
    Par défaut
    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.

  8. #8
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (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 813
    Points : 7 638
    Points
    7 638
    Par défaut
    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

Discussions similaires

  1. [MySQL] liste déroulante à partir de base de donnée
    Par nouna dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/01/2012, 17h08
  2. Réponses: 3
    Dernier message: 02/04/2011, 11h24
  3. [Exécutable]puis je creer un executable a partir de mon code ?
    Par youpileouf dans le forum Général Java
    Réponses: 3
    Dernier message: 17/06/2005, 09h15
  4. Comment creer une procédure stockée à partir d'un code VBA?
    Par Alcor020980 dans le forum Connexion aux bases de données
    Réponses: 4
    Dernier message: 24/05/2005, 19h55
  5. [Treeview VBA] Liste des fils à partir d'un noeud donné
    Par NoCoZ dans le forum Général VBA
    Réponses: 3
    Dernier message: 26/04/2005, 09h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo