elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Dibujar e inicializar tablero de posibles distintos tamaños en C [?]
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 2 [3] 4 5 Ir Abajo Respuesta Imprimir
Autor Tema: Dibujar e inicializar tablero de posibles distintos tamaños en C [?]  (Leído 13,793 veces)
dragonlady

Desconectado Desconectado

Mensajes: 37



Ver Perfil
Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?]
« Respuesta #20 en: 1 Junio 2015, 22:51 pm »

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 :)


En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?]
« Respuesta #21 en: 1 Junio 2015, 22:59 pm »

jeje, pero no es necesario hacer todos los tableros si el jugador solo quiere jugar con un tablero de 6x6(o cualquier otro tamaño que él quiera), solo tienes que pedir el tamaño del tablero una vez y ya!

Espero no confundirte más.


En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
dragonlady

Desconectado Desconectado

Mensajes: 37



Ver Perfil
Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?]
« Respuesta #22 en: 1 Junio 2015, 23:34 pm »

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:

Código
  1.   int tam=1;
  2.   char tablero[tam][tam];
  3.  
  4.   printf("Ingrese tamanio(6,8,10,14 o 18): "); //aqui estoy tratando de pedirle el tamaño
  5.   scanf(" %d", &tam); // y aca usar ese tamaño siempre como tam
  6.  
  7.   int i,j;
  8.  
  9.   //Iniciando los valores del tablero a ' '
  10.   for(i=0;i<tam;i++)
  11.       for(j=0;j<tam;j++)
  12.           tablero[i][j]=' ';
  13.  
  14.   //generando las 3 X aleatoriamente
  15.   srand (time(NULL));
  16.   int Xnum=0; //un contador
  17.   while(Xnum<tam/2){ //hasta que aparezcan la cantidad de X
  18.  
  19.       i=rand()%tam;
  20.       j=rand()%tam;
  21.  
  22.       if( tablero[i][j]!='X'){ //verifica que no haya X en esa posicion
  23.           tablero[i][j]='X';   //dibuja una X
  24.           Xnum++; //++ contador para no dibujar mas de 3 Xs
  25.       }
  26.  
  27.   }
  28.  
  29.   //mostrar bosque
  30.   printf("\n  ");
  31.   for (j=0;j<tam;j++)
  32.       printf(" %c ", 'a' + j);
  33.   printf("\n");
  34.  
  35.   for (i=0;i<tam;i++){
  36.  
  37.       printf(" %d", i);
  38.  
  39.       for (j=0;j<tam;j++){
  40.          printf("| %c", tablero[i][j]);
  41.       }
  42.  
  43.       printf(" \n");
  44.   }
En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?]
« Respuesta #23 en: 1 Junio 2015, 23:40 pm »

Código
  1.   int tam=1;
  2.   char tablero[tam][tam];
  3.  
  4.   printf("Ingrese tamanio(6,8,10,14 o 18): "); //aqui estoy tratando de pedirle el tamaño
  5.   scanf(" %d", &tam); // y aca usar ese tamaño siempre como tam
  6.  
  7.  

El problema está en el orden, debería ser así:

Código
  1.   int tam;  //declaras la variable tam, por ahora no tiene ningun valor  
  2.  
  3.   printf("Ingrese tamanio(6,8,10,14 o 18): "); //La función printf se encarga de imprimir un mensaje
  4.   scanf(" %d", &tam); //La función scanf lee lo que el usuario escribe en la Consola(pantallita negra)
  5.                                     //básicamente lo que haces con esta línea es difinir el valor de tam
  6.                                    //dependiendo de lo que ingrese el jugador
  7.  
  8.  char tablero[tam][tam];  //creas el tablero tamxtam  
  9.  
  10.  
« Última modificación: 1 Junio 2015, 23:45 pm por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
dragonlady

Desconectado Desconectado

Mensajes: 37



Ver Perfil
Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?]
« Respuesta #24 en: 1 Junio 2015, 23:45 pm »

!!! 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 :)
En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?]
« Respuesta #25 en: 1 Junio 2015, 23:50 pm »

Tranquila, me pasaba lo mismo cuando estaba empezando, solo hay que practicar  ;)
En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
dragonlady

Desconectado Desconectado

Mensajes: 37



Ver Perfil
Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?]
« Respuesta #26 en: 4 Junio 2015, 01:54 am »

Buenas! Ahora estoy tratando de hacer que los jugadores se muevan o disparen (inician cada uno en una esquina superior e inferior del tablero) y tengo algo así:

Código
  1. void turno_jugador1() //movimientos de jugador 1
  2. {
  3.     int accion, m,t; // mover o tirar
  4.     char coordenada_elegida;
  5.     printf("Moverte o tirar flecha? (m o t)");
  6.     scanf("%d",&accion);
  7.  
  8.        if (accion==m)
  9.        {
  10.            printf("Elige coordenada: ");
  11.            scanf(" %c", &coordenada_elegida);
  12.  
  13.            if(tablero[i][j]!='X')
  14.            {
  15.                tablero[i][j]==' ';
  16.                tablero[i][j]=='1';
  17.            }
  18.                else if (accion==t)
  19.                {
  20.                    printf("Hasta donde va a disparar el flechazo? (maximo 5 lugares)"); //las flechas se disparan 5 lugares y en los cuatro sentidos, arriba, abajo y costados)
  21.                }
  22.     }
  23. }

Pero creo que no puedo empezar bien a jugar porque no me está saliendo colocar a los jugadores en donde van desde el principio, quise hacer esto:

Código
  1. //mostrar jugadores 1 y 2
  2.    if( tablero[0][j]=' ')
  3.        {
  4.            tablero[0][j]='1';
  5.        }
  6.  
  7.    if( tablero[tam][i]!=' ')
  8.        {
  9.           tablero[tam][i]='1';
  10.        }

Que estará mal :| Ni me aparecen en el tablero

« Última modificación: 4 Junio 2015, 02:16 am por dragonlady » En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?]
« Respuesta #27 en: 4 Junio 2015, 03:52 am »

1.- En tu metodo turno_jugador1 veo que declaraste 3 variables para saber si el jugador quiere mover o disparar, pero estas utilizando dos de esas variables sin haberlas inicializado(me refiero a la variable m y t), debes saber que estas variables contienen basura, o sea que no te sirven.

2.-Cuando tratas que el jugador ingrese una acción, te olvidas que la variable que utilizas para pedir la acción(me refiero a int accion) es una variable de tipo entera y tú le pides al jugador que ingrese una variable de tipo char:

Código
  1. printf("Moverte o tirar flecha? (m o t)"); //m y t son caracteres por tanto son de tipo char
  2.  

3.-Fijate en esto:
Código
  1.    if (accion==m)
  2.       {
  3.       /*Tienes más código aqui*/  
  4.        else if (accion==t) //Este condicional tiene que estar afuera ***
  5.            {
  6.  
  7.            }
  8.    }
  9.    //*** Tiene que estar aquí.
  10.  

4.-Declaras una variable que se llama coordenada_elegida pero núnca la utilizas, aqui sería conveniente pedir las coordenadas i y j que son los que se utilizan para recorres los arreglos, pero lo puedes cambiar por x,y si te parece más conveniente.

5.-Tienes que tener en cuenta el alcance de las variables, porque en tú metodo turno_jugador1 estas utilizando las variables i y j que fueron definidas en tu metodo main, estas no pueden ser utilizadas dentro de otro metodo que no sea main, tendrías que declararlas de nuevo  en el metodo en el que las quieras utilizar, pero las del metodo main serían diferentes.

6.-El primer elemento de un arreglo es el elemento número 0 del arreglo, o sea que empieza a contar desde 0, tú estas tratando de acceder al elemento número "tam" y eso es un error porque para acceder al último elemento tienes que poner "tam - 1" porque empiza a contar desde 0.


Muestra todo el código...
En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
dragonlady

Desconectado Desconectado

Mensajes: 37



Ver Perfil
Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?]
« Respuesta #28 en: 4 Junio 2015, 13:17 pm »

Esto es un poco lo que estoy tratando de hacer, ya le cambié los nombres al tablero que no es más que un bosque donde 2 jugadores se tienen que eliminar:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. //prototipos
  6. void menu();
  7. int ingrese_opcion();
  8. char jugar();
  9. void reglas();
  10. void bosques();
  11. void error();
  12. void pausa();
  13. void mover_jugadores();
  14. void flechazos();
  15. void ultima_jugada();
  16.  
  17. int main()
  18. {
  19.     int opcion;
  20.  
  21.        do
  22.        {
  23.            menu();
  24.            opcion=ingrese_opcion();
  25.            switch (opcion)
  26.            {
  27.               case 1:
  28.                   jugar();
  29.                   break;
  30.               case 2:
  31.                   reglas();
  32.                   break;
  33.  
  34.                default:
  35.                   error();
  36.            }
  37.        }
  38.        while (opcion!=2);
  39.    return 0;
  40. }
  41.  
  42. void menu()
  43. {
  44.    printf("______ARQUEROS EN EL BOSQUE_______\n");
  45.    printf("____________OOOOOO________________\n");
  46.    printf("_________OOOOOOOOOOOOO____________\n");
  47.    printf("_____OOOOOOOOOOOOOOOOOOOO_________\n");
  48.    printf("___OOOOOOOOOOOOOOOOOOOOOOOO_______\n");
  49.    printf("___OOOOOOOOOOOOOOOOOOOOOOOO_______\n");
  50.    printf("_____OOOOOOOOOOOOOOOOOOOO_________\n");
  51.    printf("______OOOOOOOOOOOOOOOOOO__________\n");
  52.    printf("_________OOOOOOOOOOOO_____________\n");
  53.    printf("__<----____OOOOOOOO_______________\n");
  54.    printf("_____________OOOO_________________\n");
  55.    printf("_____________OOOO_______---->_____\n");
  56.    printf("_____________OOOO_________________\n");
  57.    printf("_____________OOOO_________________\n");
  58.    printf("\n");
  59.    printf("MENU PRINCIPAL\n");
  60.    printf("><><><><><><><\n");
  61.    printf("Ingrese una de las opciones: \n");
  62.    printf("1. Jugar\n");
  63.    printf("2.Ver reglas\n");
  64.    printf("\n");
  65. }
  66.  
  67. int ingrese_opcion()
  68. {
  69.    int opcion;
  70.    scanf(" %d",&opcion);
  71.    return opcion;
  72. }
  73.  
  74. char jugar()
  75. {
  76.    system("cls");
  77.    bosques();
  78.    pausa();
  79.    return bosques;
  80. }
  81.  
  82. void reglas() //aca muestro las reglas. tiene que poder volver al menu anterior
  83. {
  84.    system("cls");
  85.    printf("El juego consiste en eliminar al arquero del extremo opuesto. \n");
  86.    printf("Cada turno puede elegir moverse una casilla en sentido horizontal o vertical o lanzar un flechazo. \n");
  87.    printf("Los flechazos se mueven en linea recta, maximo cinco lugares.\n");
  88.    printf("Ni los jugadores ni los flechazos pueden atravezar los arboles(X)");
  89.    printf(" Al recibir un flechazo el jugador pierde el round, las partidas se componen de 3 round y las gana el que gane 2 de ellos.\n");
  90.    printf("Jugador primero sera identificado como 1 y jugador segundo como 2.\n");
  91.    printf("\n");
  92.    pausa();
  93.  
  94. }
  95.  
  96. void bosques()
  97. {
  98.   int tam=1;
  99.  
  100.   printf("Ingrese tamanio(6,8,10,14 o 18): ");
  101.   scanf(" %d", &tam);
  102.  
  103.   char bosque[tam][tam];
  104.  
  105.   int i,j;
  106.  
  107.   //Iniciando los valores del bosque a ' '
  108.   for(i=0;i<tam;i++)
  109.       for(j=0;j<tam;j++)
  110.           bosque[i][j]=' ';
  111.  
  112.     //mostrar jugadores 1 y 2
  113.    if( bosque[0][j]=' ')
  114.        {
  115.            bosque[0][j]='1';
  116.        }
  117.  
  118.    if( bosque[tam][i]!=' ')
  119.        {
  120.           bosque[tam][i]='1';
  121.        }
  122.  
  123.   //generando las 3 X aleatoriamente
  124.   srand (time(NULL));
  125.   int Xnum=0; //contador
  126.   while(Xnum<tam/2){ //hasta que aparezcan la cantidad de X
  127.  
  128.       i=rand()%tam;
  129.       j=rand()%tam;
  130.  
  131.       if( bosque[i][j]!='X'){ //verifica que no haya X en esa posicion
  132.           bosque[i][j]='X';   //dibuja una X
  133.           Xnum++; //para no dibujar mas X de las que deben ser
  134.       }
  135.  
  136.   }
  137.  
  138.   //mostrar bosque
  139.   printf("\n  ");
  140.  
  141.   for (j=0;j<tam;j++) //filas alfabeticas
  142.       printf("  %c", 'a'+j);
  143.   printf("\n");
  144.  
  145.   for (i=0;i<tam;i++) //columnas numeradas
  146.    {
  147.       printf(" %d", i);
  148.  
  149.       for (j=0;j<tam;j++)
  150.        {
  151.          printf("| %c", bosque[i][j]);
  152.        }
  153.       printf("| \n");
  154.     }
  155.  
  156. }
  157.  
  158. void error()
  159. {
  160.    printf("El tamaño elegido no es correcto.\n");
  161.    pausa();
  162. }
  163.  
  164. void pausa()
  165. {
  166.    char p;
  167.    printf ("Presiona cualquier tecla y enter para volver al menu");
  168.    scanf (" %c",&p);
  169. }
  170.  
  171. void mover_jugadores()
  172. {
  173.        int jugador, jugadas, turno;
  174.    printf("Elige quien empieza (jugador 1 o 2): ");
  175.  
  176.    switch(jugadas)
  177.    {
  178.        case 1:
  179.           jugador=1;
  180.           turno=0;
  181.               do
  182.                {
  183.                    turno++;
  184.                    if (jugador)
  185.                    {
  186.                        turno_jugador1();
  187.                    }
  188.                        else
  189.                            turno_jugador2();
  190.  
  191.                }
  192.           while ((!ganador())&&(turno<=3));
  193.    }
  194. }
  195.  
  196. void turno_jugador1() //movimientos de jugador 1
  197. {
  198.     int accion,
  199.     char m=0;
  200.     char t=0; // mover o tirar
  201.     char coordenada_elegida;
  202.     printf("Moverte o tirar flecha? (m o t)");
  203.     scanf("%d",&accion);
  204.  
  205.        if (accion==m)
  206.        {
  207.            printf("Elige coordenada: ");
  208.            scanf(" %c", &coordenada_elegida);
  209.  
  210.            if(bosque[i][j]!='X')
  211.            {
  212.                bosque[i][j]==' ';
  213.                bosque[i][j]=='1';
  214.            }
  215.                else if (accion==T)
  216.                {
  217.                    printf("Hasta donde va a disparar el flechazo? (maximo 5 lugares)");
  218.                }
  219.     }
  220.     bosques();
  221. }
  222.  
  223. void turno_jugador2() //movimientos de jugador 1
  224. {
  225.     int accion,
  226.     char m=0;
  227.     char t=0; // mover o tirar
  228.     char coordenada_elegida;
  229.     printf("Moverte o tirar flecha? (m o t)");
  230.     scanf("%d",&accion);
  231.  
  232.        if (accion==m)
  233.        {
  234.            printf("Elige coordenada: ");
  235.            scanf(" %c", &coordenada_elegida);
  236.  
  237.            if(bosque[i][j]!='X')
  238.            {
  239.                bosque[i][j]==' ';
  240.                bosque[i][j]=='1';
  241.            }
  242.                else if (accion==T)
  243.                {
  244.                    printf("Hasta donde va a disparar el flechazo? (maximo 5 lugares)");
  245.                }
  246.     }
  247.     bosques();
  248. }
  249.  
  250. int ganador()
  251. {
  252.   return ganador;
  253. }

(se que hay muchas cosas que no "coinciden" porque no se las he cambiado aun, como prototipos, etc.)
Ahí cambié el tipo de las variables y las inicializé. Ahora estoy tratando de entender bien como puedo hacer para que el jugador me ingrese una coordenada y yo tomar esa coordenada como una cadena de caracteres supongo y usarlas para que avance. O sino disparar, y entonces desde su posicion se disparen los flechazos. Voy a seguir intentando
« Última modificación: 4 Junio 2015, 13:19 pm por dragonlady » En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?]
« Respuesta #29 en: 4 Junio 2015, 19:06 pm »

Código
  1.  
  2. do
  3.       {
  4.           menu();
  5.           opcion=ingrese_opcion();
  6.           switch (opcion)
  7.           {
  8.              case 1:
  9.                  jugar();
  10.                  break;
  11.              case 2:
  12.                  reglas();
  13.                  break;
  14.  
  15.               default:
  16.                  error();
  17.           }
  18.       }
  19.       while (opcion!=2);
       
       
Aqui deberías de agregar una tercera opción que sea para salir del programa, entonces cambias ese 2 de while(opcion != 2) por 3. Ese
2 está mal porque si el usuario quiere ver las reglas entonces el programa termina.
Código
  1. char jugar()
  2. {
  3.   system("cls");
  4.   bosques();
  5.   pausa();
  6.   return bosques;
  7. }

No puedes retornas bosques, porque el metodo bosques es un tipo void y tu metodo jugar es de tipo char, también está de más ese return, si lo
quitas sería mejor.
Código
  1.    if( bosque[0][j]=' ')
  2.       {
  3.           bosque[0][j]='1';
  4.       }
  5.  
  6.   if( bosque[tam][i]!=' ')
  7.       {
  8.          bosque[tam][i]='1';
  9.       }
       
Los condicionales if no son necesarios puesto que ya sabemos que en esa posición hay un ' ', cambia eso por:
Código
  1. bosque[0][0]='1'; // Esquina superior izquierda
  2. bosque[tam-1][tam-1]='2'; //Esquina inferior derecha
  3.  
Luego para que no se genere una X en esas posiciones:
Código
  1. if( bosque[i][j]!='X' && bosque[i][j]!='1' && && bosque[i][j]!='2'){ //verifica que no haya X en esa posicion
  2.  
  3. }

Ahora para pedir una acción:
Código
  1. char accion; //fijate que esto es un char
  2. printf("Moverte o tirar flecha? (m o t)");
  3. scanf("%c",accion); //presta atencion, estamos pidiendo un carácter no un número
  4.  
  5. //Luego para saber lo que ha ingresado
  6.  
  7. if(accion == 'm'){
  8.    /*Mover al jugador*/
  9. }
  10. else if(accion == 't'){
  11.    /*Tirar flechazo*/
  12. }else{
  13.    printf("Accion incorrecta \n");
  14. }
  15.  
Ahora para elegir una coordenada primero tienes que entender cómo se dibuja el bosque, pongamos que dibujas un posque de 4x4:
Código:
             j
     0    1    2    3

  0  1    2    3    4

  1  5    6    7    8

  2  9    10   11   12
 
  3  13   14   15   16
 
 
Así es como se dibuja, esto es por la manera en la que lo estas dibujando con el ciclo for, pero eso se puede cambiar(de momento dejemoslo así).

Ahora fijate si quisieras saber en qué indices del bosque se encuentra el número 10, entonces para i es 2 y para j es 1, entonces accedemos así:

bosque[2][1];  //Esto tiene un valor de 10 por lo que te mostré arriba(la tabla).

Bien esto solo muestra cómo puedes acceder a los valores del bosque mediante sus indices, ahora pongamos que el personaje está en la posicion:
i = 0, j = 0, y se quiere mover a la posicion i = 0 j = 1 (o sea que avance una posicion a la derecha), entonces simplemente movemos
el carácter que esté en la posicion inicial a la final de esta manera:
Código
  1. int o_i,o_j; //coordenadas origen
  2. int d_i,d_j; //coordenadas destino
  3.  
  4. printf("Ingresa coordenada i origen - >");
  5. scanf("%i \n",o_i);
  6. printf("Ingresa coordenada j origen - >");
  7. scanf("%i \n",o_j);
  8. /*Supongamos que el jugador ingresó: o_i  = 0, o_j = 0*/
  9.  
  10. printf("Ingresa coordenada i destino - >");
  11. scanf("%i \n",d_i);
  12. printf("Ingresa coordenada j destino - >");
  13. scanf("%i \n",d_j);
  14. /*Supongamos que el jugador ingresó: o_i  = 0, o_j = 1*/
  15.  
  16. //Entonces lo movemos así:
  17. bosque[o_i][o_j] = ' '; //hacemos que en la posicion origen no haya nada
  18. bosque[d_i][d_j] = '1'; //Movemos el jugador a la posicion destino  
  19.  
Con un poco de magia podemos traducir las coordenadas i y j a las coordenadas que tu estas utilizando en tu programa(1,2,3,4,5;a,b,c,d,e), pero
lo importante ahora es que entiendas lo que he puesto arriba.

Una duda, para cuándo tienes que entregar el juego?,Así si tienes mucho tiempo todavia entonces lo llevamos de poco a poco.
En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Páginas: 1 2 [3] 4 5 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Duda]Problema de tamaños
ASM
YST 3 3,422 Último mensaje 25 Junio 2009, 22:24 pm
por YST
Tablero java
Java
lulu2704 1 4,927 Último mensaje 23 Abril 2011, 05:11 am
por Castiblanco
tamaños swap
GNU/Linux
linuxos 4 2,583 Último mensaje 24 Octubre 2011, 17:54 pm
por orvtech
Detectar movimientos de piezas en tablero de ajedrez. « 1 2 »
Programación Visual Basic
E2E4 12 10,939 Último mensaje 4 Junio 2012, 09:29 am
por BlackZeroX
Más de 400.000 barcos de todos los tamaños vulnerables a ataques de ....
Noticias
wolfbcn 0 1,366 Último mensaje 27 Marzo 2014, 21:42 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines