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(); }
/* * 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)); }
/* * 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; }
/** * 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; } }
/** * 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; }
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); } }
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()); }
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()); }
/** * 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); }
public async Task <ActionResult <Coordonnee> > PostCoordonnee(Coordonnee coordonnee) { _context.Coordonnee.Add(coordonnee); await _context.SaveChangesAsync(); return(CreatedAtAction("GetCoordonnee", new { id = coordonnee.Id }, coordonnee)); }
public Pheromone Creer(Coordonnee position) { idGenerator++; Coordonnee posNoReference = new Coordonnee(position.X, position.Y); return(new Pheromone(idGenerator, posNoReference)); }
/// <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) ); }
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); }
/// <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); }
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)); }
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)); }
/// <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); }
/// <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); }
/// <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()); }
/// <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()); }
/// <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(); }
/// <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()); }
/// <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); } } }
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); }
/// <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()); }
/// <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); }
public TypeCase GetTypeCase(Coordonnee c) { return _grille[c.X][c.Y]; }
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(); }
/** * 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); }
public UniteNain(int j, Coordonnee c) : base(j, c) { }
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; }
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; }
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; }