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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 [2]
11  Programación / Programación C/C++ / Re: Duda sobre operadores y funciones en: 11 Septiembre 2016, 12:24 pm
Me podrías explicar como usar tu programa. Porque sinceramente no tengo ni idea de que hacer con él.
12  Programación / Programación C/C++ / Re: Duda sobre operadores y funciones en: 10 Septiembre 2016, 16:38 pm
Si, después de publicar el mensaje empece a darle vueltas mi di cuenta de que en vez de analizar el recorrido del objeto podía almacenar en una cadena cada pulsación de las teclas
como números y luego asignar esos números a un movimiento determinado.
Lo siento, no entiendo a que te refieres con almacenar los movimientos en un entero, tenerlos en un arreglo me permite tenerlos secuenciados.
Otra cosa, al poner cstdlib y cstdio me salta un error

Ahora tengo problemas con la comunicación serial por que no tengo ni idea de como funciona.
13  Programación / Programación C/C++ / Re: Duda sobre operadores y funciones en: 10 Septiembre 2016, 15:13 pm
Hola, perdón por haber tardado en responder :laugh:.
En el anterior mensaje no explique bien lo que quería hacer aqui, tienes el codigo con comentarios. Aun no esta terminado, me falta conectar el c++ y el arduino (algo que no se como hacer todavia) pero lo del recorrido ya esta hecho.

Código
  1. #include<stdio.h>  //Declara las librerias, variables y definiciones
  2. #include<windows.h>
  3. #include<conio.h>
  4. #include<stdlib.h>
  5. #include<list>
  6. #include<iostream>
  7. using namespace std;
  8.  
  9. #define ARRIBA 72
  10. #define IZQUIERDA 75
  11. #define DERECHA 77
  12. #define ABAJO 80
  13.  
  14. bool fina = false; //Esta variable pone fin al programa si es necesario
  15. int recorrido[20]; //En este array se almacena el recorrido en forma de numeros
  16.  
  17. void gotoxy(int x, int y) //Funcion para situar el cursor en el lugar deseado
  18. {
  19. HANDLE hCon;
  20. hCon = GetStdHandle (STD_OUTPUT_HANDLE);
  21. COORD dwPos;
  22. dwPos.X =x;
  23. dwPos.Y =y;
  24.  
  25. SetConsoleCursorPosition(hCon, dwPos);
  26. }
  27.  
  28. void OcultarCursor()//Oculta el cursor
  29.  
  30. {
  31.  
  32. HANDLE hCon;
  33. hCon = GetStdHandle (STD_OUTPUT_HANDLE);
  34. CONSOLE_CURSOR_INFO cci;
  35. cci.dwSize = 2;
  36. cci.bVisible = false;
  37.  
  38. SetConsoleCursorInfo (hCon,&cci);
  39.  
  40. }
  41.  
  42. class Inicio //Es el objeto que se mueve por el camino
  43. {
  44. private:
  45.    int x, y;
  46. public:
  47.    Inicio(int _x,int _y): x(_x), y(_y){}
  48.    void pintar();
  49.    void mover();
  50. };
  51.  
  52.  
  53.  
  54. void Inicio::mover()//Esta es la funcion mas importante, permite hacer el camino y lo traduce a numeros
  55. {   int i;
  56.    if(kbhit() && recorrido[20] == 0)//Detecta si se a presionado una tecla y si la ultima cifra del recorrido es cero
  57.        {
  58.        char tecla = getch();
  59.        if(tecla == ARRIBA )//Detecta que flecha se a pulsado(en este caso arriba)
  60.        {
  61.        y--;
  62.        for(i=0;i<21;i++)//En este for se recorre el arreglo y se guarda el numero correspondiente en el siguiente hueco distinto a cero
  63.        {
  64.            if(recorrido[i] == 0)
  65.            {
  66.                recorrido[i] = 72;
  67.                break;
  68.            }
  69.        }
  70.  
  71.        }
  72.        if(tecla == IZQUIERDA )
  73.        {
  74.            x--;
  75.            for(i=0;i<21;i++)
  76.            {
  77.                if(recorrido[i] == 0)
  78.                    {
  79.                    recorrido[i] = 75;
  80.                    break;
  81.                    }
  82.            }
  83.  
  84.  
  85.  
  86.  
  87.        }
  88.        if(tecla == DERECHA )
  89.        {
  90.            x++;
  91.            for(i=0;i<21;i++)
  92.            {
  93.                if(recorrido[i] == 0)
  94.                    {
  95.                    recorrido[i] = 77;
  96.                    break;
  97.                    }
  98.            }
  99.  
  100.        }
  101.        if(tecla == ABAJO )
  102.        {
  103.            y++;
  104.            for(i=0;i<21;i++)
  105.            {
  106.                if(recorrido[i] == 0)
  107.                    {
  108.                    recorrido[i] = 80;
  109.                    break;
  110.                    }
  111.            }
  112.  
  113.        }
  114.        gotoxy(x,y); printf("*");//Imprime un asterisco para que la trayectoria sea visible
  115.        gotoxy(0,0);//Situa el cursor en la esquina superior izquierdaa
  116.        for(i=0;i<21;i++)//Imprime la secuencia en el margen
  117.        {
  118.            cout<< recorrido[i]<<"\n";
  119.        }
  120.  
  121.    }
  122.    if(recorrido[20] != 0)//Comprueba si la ultima cifra del recorrido es distinta de cero, en tal caso, el programa le manda la secuencia al robot
  123.    {
  124.        fina = true;
  125.        gotoxy(0,0); printf("Se ha completado la trayectoria, puedes mandar los datos al robot");
  126.    }
  127. }
  128.  
  129. void Inicio::pintar()//Pone el primer objeto para que sea visible
  130. {
  131.    gotoxy(x,y); printf("%c",223);
  132. }
  133.  
  134. int main()
  135. {
  136.    OcultarCursor();
  137.    int recorrido[20];
  138.    int i;
  139.    for(i=0;i<21;i++)//Despues de mandar la secuencia al robot vuelve el recorrido a cero para poder volver a utilizarla
  140.    {
  141.        recorrido[i]=0;
  142.    }
  143.    Inicio In(60,60);
  144.    In.pintar();
  145.    while(!fina)//Inicia el bucle que permite la creacion del recorrido
  146.    {
  147.        In.mover();
  148.  
  149.    }
  150.  
  151. return 0;
  152. }
  153.  

14  Programación / Programación C/C++ / Duda sobre operadores y funciones en: 9 Septiembre 2016, 17:33 pm
Hola a todos, soy nuevo y estoy empezando ha programar en c++.

Estoy haciendo un programa con el que "dibujar" un recorrido en la consola, el programa lee ese recorrido y lo procese para transformarlo en instrucciones para un robot en la vida real (con arduino). Y me gustaría saber si hay algún operador, función o librería que sea capaz de detectar ese recorrido, o al menos de ayudarme a hacer una función que lo detecte.

Gracias por adelantado  :D
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines