private static List<Coordonnee> getVoisinAtteignable(int entryPointX, int entryPointY, int[,] listDejaVu)
    {
        List<Coordonnee> result = new List<Coordonnee>();
        for (int i = -1; i < 2; i++)
        {
            for (int j = -1; j < 2; j++)
            {
                int neighbour_x = entryPointX + i;
                int neighbour_y = entryPointY + j;

                if (Math.Abs(i) == Math.Abs(j))
                {
                }
                else if ((neighbour_x < 0) || (neighbour_y < 0) || (neighbour_x >= width) || (neighbour_y >= height))
                {
                }
                else if ((level[neighbour_x,neighbour_y] != 1) && (listDejaVu[neighbour_x,neighbour_y] == 0))
                {
                    Coordonnee toAdd = new Coordonnee(neighbour_x, neighbour_y);
                    result.Add(toAdd);
                }
            }
        }
        return result;
    }
        /// <summary>
        /// Ajout une societe ainsi que ses coordonnées
        /// </summary>
        /// <param name="societeModelView">Model de vue compose de societe et de coordonnées</param>
        /// <returns>Rien</returns>
        public async Task AddSocieteByModelView(ModelViewSociete societeModelView)
        {
            Etablissement etablissement = await _dataEtablissement.GetEtablissementByUser();

            Coordonnee coordonnee = new Coordonnee
            {
                Adresse    = societeModelView.Adresse,
                SubAdresse = societeModelView.SubAdresse,
                CodePostal = societeModelView.CodePostal,
                Ville      = societeModelView.Ville,
                Fax        = societeModelView.Fax,
                Telephone  = societeModelView.Telephone,
                Email      = societeModelView.Email
            };

            Societe societe = new Societe
            {
                Nom             = societeModelView.Nom,
                EtablissementId = etablissement.Id,
                Coordonnee      = coordonnee
            };

            _context.Add(societe);
            await _context.SaveChangesAsync();
        }
Example #3
0
        /*
         * Crée un case en fontion du type, a la coordonnée donnée en paramètre
         */
        public static Case CreeCase(TypeCases type, Coordonnee coo)
        {
            Case c;

            switch (type)
            {
            case TypeCases.MARECAGE:
                c = new CaseMarecage(coo);
                break;

            case TypeCases.PLAINE:
                c = new CasePlaine(coo);
                break;

            case TypeCases.RECIF:
                c = new CaseRecif(coo);
                break;

            case TypeCases.MONTAGNE:
                c = new CaseMontagne(coo);
                break;

            case TypeCases.MER:
                c = new CaseMer(coo);
                break;

            default:
                throw new Exception("Problème lors de la fabrication des cases");
            }

            return(c);
        }
        public IHttpActionResult PutCoordonnee(int id, Coordonnee coordonnee)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != coordonnee.Id)
            {
                return(BadRequest());
            }

            db.Entry(coordonnee).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CoordonneeExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #5
0
 /*
  * Methode permettant de recuperer la liste des directions autorisees depuis une case donnee
  * @param c les coordonnees de la case donnee
  * @return la liste des directions autorisees
  */
 public List<Direction> GetDirectionsAutorisees(Coordonnee c)
 {
     int x = c.X;
     int y = c.Y;
     Coordonnee ctmp;
     List<Direction> dirAutorisees = new List<Direction>();
     if (y < (HAUTEURCARTE - 1)) {
         ctmp = c + Direction.NORD;
         if(_grille[ctmp.X][ctmp.Y] != TypeCase.EAU)
             dirAutorisees.Add(Direction.NORD);
     }
     if (x < (LARGEURCARTE - 1)) {
         ctmp = c + Direction.EST;
         if (_grille[ctmp.X][ctmp.Y] != TypeCase.EAU)
             dirAutorisees.Add(Direction.EST);
     }
     if (y > 0) {
         ctmp = c + Direction.SUD;
         if (_grille[ctmp.X][ctmp.Y] != TypeCase.EAU)
             dirAutorisees.Add(Direction.SUD);
     }
     if (x > 0) {
         ctmp = c + Direction.OUEST;
         if (_grille[ctmp.X][ctmp.Y] != TypeCase.EAU)
             dirAutorisees.Add(Direction.OUEST);
     }
     return dirAutorisees;
 }
Example #6
0
 /**
  * Constructeur de la classe Joueur
  * t Le type du peuple
  * nb Le nombre d'unites a creer
  * c La coordonnee a laquelle seront placees les unites au depart
  * /!\ Cette case ne doit pas contenir d'unites enemies
  */
 public Joueur(TypePeuple t, int nb, Coordonnee c)
 {
     this._id = NOMBREJOUEUR++;
     this._peuple = new Peuple(t, nb, this._id, c);
     // Mise a zero du compteur de joueurs
     this._cptTourJoueurs = 0;
 }
        public async Task AddEtablissementByModelView(ModelViewEtablissement modelViewEtablissement)
        {
            try
            {
                Coordonnee coordonnee = new Coordonnee
                {
                    Adresse    = modelViewEtablissement.Adresse,
                    SubAdresse = modelViewEtablissement.SubAdresse,
                    CodePostal = modelViewEtablissement.CodePostal,
                    Ville      = modelViewEtablissement.Ville,
                    Fax        = modelViewEtablissement.Fax,
                    Telephone  = modelViewEtablissement.Telephone,
                    Email      = modelViewEtablissement.Email
                };

                Etablissement etablissement = new Etablissement
                {
                    Nom        = modelViewEtablissement.Nom,
                    Capacite   = modelViewEtablissement.Capacite,
                    Coordonnee = coordonnee
                };

                _context.Add(etablissement);
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #8
0
    /**
     * Methode permettant la creation d'un nombre d'unites donne
     * type Le type du peuple des unites a creer
     * nb Le nombre d'unites a creer
     * j Le joueur auquel seront rattachees les unites (Joueur 1 = 0 ; Joueur 2 = 1 ... )
     * c La coordonnee a laquelle sont placees les unites au depart
     * /!\ Cette case ne doit pas contenir d'unites enemies
     */
    public List<Unite> CreerUnites(TypePeuple type, int nb, int j, Coordonnee c)
    {
        List<Unite> res = new List<Unite>();
        switch (type) {
            case TypePeuple.GAULOIS:
                for(int i = 0 ; i < nb ; i++)
                    res.Add(new UniteGaulois(j, c));
                break;
            case TypePeuple.NAINS:
                for (int i = 0; i < nb; i++)
                    res.Add(new UniteNain(j, c));
                break;

            case TypePeuple.VIKING:
                for (int i = 0; i < nb; i++)
                {
                    UniteViking u = new UniteViking(j, c);
                    res.Add(u);
                }
                break;

            default:
                break;
        }
        return res;
    }
Example #9
0
    public bool PlacerMaison(Coordonnee origine, string valBonus)
    {
        switch (valBonus)
        {
        case "ORACLE":
            return(Bonus.Oracle(Plateau.Vector2fVersCoordonnee(CoordonneesSouris(), mPlateau), mJoueurCourant, mPlateau));

        case "FERME":
            return(Bonus.Ferme(Plateau.Vector2fVersCoordonnee(CoordonneesSouris(), mPlateau), mJoueurCourant, mPlateau));

        case "TAVERNE":
            return(Bonus.Taverne(Plateau.Vector2fVersCoordonnee(CoordonneesSouris(), mPlateau), mJoueurCourant, mPlateau));

        case "TOUR":
            return(Bonus.Tour(Plateau.Vector2fVersCoordonnee(CoordonneesSouris(), mPlateau), mJoueurCourant, mPlateau));

        case "PORT":
            return(Bonus.Port(origine, Plateau.Vector2fVersCoordonnee(CoordonneesSouris(), mPlateau), mJoueurCourant, mPlateau));

        case "ENCLOS":
            return(Bonus.Enclos(origine, Plateau.Vector2fVersCoordonnee(CoordonneesSouris(), mPlateau), mJoueurCourant, mPlateau));

        case "GRANGE":
            return(Bonus.Grange(origine, Plateau.Vector2fVersCoordonnee(CoordonneesSouris(), mPlateau), mJoueurCourant, mPlateau));

        case "OASIS":
            return(Bonus.Oasis(Plateau.Vector2fVersCoordonnee(CoordonneesSouris(), mPlateau), mJoueurCourant, mPlateau));

        default:
            return(false);
        }
    }
Example #10
0
 public CoordConversion(Coordonnee cgps, Coordonnee cgps_changed)
 {
     this.vecteur = new Coordonnee(cgps_changed);
     this.vecteur.decX(cgps.getX());
     this.vecteur.decY(cgps.getX());
     this.vecteur.decZ(cgps.getX());
 }
Example #11
0
        public async Task <IActionResult> PutCoordonnee(int id, Coordonnee coordonnee)
        {
            if (id != coordonnee.Id)
            {
                return(BadRequest());
            }

            _context.Entry(coordonnee).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CoordonneeExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Example #12
0
 /**
  * Constructeur de la classe Peuple
  *
  * t Type d'unites de l'instance
  * nb Nombre initial d'unites de l'instance
  * j Identifiant du joueur a qui appartient le peuple
  * posInit Position initiale des unites
  */
 public Peuple(TypePeuple t, int nb, int j, Coordonnee posInit)
 {
     this._type = t;
     IFabriqueUnite fab = new FabriqueUnite();
     this._nbUnites = nb;
     this._unites = fab.CreerUnites(this._type, this._nbUnites, j, posInit);
 }
Example #13
0
        public async Task <ActionResult <Coordonnee> > PostCoordonnee(Coordonnee coordonnee)
        {
            _context.Coordonnee.Add(coordonnee);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetCoordonnee", new { id = coordonnee.Id }, coordonnee));
        }
Example #14
0
        public Pheromone Creer(Coordonnee position)
        {
            idGenerator++;
            Coordonnee posNoReference = new Coordonnee(position.X, position.Y);

            return(new Pheromone(idGenerator, posNoReference));
        }
Example #15
0
        /// <summary>
        /// SetBinaire
        /// </summary>
        /// <param name="caracteres"></param>
        public void SetBinaire(PoliceList caracteres)
        {
            Couleur couleur = Couleur.Get(31, 64, 127);
            Couleur noir    = Couleur.Get(1, 1, 1);

            string heure   = Convert.ToString(DateTime.Now.Hour, 2).PadLeft(6, '0');
            string minute  = Convert.ToString(DateTime.Now.Minute, 2).PadLeft(6, '0');
            string seconde = Convert.ToString(DateTime.Now.Second, 2).PadLeft(6, '0');

            for (int h = 0; h < 6; h++)
            {
                if (heure[h] == '1')
                {
                    GetCoordonnee(Coordonnee.Get(2, h * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                    GetCoordonnee(Coordonnee.Get(3, h * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                    GetCoordonnee(Coordonnee.Get(4, h * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                }
                else
                {
                    GetCoordonnee(Coordonnee.Get(2, h * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                    GetCoordonnee(Coordonnee.Get(3, h * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                    GetCoordonnee(Coordonnee.Get(4, h * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                }
            }

            for (int m = 0; m < 6; m++)
            {
                if (minute[m] == '1')
                {
                    GetCoordonnee(Coordonnee.Get(9, m * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                    GetCoordonnee(Coordonnee.Get(10, m * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                    GetCoordonnee(Coordonnee.Get(11, m * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                }
                else
                {
                    GetCoordonnee(Coordonnee.Get(9, m * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                    GetCoordonnee(Coordonnee.Get(10, m * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                    GetCoordonnee(Coordonnee.Get(11, m * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                }
            }

            for (int s = 0; s < 6; s++)
            {
                if (seconde[s] == '1')
                {
                    GetCoordonnee(Coordonnee.Get(16, s * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                    GetCoordonnee(Coordonnee.Get(17, s * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                    GetCoordonnee(Coordonnee.Get(18, s * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                }
                else
                {
                    GetCoordonnee(Coordonnee.Get(16, s * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                    GetCoordonnee(Coordonnee.Get(17, s * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                    GetCoordonnee(Coordonnee.Get(18, s * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                }
            }

            Print(caracteres, 2, 14, couleur);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Coordonnee coordonnee = db.Coordonnees.Find(id);

            db.Coordonnees.Remove(coordonnee);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
    public double getDistance(Coordonnee distant)
    {
        int x1 = this.getX();
        int x2 = distant.getX();
        int y1 = this.getY();
        int y2 = distant.getY();

        return Math.Sqrt( Math.Pow( x1 - x2, 2) + Math.Pow(y1-y2 , 2) );
    }
Example #18
0
        public override Fourmi CreerFourmi()
        {
            Coordonnee position = new Coordonnee(fourmi.Position.X, fourmi.Position.Y);
            Fourmi     spawn    = fabrique.Creer(fourmi.Zone, position);

            spawn.Comportement = new ComportementFourmi(spawn);
            fourmi.NotifierObs();
            return(spawn);
        }
Example #19
0
        /// <summary>
        /// SetHorloge
        /// </summary>
        /// <returns></returns>
        public decimal SetHorloge(PoliceList caracteres, decimal cycle, int bg)
        {
            Couleur minuteCouleur = new Couleur {
                R = 39 / 2, G = 144 / 2, B = 176 / 2
            };                                                                     //39,144,176
            Couleur heureCouleur = new Couleur {
                R = 148 / 2, G = 200 / 2, B = 80 / 2
            };                                                                    //148,186,101
            Couleur pointCouleur = new Couleur {
                R = 148 / 5, G = 200 / 5, B = 80 / 5
            };                                                                    //148,186,101

            //5 minutes
            for (int i = 0; i < 60; i += 5)
            {
                GetCoordonnee(GetTempsCoord(i, 10)).SetColor(pointCouleur);
            }

            GetCoordonnee(Coordonnee.Get(9, 0, Largeur, Hauteur)).SetColor(pointCouleur);
            GetCoordonnee(Coordonnee.Get(9, 19, Largeur, Hauteur)).SetColor(pointCouleur);

            cycle = BackGround(bg, cycle);

            Print(caracteres, 1, 13, Couleur.Noir);

            //Aiguille
            int minute = DateTime.Now.Minute;
            int heure  = DateTime.Now.Hour;

            for (int i = 0; i < 9; i++)
            {
                GetCoordonnee(GetTempsCoord(DateTime.Now.Second + DateTime.Now.Millisecond / (double)1000, i)).SetColor(new Couleur {
                    R = 80 / 2, G = 78 / 2, B = 114 / 2
                });                                                                                                                                                  //43,78,114
            }
            for (int i = 0; i < 8; i++)
            {
                GetCoordonnee(GetTempsCoord(minute + DateTime.Now.Second * 1.6 / 100, i)).SetColor(minuteCouleur);
            }

            for (int i = 0; i < 6; i++)
            {
                GetCoordonnee(GetHeureCoord(heure, minute, i)).SetColor(heureCouleur);
            }

            for (int i = 0; i < 9; i++)
            {
                GetCoordonnee(GetTempsCoord((DateTime.Now.Millisecond / (double)100 * 6) - i, 9)).SetColor(new Couleur {
                    R = new List <byte> {
                        128, 64, 32, 16, 8, 8, 8, 4, 4
                    }[i], B = 5
                });
            }

            return(cycle);
        }
Example #20
0
 public Case GetCase(Coordonnee c)
 {
     // On verifie si la coordonnee est dans la carte
     if (this.appartient(c)) {
         // retourne l'instance de la case du bon type
         return _cases[_grille[c.X][c.Y]];
     } else {
         return null;
     }
 }
 public ActionResult Edit([Bind(Include = "Id,Adresse,Ville,Province_Etat,Pays,CodePostal_ZipCode,Telephone")] Coordonnee coordonnee)
 {
     if (ModelState.IsValid)
     {
         db.Entry(coordonnee).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(coordonnee));
 }
        public ActionResult Create([Bind(Include = "Id,Adresse,Ville,Province_Etat,Pays,CodePostal_ZipCode,Telephone")] Coordonnee coordonnee)
        {
            if (ModelState.IsValid)
            {
                db.Coordonnees.Add(coordonnee);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(coordonnee));
        }
        public IHttpActionResult GetCoordonnee(int id)
        {
            Coordonnee coordonnee = db.Coordonnees.Find(id);

            if (coordonnee == null)
            {
                return(NotFound());
            }

            return(Ok(coordonnee));
        }
Example #24
0
 public Unite(int j, Coordonnee c)
 {
     NBUNITES++;
     this._id = NBUNITES;
     this._joueur = j;
     this._coordonnee = c;
     this._attaque = 2;
     this._defense = 1;
     this._pointsDeVie = 2;
     this._pointsDeplacement = 0;
     this._valeur = -1;
 }
        public void Test_Coordonnee_2()
        {
            Coordonnee c1 = new Coordonnee(0, 1);
            Coordonnee c2 = new Coordonnee(4, 2);
            Coordonnee c3 = new Coordonnee(0, 1);

            Assert.IsFalse(c1 == c2);
            Assert.IsTrue(c1 == c3);

            Assert.IsFalse(c1.Equals(c2));
            Assert.IsTrue(c1.Equals(c3));
        }
        public IHttpActionResult PostCoordonnee(Coordonnee coordonnee)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Coordonnees.Add(coordonnee);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = coordonnee.Id }, coordonnee));
        }
Example #27
0
    /// <summary>
    /// Construit un batiment au bout d'une ligne droite d'au moins 3 batiments alignés de la même couleur, dans n'importe quelle directions.
    /// </summary>
    /// <remarks>Seul le balayage horizontale est implémenté.</remarks>
    /// <param name="coordonnee">Coordonnee du terrain à construire la maison</param>
    /// <param name="joueur">Joueur qui lance le bonus</param>
    /// <param name="plateau">Plateau de jeu</param>
    /// <returns>True si bonus bien activé, false sinon.</returns>
    public static bool Taverne(Coordonnee coordonnee, Joueur joueur, Plateau plateau)
    {
        // Verification que le clic est bien réalisé à l'interieur du plateau.
        if (coordonnee == null)
        {
            return(false);
        }

        // Verification que le joueur possède bien le bonus.
        if (!joueur.ListeBonus.Contains(TypeTerrain.TAVERNE))
        {
            return(false);
        }

        // Verification que le joeur a cliqué sur un terrain constructible.
        if (plateau[coordonnee].Type != TypeTerrain.PRAIRIE && plateau[coordonnee].Type != TypeTerrain.FORET &&
            plateau[coordonnee].Type != TypeTerrain.FLEUR && plateau[coordonnee].Type != TypeTerrain.DESERT &&
            plateau[coordonnee].Type != TypeTerrain.CANYON)
        {
            return(false);
        }

        // Verification que la case est inoccupée.
        if (plateau[coordonnee].Couleur != Couleur.AUCUNE)
        {
            return(false);
        }

        // posable est une Liste qui possède les coordonnées éligible d'utilisation du bonus.
        List <Coordonnee> posables = new List <Coordonnee>();

        // Parcours de toute les cases du plateau. On verifie par 3 balayages : 1 sur l'axe des x, et deux en diagonale.

        // Balayage en X (gauche -> droite)
        posables.AddRange(BalayageHorizontale(plateau, joueur));

        // Balayage en diagonale (gauche -> droite)

        // Balayage en diagonale (droite -> gauche)
        foreach (Coordonnee coord in posables)
        {
            if (coord.Equals(coordonnee))
            {
                plateau[coordonnee].Couleur = joueur.Couleur;
                joueur.NbMaisons--;
                joueur.m_maisonsPlacees.Add(coordonnee);
                return(true);
            }
        }

        return(false);
    }
        // GET: Coordonnees/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Coordonnee coordonnee = db.Coordonnees.Find(id);

            if (coordonnee == null)
            {
                return(HttpNotFound());
            }
            return(View(coordonnee));
        }
        public IHttpActionResult DeleteCoordonnee(int id)
        {
            Coordonnee coordonnee = db.Coordonnees.Find(id);

            if (coordonnee == null)
            {
                return(NotFound());
            }

            db.Coordonnees.Remove(coordonnee);
            db.SaveChanges();

            return(Ok(coordonnee));
        }
        public Reine CreerReine(ZoneAbstraite zone, Coordonnee position)
        {
            idGenerator++;
            Coordonnee posNoReference = new Coordonnee(position.X, position.Y);
            int        PV             = (ConfigurationManager.AppSettings["PointDeVie"] != null) ? Convert.ToInt32(ConfigurationManager.AppSettings["PointDeVie"]) : 100;
            Reine      fourmi         = new Reine.ReineBuilder().
                                        BuildEtat(CollectionEtat.EtatOeuf).
                                        BuildId(idGenerator).
                                        BuildNom("Reine " + idGenerator).
                                        BuildPointVie(PV).
                                        BuildZone(zone).
                                        BuildPosition(posNoReference).
                                        Build();

            return(fourmi);
        }
Example #31
0
        /// <summary>
        /// Prints the solution
        /// </summary>
        /// <param name="ASolution">The list that holds the solution</param>

        static public List <Coordonnee> PrintSolution(ArrayList ASolution)
        {
            List <Coordonnee> liste = new List <Coordonnee>();

            ConsoleManager.Show();
            Console.WriteLine(Map.GetLength(0));
            ConsoleManager.Show();

            for (int j = 0; j < Map.GetLength(0); j++)
            {
                for (int i = 0; i < Map.GetLength(1); i++)
                {
                    bool solution = false;
                    foreach (AStarNode2D n in ASolution)
                    {
                        AStarNode2D tmp = new AStarNode2D(Map, null, null, 0, i, j);
                        solution = n.IsSameState(tmp);
                        if (solution)
                        {
                            break;
                        }
                    }
                    if (solution)
                    {
                        ConsoleManager.Show();
                        Console.Write("o ");
                        Coordonnee c = new Coordonnee(i, j);
                        liste.Add(c);
                    } //montre le chemin


                    else
                    if (MainClass.GetMap(i, j) == -1)
                    {// si le noeud est occupé
                        ConsoleManager.Show();
                        Console.Write("X ");
                    }
                    else
                    {
                        ConsoleManager.Show();
                        Console.Write(". ");
                    }// le reste libre
                }
                Console.WriteLine("");
            }
            return(liste);
        }
Example #32
0
        /// <summary>
        ///GetCercleCoord
        /// </summary>
        /// <param name="degree"></param>
        /// <param name="rayon"></param>
        /// <returns></returns>
        private static Coordonnee GetCercleCoord(double degree, int rayon)
        {
            Coordonnee coord = new Coordonnee(Util.Context.Largeur, Util.Context.Hauteur);

            if (degree % 360 >= 0 && degree % 360 <= 180)
            {
                coord.X = 10 + (int)(rayon * Math.Sin(Math.PI * degree / 180));
            }
            else
            {
                coord.X = 10 - (int)(rayon * -Math.Sin(Math.PI * degree / 180)) - 1;
            }

            coord.Y = 19 - (int)(rayon * Math.Cos(Math.PI * degree / 180) + 0.5);

            return(coord.CheckCoord());
        }
Example #33
0
        /// <summary>
        /// GetCerlcleCoord
        /// </summary>
        /// <param name="degree"></param>
        /// <param name="rayon"></param>
        /// <returns></returns>
        public Coordonnee GetCercleCoord(Coordonnee centre, int degree, double rayon)
        {
            Coordonnee coord = new Coordonnee(Largeur, Hauteur);

            if (degree >= 0 && degree <= 180)
            {
                coord.X = centre.X + (int)(rayon * Math.Sin(Math.PI * degree / 180));
            }
            else
            {
                coord.X = centre.X - (int)(rayon * -Math.Sin(Math.PI * degree / 180)) - 1;
            }

            coord.Y = centre.Y - (int)(rayon * Math.Cos(Math.PI * degree / 180) + 0.5);

            return(coord.CheckCoord());
        }
Example #34
0
        /// <summary>
        /// SetMeteo
        /// </summary>
        /// <param name="temp"></param>
        public void SetMeteo(current meteo)
        {
            Color couleur = new Color {
                R = 64, G = 0, B = 0
            };

            //Cadran
            string leading   = "";
            string deuxPoint = " ";
            int    heure     = DateTime.Now.Hour;

            if (heure == 0)
            {
                heure = 12;
            }

            if (heure > 12)
            {
                heure -= 12;
            }

            if (DateTime.Now.Millisecond < 500)
            {
                deuxPoint = ":";
            }

            if (heure < 10)
            {
                leading = " ";
            }

            if (meteo != null)
            {
                Print(Coordonnee.Get(4, 2, Largeur, Hauteur), meteo.temperature.value.ToString("0") + "°C", couleur);
            }

            if (meteo != null)
            {
                Print(Coordonnee.Get(2, 8, Largeur, Hauteur), "H " + meteo.humidity.value.ToString() + "%", couleur);
            }

            Print(Coordonnee.Get(2, 14, Largeur, Hauteur), leading + heure + deuxPoint + DateTime.Now.ToString("mm"), couleur);

            BackGround();
        }
Example #35
0
        /// <summary>
        /// GetTempCoord
        /// </summary>
        /// <param name="temp"></param>
        /// <param name="rayon"></param>
        /// <returns></returns>
        private Coordonnee GetTempsCoord(double temp, int rayon)
        {
            Coordonnee coord = new Coordonnee(Largeur, Hauteur);

            temp *= 6; //each minute and second make 6 degree

            if (temp >= 0 && temp <= 180)
            {
                coord.X = (Largeur / 2) + (int)(rayon * Math.Sin(Math.PI * temp / 180));
            }
            else
            {
                coord.X = (Largeur / 2) - (int)(rayon * -Math.Sin(Math.PI * temp / 180)) - 1;
            }

            coord.Y = (Hauteur / 2) - (int)(rayon * Math.Cos(Math.PI * temp / 180) + 0.5);

            return(coord.CheckCoord());
        }
Example #36
0
        /// <summary>
        /// GetCerlcleCoord
        /// </summary>
        /// <param name="degree"></param>
        /// <param name="rayon"></param>
        /// <returns></returns>
        //private Coordonnee GetCercleCoord(Coordonnee centre, int degree, int rayon)
        //{
        //	Coordonnee coord = new Coordonnee(Largeur, Hauteur);

        //	if (degree >= 0 && degree <= 180)
        //		coord.X = centre.X + (int)(rayon * Math.Sin(Math.PI * degree / 180));
        //	else
        //		coord.X = centre.X - (int)(rayon * -Math.Sin(Math.PI * degree / 180)) - 1;

        //	coord.Y = centre.Y - (int)(rayon * Math.Cos(Math.PI * degree / 180) + 0.5);

        //	return CheckCoord(coord);
        //}

        /// <summary>
        /// Print
        /// </summary>
        /// <param name="coord"></param>
        /// <param name="chaine"></param>
        /// <param name="couleur"></param>
        public void Print(Coordonnee coord, string chaine, Color couleur)
        {
            int y = coord.Y;

            for (int i = 0; i < chaine.Length; i++)
            {
                coord.Y = y;

                PrintLettre(coord, chaine[i], couleur);

                if (chaine[i] == ':' || chaine[i] == ' ' || chaine[i] == '.')
                {
                    coord.Droite(2);
                }
                else
                {
                    coord.Droite(4);
                }
            }
        }
Example #37
0
        public static Coordonnee ConvertirIdCaseEnCoordonnee(string idCase)
        {
            Regex maRegexCoordonnee = new Regex("^x([0-9]+)y([0-9]+)$", RegexOptions.IgnoreCase);

            Coordonnee uneCoordonnee;

            if (maRegexCoordonnee.IsMatch(idCase))
            {
                int X = int.Parse(maRegexCoordonnee.Match(idCase).Groups[1].ToString());
                int Y = int.Parse(maRegexCoordonnee.Match(idCase).Groups[2].ToString());

                uneCoordonnee = new Coordonnee(X, Y);
            }
            else
            {
                MessageBox.Show("Extraction coordonnées raté !");
                uneCoordonnee = null;
            }

            return(uneCoordonnee);
        }
Example #38
0
        /// <summary>
        /// GetHeureCoord
        /// </summary>
        /// <param name="heure"></param>
        /// <param name="minute"></param>
        /// <param name="rayon"></param>
        /// <returns></returns>
        private Coordonnee GetHeureCoord(int heure, int minute, int rayon)
        {
            Coordonnee coord = new Coordonnee(Largeur, Hauteur);

            //each hour makes 30 degree
            //each min makes 0.5 degree
            int val = (int)((heure * 30) + (minute * 0.5));

            if (val >= 0 && val <= 180)
            {
                coord.X = (Largeur / 2) + (int)(rayon * Math.Sin(Math.PI * val / 180));
            }
            else
            {
                coord.X = (Largeur / 2) - (int)(rayon * -Math.Sin(Math.PI * val / 180)) - 1;
            }

            coord.Y = (Hauteur / 2) - (int)(rayon * Math.Cos(Math.PI * val / 180) + 0.5);

            return(coord.CheckCoord());
        }
Example #39
0
        /// <summary>
        /// Cercle
        /// </summary>
        /// <param name="degree"></param>
        /// <param name="rayon"></param>
        /// <param name="x"></param>
        /// <param name="y"></param>
        /// <returns></returns>
        public static Coordonnee Cercle(int degree, double rayon, int x = 10, int y = 10)
        {
            Coordonnee coord = new Coordonnee(Util.Context.Largeur, Util.Context.Hauteur);

            if (degree >= 0 && degree <= 180)
            {
                coord.X = x + (int)(rayon * Math.Sin(Math.PI * degree / 180));
            }
            else
            {
                coord.X = x - (int)(rayon * -Math.Sin(Math.PI * degree / 180)) - 1;
            }

            coord.Y = y - (int)(rayon * Math.Cos(Math.PI * degree / 180) + 0.5);

            if (coord.X < 0)
            {
                return(null);
            }

            if (coord.Y < 0)
            {
                return(null);
            }

            if (coord.X > coord.MaxX - 1)
            {
                return(null);
            }

            if (coord.Y > coord.MaxY - 1)
            {
                return(null);
            }

            return(coord);
        }
Example #40
0
 public TypeCase GetTypeCase(Coordonnee c)
 {
     return _grille[c.X][c.Y];
 }
Example #41
0
 public virtual void Deplacer(Coordonnee caseCible, TypeCase caseActuelle)
 {
     // On aura verifie au prealable la validite de la case cible
     this._coordonnee = caseCible;
     this._pointsDeplacement--;
 }
 public bool Equals(Coordonnee toCompar)
 {
     return this.getX() == toCompar.getX() && this.getY() == toCompar.getY();
 }
Example #43
0
 /**
  * Methode permettant de savoir si une coordonnee appartient a la carte
  * @param c La coordonnée a tester
  * @return true si la coordonnee appartient a la carte, false sinon
  */
 protected Boolean appartient(Coordonnee c)
 {
     int x = c.X;
     int y = c.Y;
     return x >= 0 && x < LARGEURCARTE && y >= 0 && y < HAUTEURCARTE;
 }
 public void Test_Coordonnee_1()
 {
     Coordonnee c = new Coordonnee(0, 1);
     Assert.IsTrue(c.X == 0);
     Assert.IsTrue(c.Y == 1);
 }
Example #45
0
 public UniteNain(int j, Coordonnee c)
     : base(j, c)
 {
 }
Example #46
0
 public UniteGaulois(int j, Coordonnee c)
     : base(j, c)
 {
 }
 private void placeEntryDoors(Coordonnee doorPlace)
 {
     entreX = UnityEngine.Random.Range((1 + (doorPlace.getX() * 10)), (((doorPlace.getX()+1) * 10)-1));
     entreY = UnityEngine.Random.Range((2 + (doorPlace.getY()) * 8), (((doorPlace.getY()+1) * 8) - 1));
     level[entreX, entreY] = BlocConstant.ENTER_NUMBER;
     level[entreX, entreY + 1] = BlocConstant.BLOC_NUMBER;
 }
Example #48
0
 public UniteViking(int j, Coordonnee c)
     : base(j, c)
 {
 }
 private void placeExitDoors(Coordonnee doorPlace)
 {
     sortieX = UnityEngine.Random.Range((1 + (doorPlace.getX() * 10)), (((doorPlace.getX() + 1) * 10) - 1));
     sortieY = UnityEngine.Random.Range((2 + (doorPlace.getY()) * 8), (((doorPlace.getY() + 1) * 8) - 1));
     level[sortieX, sortieY] = BlocConstant.EXIT_NUMBER;
     level[sortieX, sortieY + 1] = BlocConstant.BLOC_NUMBER;
 }
Example #50
0
 private List<Unite> unitesEnemiesSurCase(Coordonnee c)
 {
     List<Unite> res = new List<Unite>();
     foreach(Unite u in this._carte.GrilleUnites[c]) {
         if(u.Joueur != this._joueurs[0].Id)
             res.Add(u);
     }
     return res;
 }
 public void Test_Coordonnee_3()
 {
     Coordonnee c = new Coordonnee(0, 0);
     Assert.IsTrue(c == (new Coordonnee(0, 0)));
 }
    private void placeDoors()
    {
        Coordonnee entryChoice = new Coordonnee(UnityEngine.Random.Range(1, 4), UnityEngine.Random.Range(1, 4));
        int[,] map = new int[4,4];
        List<Coordonnee> exitChoice = getNotVoisinAtSomeDistance(map, 4, 4, entryChoice, 2, 0);

        int choice = UnityEngine.Random.Range(0,exitChoice.Count);
        Coordonnee exitCoordonne = exitChoice[choice];
        placeEntryDoors(entryChoice);
        placeExitDoors(exitCoordonne);
    }
 public void Test_Coordonnee_4()
 {
     Coordonnee c = new Coordonnee(0, 0);
     Assert.IsTrue(c.Equals(new Coordonnee(0, 0)));
 }
    private List<Coordonnee> getVoisinAtSomeDistance(int[,] map, int mapWidth, int mapHeight, Coordonnee startPoint, double distance, int forJump)
    {
        List<Coordonnee> result = new List<Coordonnee>();

        for (int i = 0; i < mapWidth; i++)
        {
            for (int j = 0; j < mapHeight; j++)
            {
                Coordonnee distantePoint = new Coordonnee(i, j);
                double distanceCalcule = startPoint.getDistance(distantePoint);
                if (distanceCalcule <= distance && map[i, j] == forJump && distanceCalcule != 0)
                {
                    result.Add(distantePoint);
                }
            }
        }

        return result;
    }