public void DefinirTransporte(string transporte) { switch (transporte) { case "A pie": Transporte = new Peaton(); break; case "En auto": Transporte = new Auto(); break; case "En bici": Transporte = new Bici(); break; case "En colectivo": Transporte = new Colectivo(); break; case "En avión": Transporte = new Avion(); break; } }
static void Main(string[] args) { string cNombre = string.Empty, cExtension = string.Empty; IEstrategia estrategia = null; Console.WriteLine("Ingrese el nombre del archivo"); cNombre = Console.ReadLine(); Console.WriteLine("Ingrese la extensión del archivo"); cExtension = Console.ReadLine(); switch (cExtension.ToUpper()) { case "BMP": estrategia = new ConcretarBMPServicio(); break; case "JPGE": estrategia = new ConcretarJPGEServicio(); break; case "PNG": estrategia = new ConcretarPNGServicio(); break; } ServicioConcreto srvConcreto = new ServicioConcreto(estrategia); srvConcreto.generar(cNombre); Console.ReadKey(); }
// crea un personaje public Personaje(Casilla posicion, int resistencia, int velocidad) : base(posicion) { this.resistencia = resistencia; this.velocidad = velocidad; this.porcentajeDeRetardo = PORCENTAJE_DE_RETARDO; this.explotoLaBombaLanzada = true; this.estrategiaDeLanzamiento = null; }
public Robo(string id, IVisao <Img, VtoERobo, PlaceToDraw> visao, IEstrategia <VtoERobo, EtoCRobo, VtoEBola, VtoECampo> estrategia, IComunicacao <EtoCRobo> comunicacao) { this.id = id; infoEstrat = default(VtoERobo); infoExped = default(EtoCRobo); this.visao = visao; this.estrategia = estrategia; this.comunicacao = comunicacao; }
public void cargar_barcos(int jugador) { int _barcos = 1; int _longitud = 0; Flota _flotaCargada; if (jugador == 1) { flotas_estrategia1 = new List <Flota>(); tablero1 = new int[64, 64]; } else { flotas_estrategia2 = new List <Flota>(); tablero2 = new int[64, 64]; } while (_barcos <= cant_barcosxtipo) { _longitud = long_max_barco; while (_longitud >= long_min_barco) { List <Coordenada> coordenadas = posicionarFlota(_longitud, jugador); string nombreflota = obtenerNombre(_longitud); Color colorflota = obtenerColor(_longitud); _flotaCargada = new Flota(_longitud, nombreflota, coordenadas, colorflota); if (jugador == 1) { flotas_estrategia1.Add(_flotaCargada); } else { flotas_estrategia2.Add(_flotaCargada); } _longitud--; } _barcos++; } if (jugador == 1) { generadorEstrategia1 = new CongruencialMixto(seed, a1, c1, m1); //generadorEstrategia1 = new AleatorioSistema(); distrEstrategias = new DistribucionUniforme(0, 63, generadorEstrategia1); //distrEstrategias = new DistribucionNormal(32, 16, generadorEstrategia1); //distrEstrategias = new DistribucionExponencialNegativa((0.03125), generadorEstrategia1); estrategia_j1 = new EstrategiaEquipo1(flotas_estrategia1, distrEstrategias); } else { generadorEstrategia2 = new CongruencialMixto(seed, a2, c2, m2); //generadorEstrategia2 = new AleatorioSistema(); distrEstrategias = new DistribucionUniforme(0, 63, generadorEstrategia2); //distrEstrategias = new DistribucionNormal(32, 16, generadorEstrategia2); //distrEstrategias = new DistribucionExponencialNegativa((0.03125), generadorEstrategia2); estrategia_j2 = new EstrategiaEquipo2(flotas_estrategia2, distrEstrategias); } }
public void Main() { string cTexto = string.Empty, cFormato = string.Empty, cMensaje = string.Empty; string cMensajeInterno = "Se ha guardado la imagen {0}.{1}"; IEstrategia IEstrategia = null; Contexto contexto = new Contexto(); Console.WriteLine("Formatos\n1-BMP\n2-JPG\n3-JPG"); while (cTexto != "x") { cMensaje = ""; Console.WriteLine("Ingrese el nombre de la Imagen"); cTexto = Console.ReadLine(); Console.WriteLine("Seleccione el Formato a Generar"); cFormato = Console.ReadLine(); switch (cFormato) { case "1": { IEstrategia = new ImagenBMP(cMensajeInterno); } break; case "2": { IEstrategia = new ImagenJPG(cMensajeInterno); } break; case "3": { IEstrategia = new ImagenPNG(cMensajeInterno); } break; default: cMensaje = "Error"; break; } if (string.IsNullOrEmpty(cMensaje)) { contexto.AsignarEstrategia(IEstrategia); cMensaje = contexto.RealizarAccion(cTexto); } Console.WriteLine(cMensaje); Console.WriteLine("ingrese 'x' para salir o cualquier otra tecla para continuar"); cTexto = Console.ReadLine(); } }
//METODOS public void actualizar(Observado o) { ILugar lugar = (ILugar)o; if (lugar is Casa) { estrategia = new EstrategiaEscalera(); } if (lugar is Plaza) { estrategia = new EstrategiaEspiral(); } this.apagarIncendio(lugar, lugar.Calle); }
public void defineCustomRobo( string id, IVisao <Bitmap, InfoVtoERobo, PictureBox> visao, IEstrategia <InfoVtoERobo, InfoEtoCRobo, InfoVtoEBola, InfoVtoECampo> estrategia, IComunicacao <InfoEtoCRobo> comunicacao, ref PictureBox placeToDraw) { //visao.defineLugarDesenho(ref placeToDraw); controle.defineRobo(id, visao, estrategia, comunicacao); if (placeToDraw != null) { controle.defineLugarDesenhoRobo(id, ref placeToDraw); } }
/// <summary> /// Cria um novo robô/Atualiza suas propriedades, também chama o método de conexão para estabelece-la /// </summary> /// <param name="id">Identificador único do robô</param> /// <param name="visao">Classe que processa Imagem</param> /// <param name="estrategia">Processa Estratégia</param> /// <param name="comunicacao">Comunicação sem fio</param> public void defineRobo( string id, IVisao <Img, VtoERobo, PlaceToDraw> visao, IEstrategia <VtoERobo, EtoCRobo, VtoEBola, VtoECampo> estrategia, IComunicacao <EtoCRobo> comunicacao) { foreach (var x in robos) { if (x.Value.Visao == visao || x.Value.Comunicacao == comunicacao || x.Value.Estrategia == estrategia) { throw new Exception("Componentes de Visão, Estratégia e Expedidor devem ser Instâncias Distintas"); } } var robo = new Robo <Img, VtoERobo, EtoCRobo, VtoEBola, VtoECampo, PlaceToDraw>(id, visao, estrategia, comunicacao); lock (robos) if (robos.ContainsKey(id)) { if (visao != null) { robos[id].Visao = visao; } if (estrategia != null) { robos[id].Estrategia = estrategia; } if (comunicacao != null) { robos[id].Comunicacao.desconectar(); robos[id].Comunicacao = comunicacao; robos[id].Comunicacao.conectar(); } } else { robos.Add(id, robo); robos[id].Comunicacao.conectar(); } }
public void SetEstrategia(IEstrategia estrategia) { this.estrategia = estrategia; }
public Contexto(IEstrategia estrategia) { this.estrategia = estrategia; }
public Jugador(string nombre, IEstrategia estrategia) { Nombre = nombre; Estrategia = estrategia; Dinero = 0; }
public Objeto(IEstrategia estategia) { this.estategia = estategia; }
public void AsignarEstrategia(IEstrategia _IEstrategia) { this.IEstrategia = _IEstrategia; }
public EstrategiaContext(IEstrategia estrategia) { this.estrategia = estrategia; }
public void cambiarEstrategia(IEstrategia estrategia) { this.estrategia = estrategia; }
public ServicioConcreto(IEstrategia _estrategia) { this.estrategia = _estrategia; }
public Contexto(IEstrategia strategy) { this.strategy = strategy; }
public ProcesadorImagen(IEstrategia estrategia) { this.estrategia = estrategia; }
public void SetEstrategia(IEstrategia estrategia) { _estrategia = estrategia; }
public Jugador(string nombre, IEstrategia Iestrategia) { Nombre = nombre; _iestrategia = Iestrategia; }
public Contexto(IEstrategia _IEstrategia) { this.IEstrategia = _IEstrategia; }
// asigna la IA private void Inicializar() { this.inteligencia = new IAEnemigos(this); }
//CONSTRUCTOR public Bombero(Manejador sucesor) : base(sucesor) { this.estrategia = new EstrategiaSecuencial(); }
// Por lo general, el contexto permite reemplazar un objeto de estrategia en tiempo de ejecución public void SetearEstrategia(IEstrategia estrategia) { this._estrategia = estrategia; }