sábado, 30 de noviembre de 2013

Movimiento de pixeles hacia el centro, en 4 planos. C++ y C#

¿¿Qué tal programadores?!
Para seguir con la graficación, en esta ocasión complementaremos un poco mas el ejercicio realizado en la entrada anterior para lograr 4 planos dentro de la forma, y que dentro de cada plano exista un movimiento de puntos hacia el centro de dichos planos, y para poder diferenciarlos los realizaremos con colores diferentes.

El ejercicio lo vamos a hacer tanto en lenguaje C++ como en C#, para que puedan apreciar las pequeñas variantes que existen entre dichos lenguajes, en cuanto a código.

La forma solamente solamente estaría compuesta por cuatro Timers sobre ella, uno para cada plano, y pondremos el fondo de la forma en color negro, para que se distingan mas los colores de cada pixel (ésto es opcional).

Entonces la forma diseñada en Borland C++ Builder quedaría de la siguiente manera:



Y la forma diseñada en C# seria la siguiente, igual con 4 Timers(Son Invisibles en VS):



jueves, 28 de noviembre de 2013

Moviendo Pixeles

En esta ocasión veremos un programa que nos servirá como introducción a la graficación en C++.

Para esto vamos a utilizar el IDE denominado Borland C++ Builder para realizarlo.

La forma solamente tendrá un "Timer", debido a que graficaremos directamente sobre ella y es un programa tan básico que no empleara ningún botón para funcionar. El Timer empezara a funcionar en cuanto la forma sea creada.

El código quedará de la siguiente manera:

Para el archivo ".h":

//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
        TTimer *Timer1;
        void __fastcall FormPaint(TObject *Sender);
        void __fastcall Timer1Timer(TObject *Sender);
        void __fastcall FormMouseMove(TObject *Sender, TShiftState Shift,
          int X, int Y);
private: // User declarations
  POINT Puntos[10000]; // Matriz para mantener la posición de 10000 puntos
  int Contador; // Contador general para la matriz anterior
  int MediaX, MediaY; // Punto medio del área de dibujo.- a donde se dirigiran los pixeles
public: // User declarations
        __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
 y el .cpp quedaria de la siguiente manera:

miércoles, 13 de junio de 2012

Juego de Palabras

Que tal, hoy les mostrare un juego muy simple que consiste en mostrar una imagen y una palabra revuelta acerca de un deporte y que el jugador escriba de manera correcta que deporte es.

La forma básicamente quedaría de la siguiente manera:



Lo primero que haremos sera declarar un arreglo de cadenas con los deportes que se utilizaran para el juego de palabras. También declararemos tres variables de enteros, una que indique el indice que llamaremos "index" (la usaremos para saber que palabra del arreglo mostrar), una que indique los errores llamada "errores" y otra que marque los aciertos del jugador, a la cual llamaremos "correctas" (todo declarado a nivel de forma, antes del constructor de la forma).
_________________________________________________________________________________

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace JuegoPalabras
{
    public partial class Form1 : Form
    {
        string[] deportes = new string[10] { "surf", "golf", "tenis", "futbol", "beisbol", "voleybol", "natacion", "carreras", "basquetbol", "kickboxing" };
        int index = 0;
        int error = 0;
        int correctas = 0;
_________________________________________________________________________________

al igual tenemos que buscar una imagen para cada deporte del arreglo y una imagen de deportes en general para mostrarla al inicio, antes de que el juego comience y ponerlas en la carpeta "DEBUG", para evitar la necesidad de poner direcciones y solo poner el nombre de cada imagen cuando queramos mostrarla.
Es recomendable poner cada imagen con el mismo nombre y agregarle solo el numero del indice al que pertenece cada imagen de acuerdo con el arreglo declarado.

martes, 12 de junio de 2012

Programa que Calcula Dia de la Semana


Explicare como funciona  el Método para calcular que día será una fecha determinada, es un poco difícil de entender, pero tratare de explicarlo paso a paso para que no queden muchas dudas o al menos se den una idea de cómo funciona

Antes que nada creamos el método que nos regresara un número entero (ahorita veremos el por que).Este método recibirá 3 parámetros enteros: día, mes y año.
public static int DayOfWeek(int day, int month, int year)
        {
        }
Luego, dentro del método, crearemos un arreglo de una dimensión que nos dará el primer coeficiente que nos servirá para hacer posible el calculo de días. El mes será el primer coeficiente (C1) y su valor nos lo da la siguiente tabla:
Enero
Feb.
Marzo
Abril
Mayo
Junio
Julio
Agosto
Sept.
Oct.
Nov.
Dic.
6
2
2
5
0
3
5
1
4
6
2
4

Los valores anteriores se dan debido a cálculos matemáticos comparando meses que son similares, y  que común mente se nombran meses correspondientes
El concepto "meses correspondientes" se aplica a aquellos meses del calendario que empiezan en el mismo día de la semana. Por ejemplo,septiembre y diciembre son correspondientes ya que el 1 de septiembre cae en el mismo día de la semana que 1 de diciembre. Los meses son correspondientes si el número de días entre ellos es divisible entre 7. Por ejemplo febrero corresponde con marzo ya que febrero tiene 28 días, es decir, un número divisible entre 7, y 28 días son exactamente cuatro semanas. Los meses se corresponden del siguiente modo:
En un año común
§  Enero y octubre.
§  Febrero, marzo y noviembre.
§  Abril y julio.
§  Mayo, junio y agosto no se corresponden con ningún mes.
En un año bisiesto
§  Enero, abril y julio.
§  Febrero y agosto.
§  Marzo y noviembre.
§  Mayo, junio y octubre no se corresponden con ningún mes.