public void construireColonie(Joueur j)
        {
            if (controlleur != null) throw new ArgumentException("Un joueur tente de construire une colonie sur un emplacement qui ne lui appartient pas!");
            if (estVille) throw new ArgumentException("Un joueur tente de construire une colonie sur une ville!");

            controlleur = j;
        }
        public RessourceGroupe getResPourJoueur(Joueur j)
        {
            RessourceGroupe res = new RessourceGroupe();

            //partie.plateau.

            return res;
        }
Beispiel #3
0
 public void addJoueur(Joueur j)
 {
     for (int i = 0; i < joueurs.Count(); i++)
     {
         if (joueurs[i] == null)
         {
             joueurs[i] = j;
             break;
         }
     }
 }
Beispiel #4
0
        private bool colonieRelieAJoueur(EmplacementColonie c, Joueur j)
        {
            if (c.controlleur != null && c.controlleur.nom == j.nom)
                return true;

            foreach( Chemin ch in c.connections )
            {
                if (ch.proprietaire != null && ch.proprietaire.nom == j.nom)
                    return true;
            }

            return false;
        }
        public Joueur ajouterConnectionJoueur(string username, ServeurJoueur sj)
        {
            if (joueurs.Where(item => item.nom == username).Any())
            {
                Console.WriteLine("Le username existe déjà sur le serveur.");
                return null;
            }

            Joueur j = new Joueur(username, getNextCouleur());
            joueurs.Add(j);
            joueursEnAttente.Add(sj);

            Console.WriteLine("Joueur ajouté à la liste d'attente");

            return j;
        }
        public Ressource produirePourJoueur(Joueur j)
        {
            Ressource res = null;
            int count = 0;

            if( peutProduireRessources() )
            {
                foreach( EmplacementColonie col in exploiteurs )
                {
                    if (col.controlleur != null && col.controlleur.nom == j.nom)
                        count += col.quantiteProduite;
                }

                res = new Ressource(ressourceProduite, count);
            }

            return res;
        }
Beispiel #7
0
 public bool peutConstruire(Joueur j)
 {
     return proprietaire == null && relierAJoueur(j);
 }
 public void onRouteConstruite(int position, Joueur joueur)
 {
     partie.plateau.getChemin(position).batirRoute(joueur);
     sendAllPosition(Message.MessageSujet.NotifRoutePlace, joueur, position);
 }
Beispiel #9
0
 private bool relierAJoueur(Joueur j)
 {
     return (colonieRelieAJoueur(colonies[0], j) || colonieRelieAJoueur(colonies[1], j));
 }
Beispiel #10
0
 public void batirRoute(Joueur j)
 {
     if(this.proprietaire == null) {
         this.proprietaire = j;
     }
 }
        private void handleRejoindrePartie(RequeteRejoindrePartie msg)
        {
            joueur = connManager.ajouterConnectionJoueur(msg.username, this);
            if (joueur == null)
            {
                msg.creerReponse(Message.MessageSujet.ReponseRefus);
                msg.repondre();
            }

            msg.creerReponse(Message.MessageSujet.ReponseOk);
            msg.repondre();

            connManager.verifierPartiePleine();
        }
Beispiel #12
0
 public void construireVille(Joueur j, int idEmplacement)
 {
     EmplacementColonie col = plateau.getColonie(idEmplacement);
     col.construireVille(j);
 }
 private void sendAllPosition(Message.MessageSujet sujet, Joueur j, int position)
 {
     foreach (ServeurJoueur sj in joueursEnAttente)
     {
         sj.sendPosition(sujet, j, position);
     }
 }
        private bool joueurEstConnecte(Joueur j)
        {
            foreach (Chemin c in connections)
            {
                if (c.proprietaire == j) return true;
            }

            return false;
        }
Beispiel #15
0
        public Ressource volerJoueur(Joueur voleur, Joueur cible)
        {
            Ressource res = null;
            var types = RessourceGroupe.TypesContenu.Where(type => cible.res.quantite(type) != 0);

            if( types.Count() > 0 )
            {
                Random rnd = new Random();
                TypeDeRessource typeSelectionne = types.ElementAt(rnd.Next(types.Count()));
                res = new Ressource(typeSelectionne, 1);

                cible.debiter(res);
                voleur.ajouter(res);
            }

            return res;
        }
 public void construireVille(Joueur j)
 {
     if (controlleur == null || controlleur.nom != j.nom) throw new ArgumentException("Un joueur tente de construire une ville sur un emplacement qui ne lui appartient pas!");
     estVille = true;
 }
Beispiel #17
0
        public int getTourJoueur(Joueur joueur)
        {
            if (!tours.ContainsKey(joueur))
            {
                tours[joueur] = 0;
            }

            return tours[joueur];
        }
Beispiel #18
0
        public RessourceGroupe getResPourJoueur(int de, Joueur j)
        {
            RessourceGroupe res = new RessourceGroupe();

            foreach( Cellule c in plateau.cellules.Where(c => c.produitPourValeurDe(de)))
            {
                res.ajouter(c.produirePourJoueur(j));
            }

            return res;
        }
 public void debutTour(Joueur j)
 {
     NotifDebutTour msg = (NotifDebutTour)conn.creerMessage(Message.MessageSujet.NotifDebutTour);
     msg.nomJoueur = j.nom;
     msg.envoyer();
 }
Beispiel #20
0
 public void OnClick()
 {
     Joueur j = new Joueur("j1", Joueur.Couleur.Bleu);
     empC.construireColonie(j);
 }
 public void onVilleConstruite(int position, Joueur joueur)
 {
     partie.plateau.getColonie(position).construireVille(joueur);
     sendAllPosition(Message.MessageSujet.NotifVillePlace, joueur, position);
 }
 public bool emplacementDisponiblePourVille(Joueur j)
 {
     return controlleur == j && !estVille;
 }
Beispiel #23
0
 public void construireRoute(Joueur j, int idRoute)
 {
     Chemin c = plateau.getChemin(idRoute);
     c.batirRoute(j);
 }
Beispiel #24
0
        private void incrementTourJoueur(Joueur j)
        {
            if (!tours.ContainsKey(j))
            {
                tours[j] = 0;
            }

            tours[j]++;
        }
 public void sendPosition(Message.MessageSujet sujet, Joueur j, int position)
 {
     NotifAjoutElement msg = (NotifAjoutElement)conn.creerMessage(sujet);
     msg.joueur = j;
     msg.position = position;
     msg.envoyer();
 }
        public bool emplacementDisponiblePourColonie(Joueur j, bool premiereColonie)
        {
            // est-ce que l'emplacement est vide?
            if (controlleur != null) return false;

            // est-ce que l'emplacement est connecter a une route appartenant au joueur?
            if (!premiereColonie && !joueurEstConnecte(j)) return false;

            // est-ce que la colonie est a distance suffisante d'une autre colonie?
            if (!distanceEstSuffisantePourConstruction()) return false;

            return true;
        }
Beispiel #27
0
 public CarteDeDeveloppement acheterCarteDeDev(Joueur j)
 {
     return null;
 }