Вы находитесь на странице: 1из 14

Compartir

Informar sobre mal uso

Siguiente blog

Crear un blog

Acceder

Curso C#
lunes, 4 de abril de 2011

Seguidores
Participar en este sitio
Google Friend Connect

Ejercicio. Implementar el juego del tres en raya (tambin llamado Tic Tac Toe o "de la vieja")

Miembros (3)

Ya eres miembro? Acceder

Encuestas/Consultas
Presentacin

Etiquetas

ejercicios (18) teora (14) diapositivas (10) ADO


.NET (9) ASP .NET (9) ejemplos (8) concurrencia (6) threading (6)
forms (5) hilos (5) delegados (3) grficos (3) POO (2) arreglos (2) dudas

Programa en C# el juego del tres en raya. Inicialmente vamos a hacerlo para dos jugadores que manejan el ratn, la versin ms simple. Ten en cuenta las siguientes consideraciones: Crea una aplicacin Windows en Sharp Develop y emplea componentes botn (Button) para representar cada celda del juego. Las celdas tendrn un tamao de 75x75 pixels. Inicialmente el color de fondo de las celdas ser negro. No repitas el cdigo para atender el evento de clic en cada celda. Trata simplemente de recoger una referencia al objeto botn que produjo el evento para manipularlos todos de forma genrica. Esto es, en cada manejador del clic aparecer: celda =(Button)sender; siendo celda un atributo miembro del formulario de la clase Button. Para poner X o O se cargar la imagen respectiva en el botn. Para cargar una imagen en un botn modifica su atributo Image como en este ejemplo: celda.Im age=Im age.From File("tres_en_raya_O.jpg");

(2) herencia (2) libros (2) referencias (2) servicios web (2) tipos (2) vectores (2)
IDE (1) bases de datos (1) cadenas (1) clases (1) enumeraciones (1) eventos (1) herramientas (1) login (1) mtodos (1) objetos (1) parmetros (1) plataforma .NET (1) polimorfismo (1) repaso (1) sesiones (1) sintaxis (1) tablas (1) temario (1) videotutoriales (1)

Archivo del blog


