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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 ... 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
331  Programación / Java / Re: Comandos Batch en Java en: 4 Junio 2015, 19:38 pm
Activa los Códigos de escape ANSI como ya te dije, eso tiene que funcionar.

lo que publicó daryo supongo que ha de funcionar también algo has de estar haciendo mal.
332  Programación / Programación C/C++ / Re: numero buscado C# en: 4 Junio 2015, 19:25 pm
@fernandoprog1 tu código está en C no en C#

Ahora el error en tu código está en:

Código
  1. while(numero!=5)
  2.      {
  3.          printf("\n  ERROR NO ES EL NUMERO BUSCADO!");
  4.            printf("\n ingrese un numero:");
  5.           scanf("%d",numero);//AQUI ESTA EL ERROR tiene que ser &numero olvidaste el &
  6.    }
333  Foros Generales / Foro Libre / Re: ¿habrá un informático considerado como "legendario"? en: 4 Junio 2015, 19:09 pm
Aquí en el foro hay muchos
334  Programación / Programación C/C++ / Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?] 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.
335  Programación / Java / Re: Comandos Batch en Java en: 4 Junio 2015, 04:19 am
Ah, tu terminal no soporta Códigos de escape ANSI, yo lo he probado en linux:

Código:
root@kali-F:~# 









Si usas Windows debes habilitar ANSI.sys https://support.microsoft.com/en-us/kb/101875/es
336  Programación / Programación C/C++ / Re: Dibujar e inicializar tablero de posibles distintos tamaños en C [?] 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...
337  Programación / Java / Re: Comandos Batch en Java en: 3 Junio 2015, 21:52 pm
Prueba con:

Código
  1. System.out.print("\033[2J\033[1;1H");

Realmente no te limpia la pantalla pero te puede servir
338  Programación / Java / Re: Vectores java en: 3 Junio 2015, 21:28 pm
Trata de buscar en google tus dudas, porque lo que preguntas es muy básico.

Código
  1. String cadena = "Perro";
  2. char ultimaLetra = cadena.charAt(cadena.length() - 1 );
  3.  
  4. switch(ultimaLetra){
  5.    case 'a':
  6.    case 'e':
  7.    case 'i':
  8.    case 'o':
  9.    case 'u': cadena + = "s"; break;
  10.    //etc
  11. }
  12.  
339  Foros Generales / Foro Libre / Re: ¿Tienen un hacker favorito? ¿Alguien a quien admiran? en: 3 Junio 2015, 04:22 am
Aaron Swartz por su puesto.
340  Programación / Programación C/C++ / Re: revicenme para ver porfa me da un error en: 3 Junio 2015, 04:07 am
Tienes conceptos muy vagos de cómo programar, lo que necesitas es estudiar: http://c.conclase.net/?id=descargas

Empieza por ahí
Páginas: 1 ... 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