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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 ... 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 [33] 34 35 36 37 38 39 40 41 42 43 44 45
321  Programación / Programación C/C++ / Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?] en: 8 Junio 2015, 20:03 pm
Es correcto lo que dice @Regexp, pero ese código no debería de ír ahí, debería estar aquí:

Código
  1. void Bucle_Juego()
  2. {
  3.    int ganador = 0;
  4.    int turno = 1; //empieza jugador 1
  5.  
  6.    while(ganador == 0){ //que se repita mientras no haya ningun ganador
  7.  
  8.        Actualizar_Juego(); //Actualiza el juego
  9.  
  10.        Mov_Attack(turno); //mueve o ataca  
  11.  
  12.        /*Falta un codigo para comprobar si alguien ya ha ganado*/
  13.  
  14.        /*Cambiando los turnos*/
  15.        if(turno == 1)
  16.            turno = 2;
  17.        else
  18.            turno = 1;
  19.    }
  20.  
  21.    /*cuando se termine el bucle comprobamos quien ha ganado*/
  22.    if(ganador == 1){
  23.        printf("Ha Ganado el jugador 1");
  24.    }
  25.    else if(ganador == 2)
  26.        printf("Ha Ganado el jugador 2");
  27.  
  28. }

justo antes de entrar al bucle del juego(el while(ganador == 0)), fíjate que he declarado una variable llamada turno y la he iniciado a 1.

Ahora el segundo error creo que está en bosque6x6!='X', ya que bosque6x6 es un arreglo pero no puedes comparar un arreglo directamente con un 'X' tienes que acceder a los indices del arreglo, así como ya has hecho muchas veces, ejemplo:
bosque6x6[0][3], solo entonces podrás hacer ese tipo de comparaciones.

Nota: Un arreglo también es un puntero, como dice @Regexp; es una dirección de memória.

322  Programación / Java / Re: Dudas respecto a Android Studio en: 6 Junio 2015, 03:05 am
Te recomiendo este libro: http://www.ehu.eus/biografiaparlamentarios/publicaciones/Android.pdf

yo llevé un curso de Android en la escuela y lo utilizamos mucho. ;D

Otra cosa

como ofusco codigo en android studio...

Ofuscar código significa hacer que éste no se entienda pero utilizando poderosos algoritmos con pocas lineas de código, no sé si eso es lo que quieres hacer.
323  Programación / Programación C/C++ / Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?] en: 6 Junio 2015, 02:56 am
Con el printf no hay diferencias, pero si con scanf, el %d es para decimal, el %i funcional igual además de soportar números hexadecimanles y octales, cuando utilizas el %i creo que hay más código de por medio en el ejecutable(no estoy seguro), asi que lo correcto es utilizar el %d si sabes de ante mano que estas trabajando solo con enteros.

jaja yo siempre suelo utilizar el %i pero no es correcto, es mejor utilizar el %d, siempre y cuando no estes trabajando con hexa u octal.
324  Programación / Programación C/C++ / Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?] en: 6 Junio 2015, 02:40 am
De nada, para eso estamos.
325  Programación / Programación C/C++ / Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?] en: 6 Junio 2015, 01:43 am
jeje perdona la demora pero vi tu mensaje 6 horas depués de que lo publicaste.

mm, la verdad es que será muy difícil que te diga cómo corregir lo que ya tienes, asi que te doy un nitro:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. /*Prototipos*/
  6. void menu();
  7. void reglas();
  8. void fin_juego();
  9.  
  10. void Select_Bosque();
  11. void Iniciar_Bosque();
  12. void Actualizar_Juego();
  13. void Bucle_Juego();
  14.  
  15. void Mov_Attack(int);
  16.  
  17. /*Variables globales*/
  18. char bosque6x6[6][6];
  19. char bosque8x8[8][8];
  20. char bosque10x10[10][10];
  21. char bosque14x14[14][14];
  22. char bosque18x18[18][18];
  23.  
  24. int opcion = 0;
  25. int tam_bosque = 0;
  26.  
  27. int main()
  28. {
  29.    while(opcion != 3)
  30.    {  
  31.        menu();
  32.        scanf("%d",&opcion);
  33.  
  34.        switch(opcion){
  35.            case 1: Select_Bosque(); break;
  36.            case 2: reglas();        break;
  37.            case 3: fin_juego();     break;
  38.        }
  39.  
  40.     }
  41.  
  42.   return 0;
  43. }
  44.  
  45. void menu()
  46. {
  47.   printf("______ARQUEROS EN EL BOSQUE_______\n");
  48.   printf("____________OOOOOO________________\n");
  49.   printf("_________OOOOOOOOOOOOO____________\n");
  50.   printf("_____OOOOOOOOOOOOOOOOOOOO_________\n");
  51.   printf("___OOOOOOOOOOOOOOOOOOOOOOOO_______\n");
  52.   printf("___OOOOOOOOOOOOOOOOOOOOOOOO_______\n");
  53.   printf("_____OOOOOOOOOOOOOOOOOOOO_________\n");
  54.   printf("______OOOOOOOOOOOOOOOOOO__________\n");
  55.   printf("_________OOOOOOOOOOOO_____________\n");
  56.   printf("__<----____OOOOOOOO_______________\n");
  57.   printf("_____________OOOO_________________\n");
  58.   printf("_____________OOOO_______---->_____\n");
  59.   printf("_____________OOOO_________________\n");
  60.   printf("_____________OOOO_________________\n");
  61.   printf("\n");
  62.   printf("MENU PRINCIPAL\n");
  63.   printf("><><><><><><><\n");
  64.   printf("Ingrese una de las opciones: \n");
  65.   printf("1. Jugar\n");
  66.   printf("2.Ver reglas\n");
  67.   printf("3.Salir del juego\n");
  68.   printf("\n");
  69. }
  70.  
  71. void reglas() //aca muestro las reglas. tiene que poder volver al menu anterior
  72. {
  73.   system("clear");
  74.   printf("El juego consiste en eliminar al arquero del extremo opuesto. \n");
  75.   printf("Cada turno puede elegir moverse una casilla en sentido horizontal o vertical o lanzar un flechazo. \n");
  76.   printf("Los flechazos se mueven en linea recta, maximo cinco lugares.\n");
  77.   printf("Ni los jugadores ni los flechazos pueden atravezar los arboles(X)");
  78.   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");
  79.   printf("Jugador primero sera identificado como 1 y jugador segundo como 2.\n");
  80.   printf("\n");
  81.   char p;
  82.   printf ("Presiona cualquier tecla y enter para volver al menu ");
  83.   scanf (" %c",&p);
  84. }
  85.  
  86. void fin_juego()
  87. {
  88.    system("clear");
  89.    printf("\n\n\n\t\t!!GRACIAS POR JUGAR!!!\n\n\n");
  90. }
  91.  
  92. void Select_Bosque()
  93. {
  94.  
  95.   system("clear");
  96.   int elije_bosque;
  97.   printf("*        Ingresa una opcion:        *\n\n");
  98.   printf("*        1- Bosque de 6 x 6         *\n");
  99.   printf("*        2- Bosque de 8 x 8         *\n");
  100.   printf("*        3- Bosque de 10 x 10       *\n");
  101.   printf("*        4- Bosque de 14 x 14       *\n");
  102.   printf("*        5- Bosque de 18 x 18       *\n");
  103.   scanf(" %d", &elije_bosque);
  104.  
  105.   system("clear");
  106.  
  107.   switch(elije_bosque){
  108.       case 1: tam_bosque = 6;
  109.               Iniciar_Bosque();
  110.               Bucle_Juego();  
  111.               break;
  112.       case 2: tam_bosque = 8;
  113.               Iniciar_Bosque();
  114.               Bucle_Juego();  
  115.               break;
  116.       case 3: tam_bosque = 10;
  117.               Iniciar_Bosque();
  118.               Bucle_Juego();
  119.               break;
  120.       case 4: tam_bosque = 14;
  121.               Iniciar_Bosque();
  122.               Bucle_Juego();
  123.               break;
  124.       case 5: tam_bosque = 18;
  125.               Iniciar_Bosque();
  126.               Bucle_Juego();
  127.               break;
  128.   }
  129.  
  130. }
  131. /*Ponemos los valores iniciales para el bosque*/
  132. void Iniciar_Bosque()
  133. {
  134.    srand (time(NULL));
  135.  
  136.    int Xnum = 0;
  137.    int i, j;
  138.  
  139.    if(tam_bosque == 6)
  140.    {
  141.        for(i = 0; i < tam_bosque;i++)
  142.            for(j = 0; j < tam_bosque;j++)
  143.                bosque6x6[i][j] = ' ';
  144.  
  145.        bosque6x6[0][0] = '1';
  146.        bosque6x6[5][5] = '2';
  147.  
  148.        while(Xnum < tam_bosque/2 )
  149.        {
  150.            i = (rand() % tam_bosque);
  151.            j = (rand() % tam_bosque);
  152.  
  153.            if(bosque6x6[i][j] == ' ')
  154.            {
  155.                bosque6x6[i][j] = 'X';
  156.                Xnum++;
  157.            }
  158.  
  159.        }    
  160.    }
  161.  
  162.    else if(tam_bosque == 8)
  163.    {
  164.        for(i = 0; i < tam_bosque;i++)
  165.            for(j = 0; j < tam_bosque;j++)
  166.                bosque8x8[i][j] = ' ';
  167.  
  168.        bosque8x8[0][0] = '1';
  169.        bosque8x8[7][7] = '2';
  170.  
  171.        while(Xnum < tam_bosque/2 )
  172.        {
  173.            i = rand() % tam_bosque;
  174.            j = rand() % tam_bosque;
  175.  
  176.            if(bosque8x8[i][j] == ' ')
  177.            {
  178.                bosque8x8[i][j] = 'X';
  179.                Xnum++;
  180.            }
  181.  
  182.        }    
  183.    }
  184.    else if(tam_bosque == 10)
  185.    {
  186.        for(i = 0; i < tam_bosque;i++)
  187.            for(j = 0; j < tam_bosque;j++)
  188.                bosque10x10[i][j] = ' ';
  189.  
  190.        bosque10x10[0][0] = '1';
  191.        bosque10x10[9][9] = '2';
  192.  
  193.        while(Xnum < tam_bosque/2 )
  194.        {
  195.            i = rand() % tam_bosque;
  196.            j = rand() % tam_bosque;
  197.  
  198.            if(bosque10x10[i][j] == ' ')
  199.            {
  200.                bosque10x10[i][j] = 'X';
  201.                Xnum++;
  202.            }
  203.  
  204.        }    
  205.    }
  206.    else if(tam_bosque == 14)
  207.    {
  208.        for(i = 0; i < tam_bosque;i++)
  209.            for(j = 0; j < tam_bosque;j++)
  210.                bosque14x14[i][j] = ' ';
  211.  
  212.        bosque14x14[0][0] = '1';
  213.        bosque14x14[13][13] = '2';
  214.  
  215.        while(Xnum < tam_bosque/2 )
  216.        {
  217.            i = rand() % tam_bosque;
  218.            j = rand() % tam_bosque;
  219.  
  220.            if(bosque14x14[i][j] == ' ')
  221.            {
  222.                bosque14x14[i][j] = 'X';
  223.                Xnum++;
  224.            }
  225.  
  226.        }    
  227.    }
  228.    else if(tam_bosque == 18)
  229.    {
  230.        for(i = 0; i < tam_bosque;i++)
  231.            for(j = 0; j < tam_bosque;j++)
  232.                bosque18x18[i][j] = ' ';
  233.  
  234.        bosque18x18[0][0] = '1';
  235.        bosque18x18[17][17] = '2';
  236.  
  237.        while(Xnum < tam_bosque/2 )
  238.        {
  239.            i = rand() % tam_bosque;
  240.            j = rand() % tam_bosque;
  241.  
  242.            if(bosque18x18[i][j] == ' ')
  243.            {
  244.                bosque18x18[i][j] = 'X';
  245.                Xnum++;
  246.            }
  247.  
  248.        }    
  249.    }
  250.  
  251. }
  252. /*Dibuja cuando sea necesario*/
  253. void Actualizar_Juego()
  254. {
  255.    system("clear");
  256.  
  257.    if( tam_bosque == 6)
  258.    {
  259.        int i,j;
  260.        printf("\n  ");
  261.  
  262.        for (j = 0; j < tam_bosque;j++) //filas alfabeticas
  263.            printf("  %c", 'a'+j);
  264.        printf("\n");
  265.  
  266.        for (i = 0;i < tam_bosque;i++) //columnas numeradas
  267.        {
  268.            printf(" %2d", i);
  269.  
  270.            for (j = 0;j < tam_bosque;j++)
  271.            {
  272.                printf("| %c", bosque6x6[i][j]);
  273.            }
  274.            printf("| \n");
  275.        }
  276.    }
  277.    else if( tam_bosque == 8)
  278.    {
  279.        int i,j;
  280.        printf("\n  ");
  281.  
  282.        for (j = 0;j < tam_bosque;j++) //filas alfabeticas
  283.            printf("  %c", 'a'+j);
  284.        printf("\n");
  285.  
  286.        for (i = 0;i < tam_bosque;i++) //columnas numeradas
  287.        {
  288.            printf(" %2d", i);
  289.  
  290.            for (j = 0;j < tam_bosque;j++)
  291.            {
  292.                printf("| %c", bosque8x8[i][j]);
  293.            }
  294.            printf("| \n");
  295.        }
  296.    }
  297.    else if( tam_bosque == 10)
  298.    {
  299.        int i,j;
  300.        printf("\n  ");
  301.  
  302.        for (j = 0;j < tam_bosque;j++) //filas alfabeticas
  303.            printf("  %c", 'a'+j);
  304.        printf("\n");
  305.  
  306.        for (i = 0;i < tam_bosque;i++) //columnas numeradas
  307.        {
  308.            printf(" %2d", i);
  309.  
  310.            for (j = 0;j < tam_bosque;j++)
  311.            {
  312.                printf("| %c", bosque10x10[i][j]);
  313.            }
  314.            printf("| \n");
  315.        }
  316.    }
  317.    else if( tam_bosque == 14)
  318.    {
  319.        int i,j;
  320.        printf("\n  ");
  321.  
  322.        for (j = 0;j < tam_bosque;j++) //filas alfabeticas
  323.            printf("  %c", 'a'+j);
  324.        printf("\n");
  325.  
  326.        for (i = 0;i < tam_bosque;i++) //columnas numeradas
  327.        {
  328.            printf(" %2d", i);
  329.  
  330.            for (j = 0;j < tam_bosque;j++)
  331.            {
  332.                printf("| %c", bosque14x14[i][j]);
  333.            }
  334.            printf("| \n");
  335.        }
  336.    }
  337.    else if( tam_bosque == 18)
  338.    {
  339.        int i,j;
  340.        printf("\n  ");
  341.  
  342.        for (j = 0;j < tam_bosque;j++) //filas alfabeticas
  343.            printf("  %c", 'a'+j);
  344.        printf("\n");
  345.  
  346.        for (i = 0;i < tam_bosque;i++) //columnas numeradas
  347.        {
  348.            printf(" %2d", i);
  349.  
  350.            for (j = 0;j < tam_bosque;j++)
  351.            {
  352.                printf("| %c", bosque18x18[i][j]);
  353.            }
  354.            printf("| \n");
  355.        }
  356.    }
  357.  
  358. }
  359.  
  360. /****BUCLE DEL JUEGO****/
  361. void Bucle_Juego()
  362. {
  363.    int ganador = 0;
  364.    int turno = 1; //empieza jugador 1
  365.  
  366.    while(ganador == 0){ //que se repita mientras no haya ningun ganador
  367.  
  368.        Actualizar_Juego(); //Actualiza el juego
  369.  
  370.        Mov_Attack(turno); //mueve o ataca  
  371.  
  372.        /*Falta un codigo para comprobar si alguien ya ha ganado*/
  373.  
  374.        /*Cambiando los turnos*/
  375.        if(turno == 1)
  376.            turno = 2;
  377.        else
  378.            turno = 1;
  379.    }
  380.  
  381.    /*cuando se termine el bucle comprobamos quien ha ganado*/
  382.    if(ganador == 1){
  383.        printf("Ha Ganado el jugador 1");
  384.    }
  385.    else if(ganador == 2)
  386.        printf("Ha Ganado el jugador 2");
  387.  
  388. }
  389.  
  390. void Mov_Attack(int turno)
  391. {
  392.    char imagen_jugador; //para dibujar un '1' o un '2' dependiendo del turno
  393.  
  394.    if(turno == 1)
  395.    {
  396.        imagen_jugador = '1';
  397.        printf("Es el turno del jugador 1\n");
  398.    }
  399.    else
  400.    {
  401.        imagen_jugador = '2';
  402.        printf("Es el turno del jugador 2\n");
  403.    }  
  404.  
  405.   char accion;
  406.  
  407.    //moverse
  408.   int o_i,d_i; //coordenadas origen(enteros)
  409.   char o_j,d_j;  //coordenadas destino(letras)
  410.  
  411.   printf("Moverte o tirar flecha? (m o t)");
  412.   scanf(" %c", &accion);
  413.  
  414.   //para saber lo que ha ingresado
  415.   if(accion == 'm')
  416.   {
  417.       printf("Ingresa coordenada vertical origen(numero): ");
  418.       scanf(" %d", &o_i); //pedimos un entero
  419.       printf("Ingresa coordenada horizontal origen(letra): ");
  420.       scanf(" %c", &o_j); //depimos un char
  421.  
  422.       printf("Ingresa coordenada vertical destino(numero): ");
  423.       scanf(" %d", &d_i); //pedimos un entero
  424.       printf("Ingresa coordenada horizontal destino(letra): ");
  425.       scanf(" %c", &d_j); //pedimos un char
  426.  
  427.       /*Dependiendo del tamaño del bosque*/
  428.       if( tam_bosque == 6)
  429.       {
  430.           bosque6x6[o_i][o_j - 97]= ' ';
  431.           bosque6x6[d_i][d_j - 97]= imagen_jugador;
  432.       }
  433.       else if( tam_bosque == 8)
  434.       {
  435.           bosque8x8[o_i][o_j - 97]= ' ';
  436.           bosque8x8[d_i][d_j - 97]= imagen_jugador;
  437.       }
  438.       else if( tam_bosque == 10)
  439.       {
  440.           bosque10x10[o_i][o_j - 97]= ' ';
  441.           bosque10x10[d_i][d_j - 97]= imagen_jugador;
  442.       }
  443.       else if( tam_bosque == 14)
  444.       {
  445.           bosque14x14[o_i][o_j - 97]= ' ';
  446.           bosque14x14[d_i][d_j - 97]= imagen_jugador;
  447.       }
  448.       else if( tam_bosque == 18)
  449.       {
  450.           bosque18x18[o_i][o_j - 97]= ' ';
  451.           bosque18x18[d_i][d_j - 97]= imagen_jugador;
  452.       }
  453.  
  454.   }
  455.   else if(accion == 't')
  456.   {
  457.       /*ALGORITMO PARA TIRAR FLECHAZO*/
  458.   }
  459.   else
  460.   {
  461.        printf("Accion incorrecta \n");
  462.   }
  463.  
  464. }
  465.  
  466.  


solo falta hacer el algoritmo para tirar flechas
326  Programación / Programación C/C++ / Re: C++ crear un programa para restar continua en: 5 Junio 2015, 22:52 pm
Sube algo de código para que te podamos ayudar si es posible  :-\
327  Programación / Programación C/C++ / Re: [C] [?] uso de continue en: 5 Junio 2015, 22:39 pm
Ese continue en tu código hace que no se imprima x siempre y cuando (x%2) sea diferente a cero...

El continue es solamente para pasar a la siguiente iteración del bucle.
328  Programación / Programación C/C++ / Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?] en: 5 Junio 2015, 01:21 am
Ah no me dí cuenta que puse 2 & de más.  :P
329  Programación / Programación C/C++ / Re: GeSHi Filter for syntax highlighting en: 4 Junio 2015, 20:47 pm
No se necesitas las etiquetas GeSHI en CodeBlocks, para utilizarlo en el foro:

http://i.imgur.com/CtgvjOI.png

es la firma de Elecktro
330  Seguridad Informática / Bugs y Exploits / Re: ¿conoceis algun tuto o manual de metasploit entero? en: 4 Junio 2015, 20:12 pm
@hdarko eso que has subido es muy groso  ::)
Páginas: 1 ... 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 [33] 34 35 36 37 38 39 40 41 42 43 44 45
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines