lunes, 30 de septiembre de 2019

ALLEGRO

ALLEGRO (BIBLIOTECA DE PROGRAMACIÓN)

-¿Qué es?    Es una biblioteca libre y de código abierto para la programación de videojuegos desarrollados en lenguaje C. 
La biblioteca cuenta con funciones para gráficos, manipulación de imágenes de texto, sonidos, dispositivos de entrada (teclado, ratón y mandos de juego) y temporizadores.

-¿Cuales son las instrucciones que tiene la librería allegro?   

                                                                            
FUNCIÓN
                                                                    
PROPÓSITO
                           
EJEMPLO


allegro_init ();

-Esta función instala las funciones de allegro.





,|#include <allegro.h>
int main()
{
    allegro_init();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
    readkey();
return 0;
}
END_OF_MAIN()


set_color_depth (32);

-Con esta función hacemos que nuestro juego tenga una profundidad de Color de 32-bits (color verdadero) o con el valor que le demos. Puede ser 8 (para 256 colores), 16, 24 o 32.

,|#include <allegro.h>
int main()
{
    allegro_init();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
    readkey();
return 0;
}
END_OF_MAIN()

set_gfx_mode (GFX_AUTODETECT_WINDOWED, x, y, 0,0);

-Está función creará una ventana de x*y píxeles.


,|#include <allegro.h>
int main()
{
    allegro_init();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
    readkey();
return 0;
}
END_OF_MAIN()


readkey();

-Esta función espera que se oprima una tecla la usaremos para ver la pantalla en este caso.

,|#include <allegro.h>
int main()
{
    allegro_init();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
    readkey();
return 0;
}
END_OF_MAIN()



END_OF_MAIN()

-Esta es la más importante, al final del MAIN escribimos ‘SIN’; para indicar al programa que desinstale los controladores y que finalice allegro.

,|#include <allegro.h>
int main()
{
    allegro_init();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
    readkey();
return 0;
}
END_OF_MAIN()


-Ejemplo  Un ejemplo sencillo en Allegro 4
#include <allegro.h>

int main() 
{
   allegro_init();
   install_keyboard();
   set_color_depth(16);
   set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);

   clear_to_color(screen, makecol(0, 128, 128));
 
   while (!key[KEY_ESC])
   {
      circlefill(screen, rand() % 640, rand() % 480, rand() % 64, makecol(rand() % 256, 0, 0));
   }

   return 0;
}
END_OF_MAIN();

- Ejemplo 2   Un ejemplo equivalente en  Allegro 5

#include <allegro5/allegro.h>
#include <allegro5/allegro_primitives.h>

ALLEGRO_DISPLAY *display = NULL;
ALLEGRO_EVENT_QUEUE *events = NULL;

int main()
{
    al_init();
    al_install_keyboard();
    al_set_new_display_option(ALLEGRO_SINGLE_BUFFER, 1, ALLEGRO_REQUIRE);
    al_set_new_display_flags(ALLEGRO_WINDOWED);
    display = al_create_display(640, 480);
    al_init_primitives_addon();
 
    events = al_create_event_queue();
    al_register_event_source(events, al_get_keyboard_event_source());
 
    al_clear_to_color(al_map_rgb(0, 128, 128));

    while (al_is_event_queue_empty(events))
    {
        al_draw_filled_circle(rand() % 640, rand() % 480, rand() % 64, al_map_rgb(rand() % 256, 0, 0));
        al_flip_display();
    }

}

jueves, 26 de septiembre de 2019

GOTOXY

-Programa GOTOXY-


#include <stdio.h>
#include <windows.h>
#include <iostream>

using namespace std;
int j;
void gotoxy(int x,int y){
    HANDLE hcon;
    hcon=GetStdHandle(STD_OUTPUT_HANDLE);
    COORD dwPos;
    dwPos.X=x;
    dwPos.Y=y;
    SetConsoleCursorPosition(hcon,dwPos);
}
int main()
{
    for(j=1; j<=25; j++)
        {
            gotoxy(15,j);//Posiciona el curson en columna 15 y fila de 1 a 25
    system("color 4");//Cambia el color del texto
    cout <<"HOLA!!!";
    //system("cls");//Borra la pantalla
        }
            for(j=1; j<=25; j++)
        {
            gotoxy(j,15);//Posiciona el cursor en la fila 15 y la columna cambia de 1 a 25
    system("color 4");
    cout <<"HOLA!!!";
    //system("cls");
        }

        return 0;
}





CÓDIGO 23

-Programa 23-

                                                                  Adivina el número
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>

using namespace std;
void ingresanumero();
void imprimeresultados(int intentos);

int num,capturas;
void ingresanumero()
{
    do{
        cout <<"Ingrese un numero entre 1 y 10:  "<<endl;
        cin >>num;
        capturas++;
    }while(num!=6);
}

void imprimeresultados(int intentos)
{
    cout <<"ADIVINASTE!!!\n";
    if(intentos<=3)
        cout <<"Y solo te tardaste" <<intentos;
    if(intentos>3)
        cout <<"Pero te tardaste mucho en adivinar" <<endl;
}
int main()
{
    ingresanumero();
    imprimeresultados(capturas);
    system("PAUSE");
    return 0;
}





CÓDIGO 22

-Programa 22-


#include <iostream>
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
using namespace std;

int main()

{
   int randi,j;
   srand(time(NULL));
   cout<<"IMPRESION DE RANDOM: "<<endl;
   for(j=1;j<=15;j++)
   {
       randi=rand();
    cout<<randi<<endl;
       }
    cout<<"Impresion random entre 100"<<endl;
    for(j=1;j<=15;j++)
    {
        randi=rand()/100;
        cout<<randi<<endl;
    }
    cout<<"Impresion en random entre 1000"<<endl;
     for(j=1;j<=15;j++)
    {
        randi=rand()/1000;
        cout<<randi<<endl;
    }
    system ("Pause");
    }



CÓDIGO 21

-Programa 21-


#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
void captura();
void inverso();
void multiplos();
void sumar();
void restar();
void multiplicar();
int vec1[5],vec2[5],vec3[5],j,h,suma[5],resta[5],multiplicacion[5];
int main()
{
    cout <<"°°CAPTURA DATOS EN UN VECTOR°°" <<endl;
    captura();
    inverso();
    multiplos();
    sumar();
    restar();
    multiplicar();
    return 0;
}
void captura()
{
    for (j=0; j<=4; j++)
    {
        cout <<"\nIngresa el dato:  "<<endl;
        cin >>vec1[j];
    }
}
void inverso()
{
    cout <<"NUMERO INVERSO"<<endl;
    for (j=4; j>=0; j--)
    {
        vec2[h]=vec1[j];
        h++;
        cout <<""<<vec1[j]<<endl;
    }
}
void multiplos()
{
    cout<<"MULTIPLOS DEL 6"<<endl;
    for (j=0; j<=4; j++)
    {
        vec3[j]=(j+1)*6;
        cout <<""<<vec3[j]<<endl;
    }
}
void sumar()
{
    cout <<"SUMA"<<endl;
    for (j=0; j<=4; j++)
    {
        suma[j]=vec1[j]+vec2[j];
        cout<<""<<suma[j]<<endl;
    }
}
void restar()
{
    cout<<"RESTA"<<endl;
    for(j=0; j<=4; j++)
    {
        resta[j]=vec2[j]-vec3[j];
        cout<<resta[j]<<endl;
    }
}
void multiplicar()
{
    cout <<"MULTIPLICAR"<<endl;
    for(j=0; j<=4; j++)
    {
        multiplicacion[j]=vec1[j]*vec2[j];
        cout <<multiplicacion[j]<<endl;
    }
}



viernes, 20 de septiembre de 2019

CÓDIGO RFC

-Programa RFC-


#include <iostream>
#include <stdio.h>
#include <string.h>

using namespace std;
char RFC[30],nombre[30],paterno[30],materno[30],dia[30],mes[30],anio[30];
int longitud;

int main()
{
    cout <<"°°OBTENER TU RFC°°"<<endl;
    cout <<"Ingresa tu apellido paterno"<<endl;
    gets(paterno);
    cout <<"Ingresa apedillo materno"<<endl;
    gets(materno);
    cout <<"Ingresa nombre"<<endl;
    gets(nombre);
    cout <<"Ingresa tu dia de nacimiento"<<endl;
    gets(dia);
    cout <<"Ingresa tu mes de nacimiento"<<endl;
    gets(mes);
    cout <<"Ingresa el anio de nacimiento"<<endl;
    gets(anio);

    strupr(paterno);
    strupr(materno);
    strupr(nombre);

    RFC[0]=paterno[0];
    RFC[1]=paterno[1];
    RFC[2]=materno[0];
    RFC[3]=nombre[0];
    RFC[4]=anio[2];
    RFC[5]=anio[3];
    RFC[6]=mes[0];
    RFC[7]=mes[1];
    RFC[8]=dia[0];
    RFC[9]=dia[1];


    cout <<" Su RFC es:  "<<RFC<<endl;


    return 0;
}



CÓDIGO 17 (Modificado)

-Programa 17-

                                                                                              modificado
  • Elaborar un programa para determinar el signo zodiacal de una persona, para ello el usuario debe introducir el día y el mes de nacimiento. Una vez que se determine cual es el signo zodiacal de la persona deberá mostrarse en pantalla el signo zodiacal y las características atribuirles  a tal signo zodiacal. El programa deberá contar con las funciones de captura, búsqueda y una para cada signo zodiacal.

               -Acuarios del 20 de febrero al 18 de febrero.
               -Piscis del 19 de febrero al 20 de marzo.
               -Aries del 21 de marzo al 19 de abril.
               -Tauro del 20 de abril al 20 de mayo.
               -Géminis del 21 de mayo al 20 de junio.
               -Cáncer del 21 junio al 22 de julio.
               -Leo del 23 de julio al 22 de agosto.
               -Virgo del 23 de agosto al 22 de septiembre.
               -Libra del 23 de septiembre al 22 de octubre.
               -Escorpio del 23 de octubre al 21 de noviembre.
               -Sagitario del 22 de noviembre al 21 de diciembre.

               
#include <iostream>
#include <stdio.h>
#include <string.h>

using namespace std;
char cadena[20];
int longitud,j;
void captura();
void busqueda();
void acuario ();
void piscis ();
void aries ();
void tauro ();
void geminis();
void cancer();
void leo ();
void virgo();
void libra();
void escorpio();
void sagitario();
void capricornio();
int dia,mes;
int main()
{
    cout << "*HOLA, CAPTURA TU NOMBRE*" << endl;
    gets(cadena);
    longitud=strlen(cadena);
    cout<<"Hola"<<cadena<<"tu nombre tiene"<<longitud<<endl;
    strcat(cadena,"FIGUEROA");
    cout<<"Hola"<<cadena<<endl;
captura();
busqueda();
acuario();
piscis();
aries();
tauro();
geminis();
leo();
 virgo();
 libra();
 escorpio();
 sagitario();
 capricornio();
return 0;
}
void captura()
{
cout<<"Ingrese el dia de nacimiento\n";
cin>>dia;
cout<<"Ingrese el mes de nacimiento\n";
cin>>mes;
}
void busqueda()
{
if((dia>=20&&mes==1)||(dia<=18&&mes==2))
cout<<"su signo zodiacal es acuario\n";

if((dia>=19&&mes==2)||(dia<=20&&mes==3))
cout<<"su signo zodiacal es piscis\n";

if((dia>=21&&mes==3)||(dia<=19&&mes==4))
cout<<"su signo zodiacal es aries \n";

if((dia>=20&&mes==4)||(dia<=20&&mes==5))
cout<<"su signo zodiacal es tauro\n";

if((dia>=21&&mes==5)||(dia<=20&&mes==6))
cout<<"su signo zodiacal es geminis\n";

if((dia>=21&&mes==6)||(dia<=22&&mes==7))
cout<<"su signo zodiacal es cancer\n";

if((dia>=23&&mes==7)||(dia<=22&&mes==8))
cout<<"su signo zodiacal es leo\n";

if((dia>=23&&mes==8)||(dia<=22&&mes==9))
cout<<"su signo zodiacal es virgo\n";

if((dia>=23&&mes==9)||(dia<=22&&mes==10))
cout<<"su signo zodiacal es libra\n";

if((dia>=23&&mes==10)||(dia<=21&&mes==11))
cout<<"su signo zodiacal es escorpio\n";

if((dia>=22&&mes==11)||(dia<=21&&mes==12))
cout<<"su signo zodiacal es sagitario\n";

if((dia>=22&&mes==12)||(dia<=19&&mes==1))
cout<<"su signo zodiacal es capricornio\n";
}
void acuario()
{
   if((dia>=20&&mes==1)||(dia<=18&&mes==2))
   {
cout<<"Los Acuario son tímidos y callados, pero al mismo tiempo, pueden ser excéntricos y enérgicos";
cout<<"Sin embargo, en ambos casos, son pensadores y muy intelectuales, y aman ayudar a otros";
cout<<"Son capaces de ver las dos caras de una situación sin prejuicios, lo cual les permite resolver problemas\n";
}

}
void piscis()
{
          if((dia>=19&&mes==2)||(dia<=20&&mes==3))
          {
cout<<"Los Piscis son muy amistosos, así que siempre los encontrarás en compañía de gente diferente";
cout<<"Los Piscis son abnegados, siempre tienen la disposición de ayudar a los demás, sin esperar recibir nada a cambio\n";
}
}
void aries()
{
if((dia>=21&&mes==3)||(dia<=19&&mes==4))
{
cout<<"Siendo el primer signo del zodíaco, la presencia de Aries casi siempre marca el inicio de algo turbulento y enérgico.";
cout<<"Las personas de éste signo están buscando continuamente dinamismo, velocidad y competencia.";
    cout<<"Son siempre los primeros en todo – desde el trabajo hasta en los eventos sociales.";
cout<<"Gracias a Marte, su planeta regente, Aries es uno de los signos más activos del zodiaco.";
}
}
void tauro()
{
if((dia>=20&&mes==4)||(dia<=20&&mes==5))
{
cout<<"Tauro es el primero cuando se trata de cosechar los frutos de su labor.";
cout<<"Aman todo lo que sea bueno y hermoso y suelen rodearse de placeres materiales.";
cout<<"Las personas nacidas bajo el signo de Tauro son muy sensuales y tienen un tacto mu agudo.";
}
}
void geminis()
{
if((dia>=21&&mes==5)||(dia<=20&&mes==6))
{
cout<<"Géminis representa dos lados diferentes de personalidad y nunca estrás seguro con cuál de las dos te estás viendo.";
cout<<"Géminis puede ser sociable, comunicativo y listo para la diversión, mientras que por otro lado, puede ser muy serio";
}
}
void cancer()
{
if((dia>=21&&mes==6)||(dia<=22&&mes==7))
{
cout<<"Cáncer puede ser uno de los signos del zodiaco más difíciles de llegar a conocer.";
cout<<"Cáncer es muy emocional y sensible, se preocupa por su hogar y su familia,";
}
}
void leo()
{
if((dia>=23&&mes==7)||(dia<=22&&mes==8))
{
cout<<"Las personas nacidas bajo el signo de Leo, son líderes por naturaleza.";
cout<<"Son dramáticos, creativos, seguros de sí mismos, dominantes y es extremadamente difícil resistirse a ellos. ";
}
}

void virgo()
{
if((dia>=23&&mes==8)||(dia<=22&&mes==9))
{
cout<<"Los Virgos suelen poner atención en los detalles más insignificantes." ;
cout<<"su profundo sentido de la humanidad los hace ser una de los signos más cuidadosos del zodiaco.";
}
}
void libra()
{
  if((dia>=23&&mes==9)||(dia<=22&&mes==10))
  {
  cout<<"Las personas nacidas bajo el signo de Libra son pacíficas y justas y odian estar solas.";
  cout<<" El compañerismo es muy importante para Libra y con su victoriosa mentalidad y actitud de cooperación, no soportan estar solos.";
  }
}
void escorpio()
{
if((dia>=23&&mes==10)||(dia<=21&&mes==11))
{
cout<<"Los nacidos bajo el signo de Escorpio son personas apasionadas y asertivas.";
cout<<"Son determinados y decisivos, e investigarán hasta encontrar la verdad.";
}
}
void sagitario()
{
if((dia>=22&&mes==11)||(dia<=21&&mes==12))
{
cout<<"Sagitario es uno de los mayores viajeros de entre todos los signos del zodíaco.";
cout<<"Su mente abierta y visión filosófica los motiva a vagar por el mundo en busca del sentido de la vida.";
}
}
void capricornio()
{
if((dia>=22&&mes==12)||(dia<=19&&mes==1))
{
cout<<"Cuando se trata de profesionalismo y de valores tradicionales, Capricornio es el primero. ";
cout<<"Capricornio es práctico y se considera que es el signo más serio del zodíaco,";
}
}