Frase de la semana

El blog no debe ser un recurso vano para el ego, tiene que servir para desahogarte y para crear cosas, ya sean del gusto general o no.

‡ Alexander Strauffon ‡

Acerca de este Blog

algunos derechos reservados
Creative Commons License

Mostrando entradas con la etiqueta educación. Mostrar todas las entradas
Mostrando entradas con la etiqueta educación. Mostrar todas las entradas

Tutorial : letras que rebotan

0 opiniones

Consideraciones:


para este pequeño tutorial considerare que usted sabe lo básico acerca de programación en c++ así como uso básico de objetos y usa un sistema Windows (lo se es malo pero aun no he portado todo el código a *nix)


 


paso 1:


primero haremos un objeto para la letra que rebotara y para esto necesitamos abstraerlo, es decir sacar sus propiedades y métodos mas importantes:


propiedades:

  • Carácter – aquí guardaremos la letra que rebotara por la pantalla
  • x – la coordenada en “X” que tendrá nuestro carácter
  • y – la coordenada en “Y” de nuestro carácter
  • movimiento en x – la dirección en la que se moverá nuestro carácter en el eje x
  • movimiento en y – la dirección en la que  se moverá nuestro carácter en el eje y

métodos:

aquí moveremos nuestro carácter en la pantalla, para hacerlo mas fácil lo dividiremos en tres partes


  • preparar movimiento – asignarlas direcciones de movimiento
  • obtener coordenadas  obtener las nuevas coordenadas del carácter
  • mover – finalmente mover el objeto

ahora que hemos finalizado la abstracción del objeto podemos escribir su código.


paso 2:


primero haremos la case y después definiremos sus métodos


Caracter.h.



class Caracter

{


public:


    Caracter(char letra ,int x, int y);//constructor


    ~Caracter(void);


    void mover();


private:


    void makeXY(); //otener as nuevas coordenadas del objeto


    void peparaMov();//no exceder 80 * 25 (TAMAÑO DE LA CONSOLA)


    int x;


    int y;


    bool movx;//true derecha; 
    bool movy;//true abajo;


    char letra;


};


básicamente lo que hemos echo hasta ahora es pasar al código nuestra abstracción , ahora lo que haremos será definir los métodos de nuestra clase:


Caracter.cpp :


#include "StdAfx.h"

#include "Caracter.h"


#include "posicion.h"


#include <iostream>


using namespace std;


Caracter::Caracter(char letra ,int x, int y)

{


    this->letra = letra;


    if(x<0) x=0; else if(x>79) x=79;//s el x pasado al constructor esta fuera de limites ponerlo en el limite mas cercano


    this->x = x-1;//poner un carácter atrás para avanzar y ponerlo en el lugar indicado por el usuario;


    if(y<0) y=0; else if(y>24) y=24;//si el x pasado al constructor esta fuera de limites ponerlo en el limite mas cercano



    this->y = y-1;

    this->movx = true;


    this->movy = true;


}


Caracter::~Caracter(void)//eliminar todos los datos

{


    this->letra = NULL;


    this->x = NULL;


    this->y = NULL;


    this->movx = NULL;


    this->movy = NULL;


    this->rastro = NULL;


}


void Caracter::mover()

{


    //eliminar el carácter antes de moverlo


     gotoxy(this->x,this->y);


     cout<<' ';


    
    this->makeXY();


    gotoxy(this->x,this->y);


    cout<<this->letra;


}


void Caracter::makeXY()

{


    this->peparaMov();


    if(this->movx) this->x++; else this->x--;


    if(this->movy) this->y++; else this->y--;


}


void Caracter::peparaMov()//si esta e el limite cambiamos la dirección del movimiento


{


    if(this->x==0) this->movx = true;


    else if(this->x==79) this->movx = false;


    if(this->y==0) this->movy = true;


    else if(this->y==24) this->movy = false;


}


ahora como gotoxy es de borland tenemos un problema para so usaremos este código que realiza lo mismo:


posicion.h :

#include <stdio.h>

#include <conio.h>


#include <windows.h>


void gotoxy( int column, int line )

  {


  COORD coord;


  coord.X = column;


  coord.Y = line;


  SetConsoleCursorPosition(


    GetStdHandle( STD_OUTPUT_HANDLE ),


    coord


    );


  }


int wherex()

  {


  CONSOLE_SCREEN_BUFFER_INFO csbi;


  COORD                      result;


  if (!GetConsoleScreenBufferInfo(


         GetStdHandle( STD_OUTPUT_HANDLE ),


         &csbi


         ))


    return -1;


  return result.X;


  }


int wherey()

  {


  CONSOLE_SCREEN_BUFFER_INFO csbi;


  COORD                      result;


  if (!GetConsoleScreenBufferInfo(


         GetStdHandle( STD_OUTPUT_HANDLE ),


         &csbi


         ))


    return -1;


  return result.Y;


  }


bien ahora que hemos hecho nuestro objeto, ahora lo implementaremos  en nuestro programa, pero además no será un solo carácter el que rebotara sino 3!

