Foros aprenderaprogramar.com
		Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: javierx0246 en 09 de Enero 2023, 16:32
		
			
			- 
				Hola estoy haciendo un ejercicio y me falla la parte donde yo tengo que poner el valor. Al atributo valor y el enumerado.
 
 
 El ejercicio
 Debes definir un tipo valor que represente un Naipe de la baraja Española de 48 cartas. El tipo estará compuesto por dos miembros: un valor y un palo, este último sera de tipo enumerado con los siguientes valores posibles: Oros, Copas, Bastos, Espada.
 Crea un método en la clase principal que utilizando el tipo Naipe nos devuelva una baraja con las 48 cartas, usa una matriz Naipe[,] baraja= new Naipe[4,12] e inicialízala suponiendo que cada fila representa un palo.
 
 
 Mi codigo
 
 
 
 
 
 using System.Runtime.InteropServices;
 using System.ComponentModel;
 using System.Text;
 using System.Text.RegularExpressions;
 internal class Program
 {
 struct Naipe
 {
 public enum Tipo { Oros, Copas, Bastos, Espada }
 public Tipo tipo;
 public readonly int valor;
 public Naipe(Tipo tipo, int valor)
 {
 
 this.valor = valor;
 this.tipo = tipo;
 }
 
 
 }
 
 
 public static void Baraja()
 {
 Naipe[,] Baraja = new Naipe[4, 12];
 for (int i = 0; i < Baraja.GetLength(0); i++)
 {
 for (int j = 0; j < Baraja.GetLength(1); j++)
 {
 Baraja[i, j].tipo = Naipe.Tipo.Oros;
 Baraja[i, j].valor=0
 }
 }
 
 
 }
 private static void Main(string[] args)
 {
 
 
 Program.Baraja();
 Console.ReadLine();
 
 
 }
 
 }
 Gracias
- 
				Hola.
 No controlo C# así que no se decirte el código concreto que necesitas.
 
 Pero la lógica a seguir sería que con el indice i del primer bucle
  for (int i = 0; i < Baraja.GetLength(0); i++)Lo uses para recorrer los 4 valores del enum Tipo
 
 Y el índice j del segundo bucle,
 for (int j = 0; j < Baraja.GetLength(1); j++)para asignar los 12 valores posibles a las cartas.
 Este índice j va a ir de 0 a 11, pero las cartas van a tener valores de 1 a 12, así que al asignar valores tendrás que sumar +1 al índice.
 
 En esto que pongo abajo, la línea azul ya estaría correcta.
 Es la roja la que hay que averiguar como, mediante el índice i que va a recorrer los valores de 0 a 3, obtener cada uno de los 4 enum.
 No se como se hace eso en C# ni dispongo de tiempo para investigarlo  :-\
 Pero quizás tú tengas apuntes o algún ejercicio de ejemplo donde se explique
 
         for (int i = 0; i < Baraja.GetLength(0); i++)
 {
 for (int j = 0; j < Baraja.GetLength(1); j++)
 {
 Baraja[i, j].tipo = Naipe.Tipo.Oros;
 Baraja[i, j].valor= j + 1;
 }
 }