2011 (49) abril (4) Ejercicio. Implementar el juego del tres en raya (... Ejercicio. Extender la aplicacin de dibujo Ejemplo funcional de aplicacin para dibujar grfi... Ejemplos. Grficos marzo (45)

Herramientas/Bibliogra fa

Desemsamblador ILDASM v2 Libro del curso Microsoft .NET Framework 3.5 Sharp Develop

Hacer clic sobre una celda en la que ya se ha jugado no debe tener efecto (puedes avisar al jugador mostrando un error en una etiqueta) El juego debe detenerse cuando alguien haya ganado y debe mostrar en una etiqueta quin es el ganador. Debe ser posible reiniciar el juego, una vez acabado o en medio de una partida, mediante un botn de Reset. Debe ser posible elegir el turno inicial. Una vez que funcione, trata de aadir manejadores de eventos para las teclas, de tal forma que cada jugador pueda jugar indistintamente con el ratn o con el teclado. Para ello puedes suponer la configuracin qwe asd zxc haciendo corresponder a cada celda la letra que ocupa su misma posicin. Para recordar cmo manejar eventos de teclado revisa el ejemplo del juego del Pong

Visual C# 2008 Express Visual Web Developer 2008 express

Prcticas
Fundamentos: Diapositivas y prcticas

Enlaces de inters
Blog en espaol sobre MCTS 70-536 Curso completo de C# Cdigo de los ejemplos del libro MCTS 70-536 Diapositivas ASP.NET Ejemplo de autenticacin en ASP.NET Ejemplo de creacin de un control de servidor personalizado

Finalmente, habilita una opcin para jugar contra la mquina. Para ello, en el turno de la mquina debes simular cierta "inteligencia" que sea capaz de tomar buenas decisiones. Lo ideal sera utilizar el algoritmo del minimax. Haz clic en este enlace y vete a la pgina 13 del documento para comprobar en qu consiste. Adems de una clara explicacin de su mecanismo dispones del pseudocdigo para implementarlo recursivamente. Simplemente, trata de adaptarlo a la sintaxis de C#.

Ejemplo paso a paso ASP.NET Ejemplos avanzados de ASP. NET Ejemplos bsicos de C# Libro examen MCTS 70-536 Videotutoriales Wikilibro C#.NET

Solucin con minimax sin heurstica: descrgalo aqu

Publicado por Salvador Fernndez en 08:11


Recomendar esto en Google

Sin comentarios:

Etiquetas: ejercicios, repaso

sbado, 2 de abril de 2011

Ejercicio. Extender la aplicacin de dibujo


Modifica el cdigo de ejemplo del post anterior para que en el cuadro de lectura de datos de "Figura" se nos pregunte por las coordenadas X e Y de un punto origen y las coordenadas X e Y de un punto destino para dibujar una lnea recta.

Haz clic en la imagen para descargar el proyecto con la solucin

Publicado por Salvador Fernndez en 04:35


Recomendar esto en Google

Sin comentarios:

Etiquetas: grficos

Ejemplo funcional de aplicacin para dibujar grficos

Haz clic en la imagen para descargar la aplicacin de ejemplo que te servir de base para tus prcticas

Publicado por Salvador Fernndez en 02:58


Recomendar esto en Google

Sin comentarios:

Etiquetas: grficos

viernes, 1 de abril de 2011

Ejemplos. Grficos
Se puede usar grficos para mejorar la interface de una aplicacin, crear grficos, reportes y editar imgenes. Leccin 1 - Dibujando grficos

System.Drawing permite crear grficos o modificar imgenes. Cambiar de tamao una imagen, crear crculos, lneas u otras formas, hacer zoom a imgenes, adherir copyright a logos o textos, etc. Clases: Bitmap Encapsula un mapa de bits de GDI+, formado por los datos de pxel de una imagen de grficos y sus atributos. Un objeto Bitmap es utilizado para trabajar con imgenes definidas por datos de pxel. Brush Las clases derivadas de esta clase base abstracta definen objetos utilizados para rellenar el interior de formas grficas, como rectngulos, elipses, grficos circulares, polgonos y rutas. Brushes Pinceles de todos los colores estndar. No se puede heredar esta clase. ColorConverter Convierte colores de un tipo de datos a otro. Se tiene acceso a esta clase mediante TypeDescriptor. ColorTranslator Convierte colores a y de estructuras Color GDI+. No se puede heredar esta clase. Font Define un formato concreto para el texto, incluidos el nombre de fuente, el tamao y los atributos de estilo. No se puede heredar esta clase. FontConverter Convierte objetos Font de un tipo de datos en otro. Se tiene acceso a la clase FontConverter mediante el objeto TypeDescriptor. FontFamily Define un grupo de tipos de letra que tienen un diseo bsico parecido y algunas diferencias de estilo. No se puede heredar esta clase. Graphics Encapsula una superficie de dibujo GDI+. No se puede heredar esta clase. Icon Representa un icono de Windows, que es una pequea imagen de mapa de bits utilizada para representar un objeto. Los iconos se pueden considerar como mapas de bits transparentes, aunque su tamao lo determina el sistema. IconConverter Convierte objetos Icon de un tipo de datos en otro. Se tiene acceso a esta clase mediante el objeto TypeDescriptor. Image Clase base abstracta que proporciona funcionalidad para las clases descendentes Bitmap y Metafile. ImageAnimator Da animacin a una imagen que tiene marcos basados en tiempo. ImageConverter ImageConverter es una clase que se puede utilizar para convertir objetos Image de un tipo de datos a otro. Se tiene acceso a esta clase mediante el objeto TypeDescriptor. ImageFormatConverter ImageFormatConverter es una clase que se puede utilizar para convertir colores de un tipo de datos a otro. Se tiene acceso a esta clase mediante el objeto TypeDescriptor. Pen Define un objeto utilizado para dibujar lneas y curvas. No se puede heredar esta clase. Pens Lpices de todos los colores estndar. No se puede heredar esta clase. PointConverter Convierte objetos Point de un tipo de datos en otro. Se tiene acceso a esta clase mediante el objeto TypeDescriptor. RectangleConverter Convierte rectngulos de un tipo en otro tipo. Se tiene acceso a esta clase mediante TypeDescriptor. Region Describe el interior de una forma grfica formada por rectngulos y rutas. No se puede heredar esta clase. SizeConverter SizeConverter es una clase que se utiliza para convertir un tipo de datos en otro. Se tiene acceso a esta clase mediante el objeto TypeDescriptor.

SolidBrush Define un pincel de un solo color. Los pinceles se utilizan para rellenar formas de grficos, por ejemplo rectngulos, elipses, grficos circulares y rutas. No se puede heredar esta clase. StringFormat Encapsula informacin de diseo del texto (como interlineado y alineacin), manipulaciones de presentacin (como insercin de puntos suspensivos y sustitucin de dgitos nacional) y caractersticas de OpenType. No se puede heredar esta clase. SystemBrushes Cada una de las propiedades de la clase SystemBrushes es un objeto SolidBrush que es el color de un elemento de presentacin de Windows. SystemColors Cada una de las propiedades de la clase SystemColors es una estructura Color que es el color de un elemento de presentacin de Windows. SystemIcons Cada una de las propiedades de la clase SystemIcons es un objeto Icon de los iconos de todo del sistema de Windows. No se puede heredar esta clase. SystemPens Cada una de las propiedades de la clase SystemPens es un objeto Pen que es el color de un elemento de presentacin de Windows y es un ancho de 1. TextureBrush Cada una de las propiedades de la clase TextureBrush es un objeto Brush que utiliza una imagen para rellenar el interior de una forma. No se puede heredar esta clase. ToolboxBitmapAttribute Se puede aplicar un objeto. ToolboxBitmapAttribute a un control de manera que los contenedores, como el Diseador de formularios de Microsoft Visual Studio, puedan recuperar un icono que represente el control. El mapa de bits del icono puede encontrarse en un archivo por s solo o incrustado en el ensamblado que contiene el control. El tamao del mapa de bits que se incrusta en el ensamblado del control (o que se almacena en un archivo independiente) debe ser de 16 por 16. El mtodo GetImage de un objeto ToolboxBitmapAttribute puede devolver la imagen pequea de 16 por 16 o una imagen grande de 32 por 32 creada mediante un ajuste de escala de la imagen pequea. Como especificar el tamao y ubicacin de un control. El uso ms comn de System.Drawing es especificar la ubicacin de algn control, cuando se est creando de manera dinmica (por cdigo). Para realizarlo se crea un punto al que se le pasa dos parmetros (distancia desde arriba, distancia desde el lado izquierdo) para setear la propiedad Location del control. Ejemplo

Una forma alternativa se puede setear directamente las propiedades left y top del control.

Tambin es posible especificar el tamao:

Como especificar el color de los controles Para modificar los colores de un control, se puede utilizar la estructura Color de la siguiente forma:

Si es que se necesita especificar un color personalizado, se puede utilizar el mtodo Color.FromArgb():

Como dibujar lneas y formas Para dibujar en un formulario o en un control, se deben de seguir los siguientes pasos: 1. Crea un objeto Graphics llamando al mtodo system.Windows.Forms.Control.CreateGraphics 2. Crear un objeto Pen 3. Llamar al miembro de Graphics para dibujar en el cotrol, usando el Pen. Una vez que se ha creado el objeto graphics, se puede utilizar muchos mtodos para mejorarlo como Clear DrawEllipse Borra la superficie de dibujo y la rellena con el color de fondo especificado. Dibuja una elipse definida por un rectngulo delimitador especificado por un par de coordenadas, un valor de alto y un valor de ancho. DrawIcon Dibuja la imagen representada por el Icon especificado en las coordenadas Sealadas. DrawIconUnstretched Dibuja la imagen representada por el Icon especificado sin transformar a escala la imagen. DrawImage DrawLine DrawLines Dibuja la Image especificada en la ubicacin que se indique y con el tamao original. Dibuja una lnea que conecta los dos puntos especificados por los pares de coordenadas. Dibuja una serie de segmentos de lnea que conectan una matriz de estructuras Point. Dibuja un GraphicsPath. Dibuja una forma circular definida por una elipse determinada por un par de coordenadas, unos valores de ancho y alto y dos lneas radiales. DrawPolygon DrawRectangle Drawrectangles DrawString Dibuja un polgono definido por una matriz de estructuras Point. Dibuja un rectngulo especificado por un par de coordenadas, un valor de ancho y un valor de alto. Dibuja una serie de rectngulos especificados por las estructuras Rectangle. Dibuja la cadena de texto especificada en la ubicacin especificada y con los objetos Brush y Font especificados. Para especificar cualquiera de esos mtodos se debe proveer una instancia de la clase Pen. En el constructor de Pen (lapiz), se especifican el color y width en pixeles:

DrawPath DrawPie

Mtodos como Graphics.DrawLines, Graphics.DrawPolygon, Graphics.DrawRectangles, aceptan arreglos de puntos como parmetros, para crear figuras ms complejas.

Como personalizar Pens? Adems de controlar el color y el tamao del pen (lapiz), que se especifican en el contructor, tambin se puede controlar el patrn y su endcap. Endcap es el final de una lnea, pueden ser utilizados para crear flechas. Para crear un lapiz que dibuje lneas punteadas, se debera de setear la propiedad de Pen.DashStyle a uno de los siguientes valores: DashStyle.Dash (guion) DashStyle.DashDot (guion punto) DashStyle.DashDotDot (guion punto punto) DashStyle.Dot (punto) DashStyle.Solid. (solido) Ejemplo

Tambien es posible utilizar Pen.DashOffset y Pen.DashPattern para definir patrones dash(guion). Para crear flechas, uno debe de modificar las propiedade Pen.StartCap y Pen.EndCap, utilizando el enumerador LineCap, que tiene valores como: LineCap.ArrowAnchor LineCap.DiamonAnchor LineCap.SquareAnchor LineCap.Triangle LineCap.Flat LineCap.Round LineCap.RoundAnchor LineCap.Square Ejemplo:

Como llenar formas? La mayora de los mtodos de la clase grafics tiene tambin un mtodo llamado fill que dibuja una forma (shape) y la rellena. Estos mtodos requieren una instancia de la clase Brush, la cual es abstracta, entonces se debe de instanciar una clase hija: System.Drawing.Drawing2D.HatchBrush define un rectangular brush

con un estilo hatch System.Drawig.Drawing2D.LinearGradientBrush encapsula un brush con un gradiente lineal. System.Drawing.Drawing2D.PathGradientBrush igual que el anterior, solo que provee un llenado ms complejo System.Drawing.SolidBrush System.Drawing.TextureBrush Ejemplo: Define un Brush de un color simple. define un Brush desde una imagen

Leccin 2 trabajando con imgenes System.Drawing.Image es una clase abstracta que permite crear, cargar, modificar y grabar imgenes, como BMP, jpg o tif. La clase Image es abstracta, por lo tanto se debe de crear una instancia usando Image.FromFile, el cual recibe como parmetro un path a la imagen, y Image.FromStream, que recibe un System.IO.Stream como parmetro. Tambin se pueden utilizar dos clases que heredan de la clase Image: System.Drawing.Bitmap (para imgenes) y System.Drawing.Imaging.Metafile (para imgenes animadas). Bitmap es la clase mas usada comnmente para trabajar con imgenes. Los diferentes constructores de Bitmap, permiten crear un Bitmap a partir de una Imagen, archivo o stream, o sino crear un bitmap en blanco con un height (alto) y width(ancho) especificado. Bitmap contiene 2 metodos importantes que la clase Image carece: GetPixel, el cual devuelve un objeto Color, con los colores de ese pixel. SetPixel, setea el color de un pixel. Como mostrar imgenes? Para mostrar una imagen guardada en el disco, se debe utilizar Image.FromFile, crear un control PictureBox y usar la imagen para definir PictureBox.Background: Por ejemplo, para mostrar una image:

Para colocar una imagen como el fondo de un form:

Como crear y guardas imagines? Para crear una imagen nueva, se debe generar una intancia de la clase Bitmap (uno de los constructores que no requiere una imagen existente, con el mtodo Bitmap.SetPixel o editar una existente usando Graphics.FromImage). Para grabar una imagen, el Bitmap usa su mtodo Bitmap.Save, ( que recibe como primer parmetro el nombre del archivo y como segundo el formato en que se desea almacenar la imagen). Ejemplo:

Como usar Iconos? Los iconos son bitmaps transparentes, de un tamao especifico, para expresar el estado en Windows. Una forma simple de agregar iconos a un form es con los mtodos Graphics.DrawIcon o Graphics.DrawIconUnstretched:

Se puede editar un Icono, llamando al mtodo Icon.ToBitmap para crear un bitmap que puede ser editado. Leccin 3 Formateando texto

Como adherir texto a grficos? Para agregar texto a una imagen, debemos: 1. Crear un objeto graphics 2. Crear un objeto Font 3. crear un objeto Brush (opcional) 4. Utilizar el mtodo Graphics.DrawString y especificar la ubicacin del texto.

Como crear un objeto Font? La clase fonts tiene 13 sobrecargas de su contructor, el ms simple es pasarle la familia de la fuente(string) ej: arial, el tamao (float/int)y el estilo (fontStyle). Ejemplo:

O pasndole un FontFamily

Y si necesitamos leer el tipo de fuente desde un string, se puede usar la clase FontConverter (no es muy recomendada porque puede generar errores)

Como escribir texto? Despus de crear un objeto font, se debe crear un brush para definir cmo se va a rellenar el texto. Para agregar el texto a una imagen se llama a Graphics.DrawString:

Como controlar el formateo de texto? .Net framework brinda control sobre la alineacin y direccin del texto usando la clase StringFormat. Los miembros ms importantes de StringFormat son:

Ejemplo de utilizacin de StringFormat:

Publicado por Salvador Fernndez en 18:00


Recomendar esto en Google

Sin comentarios:

Etiquetas: ejemplos, grficos

jueves, 31 de marzo de 2011

Ejercicio. Servicio web que calcula la letra del DNI

Crea un servicio web y una interfaz que lo use en la que, introduciendo el DNI de una persona, obtenemos su letra correspondiente. NOTA: Puedes consultar el algoritmo necesario y servirte del cdigo de este link
Publicado por Salvador Fernndez en 10:25
Recomendar esto en Google

Sin comentarios:

Etiquetas: ASP .NET, ejercicios, servicios web

Ejercicio. Consultar informacin de cdigos IANA

Utiliza el siguiente servicio web, http://xmethods.com/ve2/ViewListing.po;jsessionid=eNKpjiPDB3WDG5g4ePRdh4u L?key=467143, para crear una interfaz web en la que dado el dominio primario de internet de un pas (cdigo IANA) nos muestre su nombre, latitud y longitud.
Publicado por Salvador Fernndez en 10:19
Recomendar esto en Google

Sin comentarios:

Etiquetas: ASP .NET, servicios web

Ejercicio. Habilitar acceso por login.

A la aplicacin web del ltimo ejemplo posteado ("Consulta de notas de un alumno") vamos a incluirle un control de acceso de manera que slo el usuario que nosotros registremos pueda utilizarla. Sigue los pasos: Primero vamos a crear el formulario para loguearnos: 1. Abre la solucin de consulta de notas de un alumno. 2. En el explorador de soluciones haz clic con el botn derecho del ratn sobre la raz del rbol de exploracin que representa el proyecto y selecciona la opcin "Agregar nuevo elemento" 3. En el cuadro de dilogo selecciona "Web Forms" y ponle como nombre "Login.aspx". Recuerda marcar C# como lenguaje de nuestro nuevo Web Form. 4. Accede a la vista diseo de Login.aspx e inserta un objeto "Login". Lo encontrars en el cuadro de herramientas, en el subgrupo "Inicio de sesin" Ahora, para proteger el conjunto de nuestra aplicacin la meteremos en una subcarpeta dentro del sitio: 1. En el explorador de soluciones haz clic con el botn derecho del ratn sobre la raz del rbol de exploracin que representa el proyecto y selecciona la opcin "Nueva carpeta". Ponle de nombre "Aplicacion". 2. Arrastra los archivos que forman parte de la aplicacin a la nueva subcarpeta, esto es, "ConsultarNotas.aspx" y "ResultadoForm.aspx". No obstante, no arrastres el archivo "web.config" Nos queda crear un usuario y darle los permisos apropiados:

1. Vuelve a la vista diseo de Login.aspx, selecciona el control Login y haz clic en la fecha de la parte superior derecha para abrir sus opciones. Selecciona "Administrar sitio web" 2. Se abrir una ventana de configuracin en el navegador. 3. En la pestaa "Pgina principal" haz clic en "Seguridad". 4. Ahora, haz clic en "Utilice el Asistente para la configuracin de seguridad para configurar la seguridad paso a paso" y se iniciar un asistente de configuracin. 5. El paso 1 es la bienvenida. Simplemente haz clic en "Siguiente" 6. En el paso 2, "Seleccionar mtodo de acceso", marca la opcin "Desde Internet". Haz clic en "Siguiente" 7. Ignora los pasos 3 y 4 pulsando en "Siguiente" 8. En el paso 5, "Agregar nuevos usuarios", te aparecer un formulario para crear un nuevo usuario. Rellena todos los campos y haz clic en "Siguiente" 9. El paso 6 te permite aadir reglas de acceso. Tenemos que centrarnos en la subcarpeta que queremos proteger, esto es, la subcarpeta "Aplicacion". As que seleccinala en el rbol de la izquierda expandiendo primero el nodo principal (clic en el smbolo [+]). 10. Debes aadir dos reglas: la primera que deniegue el permiso a los usuarios annimos y la segunda que permita el acceso al usuario que creaste en el paso 5. No olvides pulsar el botn "Agregar esta regla" una vez configuradas las opciones para que quede guardada. 11. Al hacer clic en "Siguiente" habrs terminado la configuracin. Finalmente, aadimos unos pequeos ajustes al archivo "web.config". En realidad, ahora tendrs dos "web.config". Si haces clic con el botn derecho en la carpeta "Aplicacin" en el explorador de soluciones y seleccionas la opcin "Actualizar carpeta" vers que el asistente te ha aadido un archivo "web.config" en la subcarpeta. Si lo abres vers las reglas de acceso definidas:

Aclarado esto, vamos a abrir el otro "web.config", el que est en la raz del sitio web y busca la etiqueta . Como puedes observar, est cerrada, no se ha incluido nada en ella. Simplemente brela y aade las siguientes etiquetas para indicar la pgina de login a la que debe redirigirnos la aplicacin en caso de que intentemos acceder a un recurso protegido sin habernos logueado as como la pgina por defecto a la que se redirigir el flujo una vez que el login ha tenido xito.

Ya puedes ejecutar la aplicacin y comprobar que funciona. Es importante que limpies las cookies del navegador entre prueba y prueba porque puede suceder

que pienses que la aplicacin te est dejando acceder directamente a la pgina protegida sin haber hecho login cuando quizs no haya expirado el tiempo mximo de login de un acceso correcto anterior. Debes verificar que:

1. Si escribes la URL de la pgina "ConsultarNotas.aspx" en el navegador, te redirige a la pgina de login. 2. Si ingresas correctamente el usuario y la contrasea te redirige a la aplicacin para consultar las notas. 3. Puedes seguir accediendo a "ConsultarNotas.aspx" aunque cierres la pestaa del navegador y vuelvas a entrar, pero siempre dentro del lmite de tiempo establecido en el archivo de configuracin.

Publicado por Salvador Fernndez en 06:51


Recomendar esto en Google

Sin comentarios:

Etiquetas: ASP .NET, ejercicios, login

Pgina principal
Suscribirse a: Entradas (Atom)

Entradas antiguas

Plantilla Watermark. Con la tecnologa de Blogger.