#include "stdafx.h"
#include "Caracter.h"
#include <iostream>
#include <windows.h>
#include <conio.h>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{

    Caracter *a,*b,*c; //usamos punteros a los objetos para manejarlo mas fácilmente
    char aa,bb,cc,stop;
    int ax,ay,bx,by,cx,cy;

    cout<<"USO: CARACTER X Y, termine el programa pulsando cualquier tecla;"<<endl;//pedimos los datos de los tres caracteres y los inicializamos
    cin>>aa>>ax>>ay;
    cin>>bb>>bx>>by;
    cin>>cc>>cx>>cy;
    a = new Caracter(aa,ax,ay);
    b = new Caracter(bb,bx,by);
    c = new Caracter(cc,cx,cy);

    system(“cls”) //limpiar pantalla

    while(!_kbhit())
    {
        a->mover();//mover los objetos uno por uno
        b->mover();
        c->mover();
        Sleep(50);//hacer tiempo

    }
    delete a;//como creamos punteros, debemos de liberar la memoria donde se alojaron
    delete b;
    delete c;

    return 0;
}

y listo por esta semana es todo cualquier duda la pueden dejar en los comentarios o enviarla por mail a programacion@ka-plum.co.cc

no olviden darle me gusta! en facebook

Lo irremediable

0 opiniones
programacion1
Hoy comienza, dentro de unas pocas horas  la Facebook Hacker Cup un concurso de programación a nivel internacional auspiciado por facebook, pero no puedo evitar pensar que el lunes empieza lo que es el sufrimiento de muchos: los remediales tiempos de angustia, sufrimiento, desgaste mental y mucho pero mucho estrés, sobre todo en electrónica y programación, por suerte y gracias a dios me libre de esta temporada poco deseada por el alumnado del CETI colomos sin embargo se que muchos tienen ligeros conflictos con programación, y yo quiero ayudarlos, pero o solamente a los estudiantes del CETI, a cualquiera que tenga dudas sobre programación puede mandarme un mail a programacion@ka-plum.co.cc les pueda ayudar con actionscript (flash),c y c++(hasta objetos), java, php, javascript  y varios lenguajes de scriping solo manen un mail con sus dudas y publicare una entrada con las respuestas a las dudas que reciba, durante este periodo tratare de hacerlo a diario en las noches a eso de las 9:30 pm después lo hare cada 15 días o un mes dependiendo el numero de dudas que se registren,pro por favor no abusen no ha sus tareas ni sus proyectos, el por que es simple, si lo hago yo ustedes no aprenderán y es puede funcionar por ahora, pero los problemas vienen después en los exámenes.
si en cambio quieren que les haga un programa manden un mail a contrataciones@ka-pluum.co.cc con las especificaciones y necesidades del programa y les responder con u presupuesto y tiempo de entrega.


por cierto no olviden darle me gusta! en facebook

Sin nada que hacer y buscando en la RAE (ahora si el post real) xD

0 opiniones
diccionarioRAE_trans Pues bien como no tengo nada que hace y tengo mi pequeño diccionario azimut  de la real academia española y no tengo nada que hacer mm pues haber que palabras que en nuestro querido país se consideran chuscas pero haya no encuentro, y al final volveré a poner el botón del post anterior para que cortejen cualquier duda

ahora . . .  no encuentro mi diccionario; bueno hagamos un pequeño conjuro, amarramos las esquinas de un trapo, y decimos:
“san panuncio, los cojones te ato, si no encuentro mi diccionario no te los desato”, y ahora a busca xD.
Mmm que cree? funciono xD .
Empecemos (pongan el mouse arriba para ver la definición):
  •  cabrón
  • imbécil
  • manuela
  • mamón
  • pendejo
ya saben que ya me dio flojera, así que si se saben otro o exigen que aparezca aquí uno póngalo en los comentarios  y yo lo pongo aquí.

aquí tienen el botón de búsqueda y como un dato extra en pequeño Eastern egg, siempre que entren aquí, pueden escribir en la barra de direcciones “javascript:rae()” para abrir el cuadro de búsqueda xD

Sin nada que hacer y buscando en la RAE

0 opiniones
Mientras termino de preparar la entrada pueden hacer click en este botón y divertirse

Mi primer incursion a la progrmacion.

6 opiniones

hace poco el buen alexnike publico una entrada sobre programacion,y pues el dia anterior habia compilado mi primer programa, un programa simple de contar hasta usando solo la libreria stdio.h (pero como siempre hice de las mias y me las arregle para meter la funcion sleep() de windows.h xD) y como mi computadora esta enfermita, tengo que usar laptops varidas de mis jefes, desde una acer aspiere ona hasta una hp de casi 4 kilos, ) pero bueno ya despues de mi 4 programa y de una presentacion en power point sobre los tipos de lenguajes, me quede con una gran duda porque si se supone que un lenguaje interpretado es mas lento esto se compensa en el compilador?
hacia cambios en una sola linea y tardaba 10 minutos en compilar(?!!!!) como esta eso y lo peor es que el codigo no pasaba de las 40 lineas y luego como estoy usando la version beta del dev-c++ tine algunos bugs de uso de memoria, pero bueno, para no hacer larga les dejo una pequeña coleccionde programas 100% seguros escritos por mi (link de rapidshare) http://rapidshare.com/files/225435454/mis_programas.zip
este paquete incluye :
un "salva pantallas" tipo matrix
contar hasta
contar enteros
generado de numeros aleatorios,
disfrutenlos y me informas los bug xD

Lenguajes compilados e interpretados

0 opiniones
Hola amigos blogers y visitantes, hice junto con algunos compañeros este breve presentacion para una tarea del Ceti, es un documento hacerca de los lenguajes compilados e interpretados

Explorando Excel

1 opiniones
Hola amigos hice este pdf para un examen del Ceti, es una pequeña guia del uso de las funciones avanzadas de Excel, Disfruten lo (pueden ponerlo en pantalla completa, haciendo click en el icono de la esquina superior derecha del embed)




Blog Widget by LinkWithin