AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Cartes Pokémon 151 : où trouver le coffret Collection Alakazam-ex ?
Voir le deal

 

 [JAVA] Fourmilière

Aller en bas 
4 participants
AuteurMessage
Kaolin
Nouveau



Messages : 5

[JAVA] Fourmilière Empty
MessageSujet: [JAVA] Fourmilière   [JAVA] Fourmilière EmptyJeu 19 Jan 2012 - 14:15

Bonjour,

Je vous explique en gros le projet que je doit réaliser afin d'essayer d'obtenir des idées.
Je doit réaliser en JAVA une petite application console où l'utilisateur va entrer un nombre de reine/larve/male/worker

Les workers ne servent a rien apart vivre 50 jours
Les males vivent 20 jours
Les Reines produisent des larves si male > 0
Les larves deviennent avec une chance de 1/20-> Reine
2/20-> Male
17/20->Larve

Au niveau algo rien de bien compliqué donc, j'ai fait mon main pour rentrer mon nombre de workers etc... dans mon constructeur de fourmilière, ça marche.

Le problème est que je ne sais pas trop où et comment écrire un arraylist pour stocker les workers etc... de la génération 1 puis comment les compter.

Si quelqun saurait me lancer!

Merci d'avance.
Revenir en haut Aller en bas
master47
Utilisateur confirmé: Rang *****
master47


Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

[JAVA] Fourmilière Empty
MessageSujet: Re: [JAVA] Fourmilière   [JAVA] Fourmilière EmptyVen 20 Jan 2012 - 12:52

Alors tu définis une seconde classe "Worker", dans laquelle tu définis un field style "birthdate" dans lequel tu stocke le jour de naissance, et tu le requiert dans le constructeur. Ensuite dans ta class Fourmiliere tu definis un "private Vector<Worker> workers;" ainsi que "private int currentDay;".

Ensuite pour les compter tu aurais une méthode du style :
Code:

private Vector<Worker> findWorkersByDay(int day) {
    Vector<Worker> results = new Vector<Worker>();
    for(Worker worker : workers) {
        if(worker.getDay() == day)
            results.add(worker);
    }
    return results;
}

Ceci devrait faire l'affaire.
EDIT
Mieux encore, pour pousser davantage l'abstraction tu définis plutôt une classe abstract Fourmi, que tu extends par Worker, Queen, etc . Ca te permettra, si tu dois créer des méthode identiques pour tous les types de fourmis, de les placer dans <Fourmi>, et si tu as des méthodes et des fields plus spécifiques, les taper dans <Queen>, <Worker>, .. selon le type. "birthdate" se placerait du coup plutot dans Fourmi

_________________
Suivez la timeline ! The PacWars Timeline
C# .NET, Web & Sound Design.
---
Oldies: http://livegallery.lescigales.org/
Lawl :
Spoiler:
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
Kaolin
Nouveau



Messages : 5

[JAVA] Fourmilière Empty
MessageSujet: Re: [JAVA] Fourmilière   [JAVA] Fourmilière EmptySam 21 Jan 2012 - 3:02

Merci j'ai bien avancé depuis et j'ai même presque fini, il me reste plus qu'a gérer les naissances, ce que j'ai réussi à faire dans la classe fourmilière, mais ce que je veux essayer de faire c'est d'attribuer un type a mes larves pour rendre plus clair le code.

En gros dans mon constructeur de larve je leur attribue aléatoirement un type, si le type c'est 1, c'est un male.
Si le type est 2, c'est une reine, si le type est 3, c'est un worker.

Ca, c'est fait.

Par contre ce que je veux essayer de faire maintenant, c'est récupérer dans ma fourmiliere, le type d'une larve, après ça j'arriverai sans problème a ajouter en fonction, soit un worker, soit une reine, soit un male, mais impossible de récupérer le type, je ne voit vraiment pas comment faire.

Au niveau de mes classe j'ai FOURMILIERE -> FOURMI (classe abstraite) -> QUEEN
-> WORKER
-> MALE
-> LARVE avec un type que je veux récupérer dans fourmiliere !


Donc en gros ce dont j'ai besoin c'est compléter ça :
if (fourmiliere.get(i).mourrir()== true && fourmiliere.get(i) instanceof Larve && TYPE 1 DE LARVE){
JE VAIS CREER UN MALE

Merci d'avance
Revenir en haut Aller en bas
Kaolin
Nouveau



Messages : 5

[JAVA] Fourmilière Empty
MessageSujet: Re: [JAVA] Fourmilière   [JAVA] Fourmilière EmptyLun 23 Jan 2012 - 2:49

Problème résolu
Revenir en haut Aller en bas
soldat83
Nouveau



Messages : 1

[JAVA] Fourmilière Empty
MessageSujet: Re: [JAVA] Fourmilière   [JAVA] Fourmilière EmptyMer 25 Jan 2012 - 9:54

Kaolin tu as fini ce projet?
Moi pas encore ... triste2
Revenir en haut Aller en bas
Kaolin
Nouveau



Messages : 5

[JAVA] Fourmilière Empty
MessageSujet: Re: [JAVA] Fourmilière   [JAVA] Fourmilière EmptyMer 25 Jan 2012 - 14:31

il me reste serialization et touche enter :/
Revenir en haut Aller en bas
SonnixVI
Bonne participation



Messages : 73
Localisation : int *chezmoi=&cbna;

[JAVA] Fourmilière Empty
MessageSujet: Re: [JAVA] Fourmilière   [JAVA] Fourmilière EmptyMer 25 Jan 2012 - 23:18

C'est quoi votre projet au juste ?Vous faites des cours ensemble?

EDIT: Sinon pour la touche entrée utilise ça
Code:
public String zoneSaisie_keyPressed(KeyEvent e) {
 
  String texteSaisi="";
  if(e.getKeyChar() == Event.ENTER)
      texteSaisi = zoneSaisie.getText();
  return texteSaisi;
 
  }
Revenir en haut Aller en bas
Contenu sponsorisé





[JAVA] Fourmilière Empty
MessageSujet: Re: [JAVA] Fourmilière   [JAVA] Fourmilière Empty

Revenir en haut Aller en bas
 
[JAVA] Fourmilière
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Fourmilière: arraylist et héritage en java
» JAVA
» [JAVA] Problème Netbeans 6.1
» Trouver des codes Java et Html ..
» G-Java, problème

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Programmation-
Sauter vers: