
Para aquellos que aunque tengan experiencia en programación pero no han utilizado C# o ya no recuerdan bien incluyo como parte de la teoría básica antes de iniciar los proyectos en XNA una lista de consideraciones para que se entienda mejor el código.
Uso del punto y coma (;) después de una instrucción.
Siguiendo con la herencia de las anteriores versiones del lenguaje C al escribir un comando terminamos la línea con un punto y coma (;)
Ejemplo:
base.Update(gameTime);
Direccion = DERECHA;
Al escribir la definición de una función, namespace, clase o algún tipo de loop o condición no se termina la instrucción con (;)
Ejemplo:
protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
}
Esto más que llamarlo una excepción es mas bien por el hecho de que la instrucción no termina con definición de un bloque o una condición, por ejemplo, en el caso de un if si tenemos la condición:
1 If (Distancia==0)
2 {
3 Accion = NADA;
4 Personje.Correr(10,20);
5 }
Si se cumple la condición de la línea 1 el compilador leerá la siguiente línea pero como parte de la instrucción if. Si la siguiente instrucción es un bloque entonces ejecutara lo que esté dentro del bloque pero si colocamos un (;) al final de la línea 1 le estaremos diciendo al compilador que lo que tiene que hacer si se cumple la condición es “Nada” lo mismo ocurre al definir una función; después de escribir la declaración de la función el compilador busca la definición dentro de un bloque limitado por {}.
Comentarios
Existen dos tipos de comentarios en C# que son los mismo que se ocupan en versiones anterior de C. Primero están los cometarios /* <texto>*/ Estos comentarios pueden abarcar varias líneas y todo lo que este escrito dentro de estos símbolos no será tomado en cuenta por el compilador.
Ejemplo:
/*
Esto es un comentario
en varias
líneas
*/
Los siguientes tipos de comentarios se escriben con los símbolos // y solo abarca una línea, así que lo que este escrito a la derecha no será tomado en cuenta por el compilador pero la siguiente línea ya no será tomado como comentario.
Ejemplo:
// Esta línea no será leída por el compilador.
Variables
La declaración de variables sigue manteniendo la sintaxis clásica de C <tipo de dato> <Nombre de la variable>;
Ejemplo
Int Distancia;
Float Energia;
El nombre de las variables no puede ser una palabra reservada del lenguaje, debe comenzar con una letra y puede contener también números y el carácter (_). Se recomienda utilizar un estándar para nombrar las variables como por ejemplo empezar siempre el nombre con una letra mayúscula. Se pueden utilizar otras convenciones como la notación Hungara que consiste en incluir el tipo de dato en los primeros caracteres del nombre de acuerdo a la siguiente lista:
| b | Booleano (int) |
| by | BYTE o UCHAR (unsigned char) |
| c | Carácter (un byte) |
| dw | Entero largo de 32 bits sin signo (double word) |
| f | Flags empaquetados en un entero de 16 bits |
| h | Manipulador de 16 bits (handle) |
| l | Entero largo de 32 bits |
| lbl | Objeto Label |
| lp | Puntero a entero largo de 32 bits |
| lpfn | Puntero largo a una función que devuelve un entero |
| lpsz | Puntero largo a una cadena terminada con cero |
| n | Entero de 16 bits |
| p | Puntero a entero de 16 bits |
| e | Enumeración |
| pt | Coordenadas (x y) empaquetadas en un entero de 32 bits |
| rgb | Valor de color RGB empaquetado en un entero de 32 bits |
| sz | Cadena terminada en cero |
| txt | Cajas de texto |
| w | Entero corto de 16 bits sin signo (Word) |
Ejemplo
Int IDistancia;
bool bColision;
Lo importante es siempre utilizar nombres que describan el uso de la variable.
Asignación de variables.
La asignación de valores como en varios lenguajes es <Variable> = <Valor>;
Ejemplo:
Distancia = 10;
Energia = 2.4;
También se puede asignar un valor a una variable desde que se declara
Ejemplo:
Int Distancia = 10;
Métodos
Los métodos que son las funciones propias de una clase y cualquier tipo de función independiente se declaran con la sintaxis : <valor que regresa><Nombre de la función>(<valores que recibe>)
Ejemplo:
Void Correr(int Direccion, float Distancia, float Velocidad)
{
// Aquí va el cuerpo de la función
}
para llamar una función se escribe el nombre de la función y los parámetros entre paréntesis, si se trata de un método se debe incluir el nombre de la instancia del objeto.
Ejemplo:
DespliagaMensaje(“Menú Principal”);
Personaje.Correr(SUR, 10.5,20.6);
Clases
Las clases se declaran con la palabra clave CLASS seguidas del nombre de la clase
Ejemplo:
public class Game1 : Microsoft.Xna.Framework.Game
Del lado izquierdo se escribe la visibilidad de la clase y los dos puntos (:) se utilizan para definir a la herencia, de esta forma la clase que se encuentra del lado derecho será la clase padre.
Para instanciar un objeto de una clase se utiliza la palabra reservada New
Ejemplo:
graphics = new GraphicsDeviceManager();
En este ejemplo se instancia el objeto graphics de la clase GraphicsDeviceManager.
Ahora ya puedes pasar al post donde empezamos a analizar el código de XNA
No olvides dejar tus comentarios, nos vemos en el siguiente post
Piroshi
Tags: c#