• Viernes 8 de Noviembre de 2024, 19:14

Autor Tema:  Buscaminas en C# consola  (Leído 8999 veces)

lilthot

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Buscaminas en C# consola
« en: Domingo 18 de Abril de 2010, 20:26 »
0
Me han dejado hacer un buscaminas en C# y no se como hacerlo
lo que quiero es que me digan como empesar a hacerlo y que es lo que necesito para empesarlo
tengo que hacerlo en visual studio.net en consola
elguien que me ayude

grandzam

  • Miembro MUY activo
  • ***
  • Mensajes: 118
    • Ver Perfil
Re: Buscaminas en C# consola
« Respuesta #1 en: Domingo 18 de Abril de 2010, 21:03 »
0
Hola que tal, podrías empezar creando una matriz y llenando la con 1's o con cualquier otro caracter que para tí signifiquen bombas, esto claro, de manera aleatoria... claro esta que después habrá que llenar las demás celdas con pistas para descubrir las bombas... luego ya pedirías al usuario que coordenada quiere, y si la quiere descubrir o le quiere poner su banderilla... creo que con eso podrías empezar...  :beer:

lilthot

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Buscaminas en C# consola
« Respuesta #2 en: Domingo 18 de Abril de 2010, 21:33 »
0
Cita de: "grandzam"
Hola que tal, podrías empezar creando una matriz y llenando la con 1's o con cualquier otro caracter que para tí signifiquen bombas, esto claro, de manera aleatoria... claro esta que después habrá que llenar las demás celdas con pistas para descubrir las bombas... luego ya pedirías al usuario que coordenada quiere, y si la quiere descubrir o le quiere poner su banderilla... creo que con eso podrías empezar...  :beer:

Gracias por decirme como empesar pero acabo de encontrar un codigo con un random y una matriz me podrias ayudar a hacer que tenga mas bombas y que las bombas e cambien aleatoreamente
te dejo el codigo para qeu lo chekes
   class matrices
   {
      public int[,] matriz;
      //static matrices.Main

      public void llenar_matriz_aleatoria(int n)
      {
         matriz = new int[10,10];
         Random rnd = new Random();
         int aleatorio = rnd.Next(1,1);
         int contador = 0;
         for (int i = 0; i < n; i++)
         {
            for (int j = 0; j < n; j++)
            {
               if (matriz[i, j] != aleatorio)
               {
                  contador++;
               }
               else
               {
                  i = 1;
                  j = 0;
                  contador = 0;
                  aleatorio = rnd.Next(1,1);
               }
               if (n == contador)
                  matriz[i, j] = aleatorio;
            }
         }

      }

      public void llenar_matriz_manual(int n)
      {
         matriz = new int[10, 10];
         for (int i = 0; i < n; i++)
            for (int j = 0; j < n; j++)
            {
               Console.WriteLine("digite numero en la posición " + i + "," + j + ":");
               matriz[i, j] = Convert.ToInt32(Console.ReadLine());
            }

      }
      public void imprimir_matriz(int n)
      {
         for (int i = 0; i < n; i++)
         {
            Console.WriteLine("");
               for (int j = 0; j < n; j++)
               {
                  Console.Write(matriz[i, j]+" ");
               }
         }
      }
      public static void Main(String[] args)
      {
         matrices matriz1 = new matrices();
         matrices matriz2 = new matrices();
         matriz1.llenar_matriz_aleatoria(5);
         matriz2.llenar_matriz_aleatoria(5);
         matriz1.imprimir_matriz(5);
         Console.WriteLine();
         matriz2.imprimir_matriz(5);
         Console.Read();
      }
   }
         
}

lilthot

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Buscaminas en C# consola
« Respuesta #3 en: Lunes 19 de Abril de 2010, 01:57 »
0
Cita de: "grandzam"
Hola que tal, podrías empezar creando una matriz y llenando la con 1's o con cualquier otro caracter que para tí signifiquen bombas, esto claro, de manera aleatoria... claro esta que después habrá que llenar las demás celdas con pistas para descubrir las bombas... luego ya pedirías al usuario que coordenada quiere, y si la quiere descubrir o le quiere poner su banderilla... creo que con eso podrías empezar...  :beer:


Aqui dejo el codigo que he hecho hasta el momento nadamasque no se como ponerle las bombas aleatoriamente
alguien que me ayudara acabarlo

class matrices
   {
      public int[,] matriz;
      //static matrices.Main

      public void llenar_matriz_aleatoria(int n)
      {
         int[,] numeros=new int[5,5];
         Console.WriteLine("Ingresar numero de coordenadas");
         for(int a=0; a<3; a++)//filas
         {
            for(int b=0; b<3; b++)//columnas
            {
               Console.WriteLine("{0}{1} del arreglo",a,b);
               numeros[a,b]=Convert.ToInt32(Console.ReadLine());
               matriz = new int[5,5];
               Random rnd = new Random();
               int aleatorio = rnd.Next(3,3);
               int contador = 0;
               for (int i = 1; i < 5; i++)
               {
                  for (int j = 1; j < 5; j++)
                  {
                     if (matriz[i, j] !=aleatorio)
                     {
                        contador++;
                     }
                     else
                     {
                        i = 1;
                        j = 1;
                        contador = 0;
                        aleatorio = rnd.Next(1,1);
                     }
                     if (n == contador)
                        matriz[i, j] = aleatorio;

                  }
               }

            }
         }
      }

      public void llenar_matriz_manual(int n)
      {
         matriz = new int[n,n];
         for (int i = 0; i < n; i++)
            for (int j = 0; j < n; j++)

            {
               Console.WriteLine("digite numero en la posición " + i + "," + j + "*");
               matriz[i, j] = Convert.ToInt32(Console.ReadLine());
            }

      }
      public void imprimir_matriz(int n)
      {
         for (int i = 0; i < n; i++)
         {
            Console.WriteLine("");
               for (int j = 0; j < n; j++)
               {
                  Console.Write(matriz[i, j]+"0");

               }
         }
      }
      public static void Main(String[] args)
      {
         matrices matriz1 = new matrices();
         matriz1.llenar_matriz_aleatoria(5);
         matriz1.imprimir_matriz(5);
         
         

      }
   }
         
}