Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - dragonlady

#21
!!! Por favor pero si era una bobada, que distracción y falta de agilidad con esto, ya le iré agarrando la mano. Ahora si funciona de 10! Bueno voy a seguir avanzando que esto tiene para rato :)
#22
No al contrario, yo estoy confundida y me ayuda lo que sea que me aportes. Pero hay algo ahí que no me está quedado (y si, yo soy más que media lenta), yo traté de hacerlo para pedirle el tamaño, pero no se como inicializar "tam" para luego pedirsela al usuario y despues usar siempre "tam", incluso en los arreglos. De esta forma:


   int tam=1;
   char tablero[tam][tam];

   printf("Ingrese tamanio(6,8,10,14 o 18): "); //aqui estoy tratando de pedirle el tamaño
   scanf(" %d", &tam); // y aca usar ese tamaño siempre como tam

   int i,j;

   //Iniciando los valores del tablero a ' '
   for(i=0;i<tam;i++)
       for(j=0;j<tam;j++)
           tablero[i][j]=' ';

   //generando las 3 X aleatoriamente
   srand (time(NULL));
   int Xnum=0; //un contador
   while(Xnum<tam/2){ //hasta que aparezcan la cantidad de X

       i=rand()%tam;
       j=rand()%tam;

       if( tablero[i][j]!='X'){ //verifica que no haya X en esa posicion
           tablero[i][j]='X';   //dibuja una X
           Xnum++; //++ contador para no dibujar mas de 3 Xs
       }

   }

   //mostrar bosque
   printf("\n  ");
   for (j=0;j<tam;j++)
       printf(" %c ", 'a' + j);
   printf("\n");

   for (i=0;i<tam;i++){

       printf(" %d", i);

       for (j=0;j<tam;j++){
          printf("| %c", tablero[i][j]);
       }

       printf(" \n");
   }
#23
Que lástima, tenía muchas ganas de hacer un solo tablero, pero bueno. Tendré que hacer 5 tableros. Uno con cada tamaño. Gracias por toda la ayuda :)
#24
Ahh!!! Entonces es un tema de inicializar tam. Porque yo lo inicializé en 1 (después probé con 0 y me da error igual) ya que le tengo que preguntar al usuario que el me ingrese de que tamaño va a ser el tablero, no es fijo.
#25
jajaja si!! Realmente está hasta mal redactado la guia del juego que nos dieron (y es obligatorio, no podemos hacer otro), me metí a preguntar porque me quedé sin compañero para hacerlo (era de a 2) pero bueno!

En todo el tablero me tienen que aparecer la mitad de X que el tamaño del mismo.
Si es un tablero de 6x6, tienen que aparecer 3 X, si es uno de 14, 7 X y así :|
#26
Siguen sin aparecerme la mitad de tam de X



Algo debe suceder en esta parte que no está muy bien o algo porque no está cumpliendo su funcion:

Xnum++; //aumentamos contador para no dibujar mas de 3 Xs
#27
Gracias por contestar! Ahí subí el código con las modificaciones.
Entonces, es un error de compilación? Porque me dice que no uso esa variable al compilar?
#28
Pero ahí no se usa X, me da un error de que no se está usando esa variable.
No entiendo para que la declaro?? (Osea, entiendo que la estoy usando y son las X que quiero me aparezcan en el tablero aleatoriamente, pero no veo donde las estoy usando, solo en 'X')

Acá arreglé el código (le puse tam/2, porque las X tienen que ser la mitad del tamaño elegido, pero algo está mal porque si le ingreso un tamaño 10 me tira cualquier numero de X ):

int main(){

   int tam=1;
   char tablero[tam][tam];

   printf("Ingrese tamanio (6,8,10,14 o 18): ");
   scanf(" %d", &tam);

   int i,j,X; //declaramos la variable X

   //Iniciando los valores del tablero a '.', esto tu lo puedes cambiar
   for(i = 0; i < tam;i++)
       for(j = 0; j < tam;j++)
           tablero[i][j] = ' ';

   //generando las 3 X aleatoriamente
   srand (time(NULL));
   int Xnum = 0; //un contador
   while(Xnum < 3){ //hasta que se generen las 3 Xs

       i = rand() % tam/2;   //el numero aleatorio depende del tamaño del tablero
       j = rand() % tam/2;

       if( tablero[i][j] != 'X'){ //probamos si en esa posicion no existe alguna X
           tablero[i][j] = 'X';   //agregamos una X
           Xnum++; //aumentamos contador para no dibujar mas de 3 Xs
       }

   }

   //imprimimos todo
   printf("\n   ");
   for (j=0;j<tam;j++)
       printf(" %c ", 'a' + j);
   printf("\n");

   for (i=0;i<tam;i++){

       printf("|%d|", i);

       for (j=0;j<tam;j++){
          printf(" %c|", tablero[i][j]);
       }

       printf(" \n");
   }
#29
Gracias por la ayuda, de nuevo.

Ahora tengo el tablero estoy tratando de ingresar unas X que tienen que aparecer aleatoriamente en el. (por ejemplo en un tablero de 6x6 tienen que aparecer 3 X, que aparte no pueden jamas aparecer en las pociciones q tapen las entradas de los jugadores, por ejemplo no pueden aparecer X así

......................................
J1 .  X   .        .       .       .
......................................
X .      .        .       .   X   .
......................................
    .      .        .   X  .    J2 .
......................................

y bueno, estoy probando el código que hice del tablero con la funcion randomica y no me funciona. Le ingreso un valor de 6 por ejemplo y me tendrian que aparecer 3 X aleatoriamente pero no sucede.
Pego mi código:


    int tam = 1;
    printf("ingrese tamanio: ");
    scanf(" %d", &tam);
    char tablero[tam][tam];

int i,j;

    printf("\n   ");
    for (j=0;j<tam;j++)
        printf("%c ", 'a' + j);
    printf("\n");

    for (i=0;i<tam;i++)
        {

        printf("%d  |", i);
        for (j=0;j<tam;j++)
        tablero[i][j]=0;

        printf(" %c", tablero[i][j]);
        printf("\b|\n");

        }
    printf(" \n");

   
    for (X=0;X<3;X++)
    {

    srand (time(NULL));
do
{
i=rand()%3+1;
j=rand()%3+1;
        }
while(tablero[i][j]==6);
    }


Que puedo estar haciendo mal? Realmente no me doy cuenta
#30
Ahí lo arreglé, había hecho el  matriz[j] = 0; pero no lo habia puesto donde debía
Si, tendría que ser %c porque le tengo que poner objetos aleatorios(como el buscaminas) y un jugador empieza en la punta arriba a la izquierda y el otro en la punta derecha abajo, asi que tendré que usar letras.

Mil gracias por la ayuda :)