Ayuda con codigo

Iniciado por peikito, 3 Abril 2011, 05:44 AM

0 Miembros y 1 Visitante están viendo este tema.

peikito

Hola miren primero que nada soy nuevo en esto de la programacion.
Y ps me dejaron el juego del Buscaminas (en consola csharp) yo ya llevo avanzado solo que ya no se como poner las bombas aleatorias.
Ojala alguno de ustedes me pudiera ayudar o si de pura casualidad tienen el juego terminado ps seria genial jejejejejejje pero con la ayuda me conformo.
O si quieren les posteo el avanze que llevo para que alguno de ustedes me diga en que voy bien y en que mal se los agradeceria muchisimo.
De antemano gracias.

.mokk.

Comienzo dandote la bienvenida men, y pues tambien decirte que aqui no estamos para hacerte la tarea, aunque si te podemos ayudar en lo que mencionas si nos muestras tu avance.

peikito

#2
Gracias por la bienvenida, les muestro mi avance para ver en que voy mal y ps ojala me ayuden con todo lo que puedan claro solamente ayuda no quiero que me hagan todo el juego jejejeje.

Edu

Pone el codigo dentro de las etiquetas [*code=csharp] y [*/code] sin los asteriscos claro.

Y explicame q haces cuando pones esto:

Código (csharp) [Seleccionar]

case 2:
                    for (int i = 0; i < 5; i++)
                    {
                        for (int j = 0; j < 5; j++)
                        {
                            AC[i, j] = "X";
                        }
                    }
                    while (A != 1)


                        A++;


No lo entiendo al while ese

peikito

El while lo puse nada mas por poner pero creo que se le puede quitar.
Creo que ese lo iva a utlizar para poner las bombas pero no se como hacerle y espero que me ayuden en eso.

Y en todo el demas codigo si voy bien???

Edu

Pone bien las etiquetas, tiene q ser code=csharp asi te entenderan mejor, y solo al codigo si es posible.

Por ahora te puedo decir algunos consejos solamente, como q uses manejo de errores , el Try y el Catch, para cuando no ingresa ningunaa opcion porq solo puso Enter y te dara error en la conversion a nada, o tamb algun un Do While para cuando pone un numero q no esta en el menu q quedaria mejor q el default del switch.

Despues no entiendo porq pones:
Código (csharp) [Seleccionar]
Console.WriteLine("introduzca las cordenadas {0} X:", ataque);
para q pones esa variable q va aumentando? no se si la necesitas para algo luego pero no la mostres q queda feo pienso.

Otra cosa, los colores q usas.. tene q tener en cuenta q talvez el monitor q usara el usuario no sea tan bueno y ese color violeta oscuro no se ve mucho.

Ya se q talvez solo querias ayuda en terminar el codigo, pero por ahora es lo q te puedo aconsejar, yo hice el buscaminas pero lo hice en Forms, pero ahora dentro de media hora vengo y veo si has cambiado y pegado el codigo aca con lo q te aconseje q cambies, y asi ya avanzas mas

Xephiro

Cita de: peikito en  3 Abril 2011, 19:24 PM
El while lo puse nada mas por poner pero creo que se le puede quitar.
Creo que ese lo iva a utlizar para poner las bombas pero no se como hacerle y espero que me ayuden en eso.

Y en todo el demas codigo si voy bien???

Mira, una opcion simple es hacer un solo for con la X cantidad de minas que quieras colocar y realizar 2 random, uno para la posicion X y el otro para la posicion Y dentro de tu matriz del tablero

un ejemplo

para una matriz M[][] de 5x5 (por ejemplo)

tendrías

Código (csharp) [Seleccionar]

Random r = new Random();
int x = -1;
int y = -1;

for (int i = 0; i < 10; i++)
{
      x = r.Next(1, 6) // Es un intervalo abierto en la parte superior por eso se pone N+1
      y = r.Next(1, 6) // Lo mismo de arriba xD

      M[x][y] = BOMBA :D;
}


mas o menos asi seria, tienes que agregarle un par de cosas mas como verificar que la posición seleccionada no contenga otra bomba y cosas asi.

Espero sea de ayuda.

peikito

Cita de: Xephiro en  4 Abril 2011, 04:12 AM
Mira, una opcion simple es hacer un solo for con la X cantidad de minas que quieras colocar y realizar 2 random, uno para la posicion X y el otro para la posicion Y dentro de tu matriz del tablero

un ejemplo

para una matriz M[][] de 5x5 (por ejemplo)

tendrías

Código (csharp) [Seleccionar]

Random r = new Random();
int x = -1;
int y = -1;

for (int i = 0; i < 10; i++)
{
      x = r.Next(1, 6) // Es un intervalo abierto en la parte superior por eso se pone N+1
      y = r.Next(1, 6) // Lo mismo de arriba xD

      M[x][y] = BOMBA :D;
}


mas o menos asi seria, tienes que agregarle un par de cosas mas como verificar que la posición seleccionada no contenga otra bomba y cosas asi.

Espero sea de ayuda.

Gracias me sirvio de mucho

Cita de: XXX-ZERO-XXX en  3 Abril 2011, 19:49 PM
Pone bien las etiquetas, tiene q ser code=csharp asi te entenderan mejor, y solo al codigo si es posible.

Por ahora te puedo decir algunos consejos solamente, como q uses manejo de errores , el Try y el Catch, para cuando no ingresa ningunaa opcion porq solo puso Enter y te dara error en la conversion a nada, o tamb algun un Do While para cuando pone un numero q no esta en el menu q quedaria mejor q el default del switch.

Despues no entiendo porq pones:
Código (csharp) [Seleccionar]
Console.WriteLine("introduzca las cordenadas {0} X:", ataque);
para q pones esa variable q va aumentando? no se si la necesitas para algo luego pero no la mostres q queda feo pienso.

Otra cosa, los colores q usas.. tene q tener en cuenta q talvez el monitor q usara el usuario no sea tan bueno y ese color violeta oscuro no se ve mucho.

Ya se q talvez solo querias ayuda en terminar el codigo, pero por ahora es lo q te puedo aconsejar, yo hice el buscaminas pero lo hice en Forms, pero ahora dentro de media hora vengo y veo si has cambiado y pegado el codigo aca con lo q te aconseje q cambies, y asi ya avanzas mas

Y ti tambien muchas gracias por lo que me dices y respecto a lo que mencionas del try y el cathc le pregunte a la maestre y dice que como lo llevo esta bien y como ya casi no tengo tiempo me dice que lo deje asi.

Ahora ya solo me faltaria que cuando inserte la coordenada de una bomba me muestre perdiste y el tablero donde esta la bomba jejejejeje ahora ojala me ayuden con eso.

Edu

Hace un procedimiento en el q se fijara si ganaste o no cada vez q pone una cordenada, y hara lo q tenga q hacer q eso lo tenes q pensar vs xD

[D4N93R]

Tengo una pregunta, Es para ti, o es tarea?

Si es tarea, déjalo así. Si es para ti tengo otra pregunta: Por qué no encapsulas todo eso en clases?

Un saludo!