jueves, 5 de julio de 2012

C# SUPER FÁCIL PARA PERSONAS PRINCIPIANTES


Hola que tal amigos, voy a comenzar   con un pequeño curso básico de programación en c#.
Esto se puede decir que es lo básico que deben de conocer antes de empezar a programar.
La única manera de aprender a programar bien, es practicando unas 4 horas diarias.




COMO HACEN LOS VIDEJUEGOS


               La forma muy simple como se hace un juego y cualquier tipo de software en general porque se ve que andas medio perdido; un software, o programa, no es más que una serie de instrucciones que le dicen a una computadora que actue de tal o cual forma. La computadora puede realizar ciertas acciones muy sencillas, pero si agrupas muchas instrucciones sencillas para que actúen con otra instrucción entonces se dice que se abstrae el lenguaje que utilizas y sube de nivel. Por que para comunicarte con la computadora debes hacerlo bajo ciertas "reglas" que se conocen como lenguaje de programación; por ejemplo, yo para comunicarme contigo utilizo el lenguaje español que también tiene sus reglas (digamos mmmmm...... una oración se compone de sujeto, verbo y predicado, etc...) y para comunicarme con la computadora también hay sus reglas, como por ejemplo antes de usar espacio en memoria para alguna razón hay que declararlo: int x, hay por ejemplo le digo que me aparte 4 bytes de memoria para guardar números enteros, etc..




Ok, ya que tenemos nuestro lenguaje debemos ocupar un programa que me transforme lo que yo le digo a la computadora con el lenguaje que uso a ensamblador, a esto se le llama compilador y en mi ejemplo transformaría int x en otro lenguaje más simple aun llamado ensamblador, que es un lenguaje que entiende directamente un microprocesador; este lenguaje se transforma a su ves en binario que es lo que ya entiende la computadora, todo esto por medio de un programa ensamblador que traduce el código que le pasa el compilador.

Lenguajes de programación hay muchos y de muchos tipos, secuenciales (C,BASIC), orientados a objetos (C++, Java, C#), basados en objetos, para bases de datos, lógicos, funcionales, etc; cada lenguaje se usa para algo pero es a través de ellos que nos comunicamos con la compu.

No es que los desarrolladores de juegos simplemente instalen un programa donde le pongan "apretando un botón sucede esto" y ya mágicamente sale, no señor ellos deben apegarse a las reglas de su lenguaje de programación y a través de el hacen cosas como (y lo pongo en pseudocodigo): si la variable tal que guarda el estado de tal botón del control tiene tal valor entonces actualizas esa misma variable con nada, ejecutas el código de la inteligencia artificial de los personajes, actualizas la imagen, etc. Créeme es un trabajo descomunal y extremadamente lógico.

Un juego por lo general hace esto en un ciclo principal: mientras que no salgan del juego, checa la entrada del usuario, corre la inteligencia artificial, mueve a los personajes, resuelves colisiones, dibujas las gráficas, corres los sonidos, etc...

Se oye simple pero no lo es, y perdón si te lo pongo como explicado por un niño pequeño pero es que ando medio apurado; bueno habiendo entendido todo esto te digo lo que te interesa finalmente XD

Para el Ps3 se programa en Cg, una versión de C que le permite a los desarrolladores enfocarse en el área de 3D, junto con una versión modificada de Open Gl llamada Open Gl ES. Sony le provee a los desarrolladores que lo soliciten su kit de desarrollo para Ps3, el cual cuesta alrededor de $10,000 dolares según tengo entendido, y en el cual me imagino ellos te proporcionan los compiladores y demás herramientas.

360 se programa con C# y el XNA (el cual tu puedes descargar gratuitamente desde la página de microsoft y hacer tus propios juegos, claro que es una versión recortada aunque puedes pagar por la versión completa) y también permite C++. Como IDE se utiliza el visual studio, el cual es una verdadera maravilla (si es que lo has usado) y utiliza Directx que es la librería gráfica propietaria de microsoft.

Como ves esa es la razón por la cual es muy simple pasar un juego de 360 a la compu (y viceversa), pero muy complicado pasar un juego de 360 a Ps3 (puedes ver que las conversiones como el Bioshock de Ps3 es inferior al de 360).



Del Wii la verdad desconozco.

Para portatiles como el DS y el PSP se usa principalmente C y C++ junto con un poco de ensamblador.

Para celulares se utiliza Java el cual es muy popular debido a su alto nivel de portabilidad.

En la computadora se utiliza principalmente C++ o en su defecto C# si son juegos de windows actuales.

Muchos engines estan programados con C++, como el Unreal. Aunque también hay que recordar que un juego no se codifica en un sólo lenguaje, sino que se usan lenguajes diferentes para hacer cosas diferentes dentro del mismo juego; por ejemplo, el código principal de un juego puede estar escrito en C++, pero el código referente a la inteligencia artificial de los personajes probablemente este escrito en algún script y rutinas especificas para las gráficas pueden estar en ensamblador para darles mejor desempeño.

Así que como ves lo importante para aprender a desarrollar juegos es conocer C, C++ y C# (si son para 360 o para compu), conocer bien las librerías gráficas (ya sea Directx u Open Gl) y entender la arquitectura.

C++ Programa que sume dos Numeros:

C++

Programa que sume dos Numeros:


#include<stdio.h> </stdio.h>
#include<conio.h> </conio.h>
int a,b,c; 
main() 
clrscr(); 
printf("ingrese valor 1:n" );scanf("%d",&a); 
printf("ingrese valor 2:n" );scanf("%d",&b); 
c=a+b; 
printf("la suma de los numeros es:%d",c); 
getch(); 

C++ Programa que calcule la Raiz cuadrada de un Numero:


Programa que calcule la Raiz cuadrada de un Numero:



#include<stdio.h> </stdio.h>
#include<math.h> </math.h>
#include<conio.h> </conio.h>
int a,c; 
main() 
clrscr(); 
printf("ingrese valor 1:n" );scanf("%d",&a); 
c=sqrt(a); 
printf("el resultado de la operacion es:%d",c); 
getch(); 

C++ Programa que calcule un numero X elevado a otro:


Programa que calcule un numero X elevado a otro:


#include<stdio.h> </stdio.h>
#include<math.h> </math.h>
#include<conio.h> </conio.h>
int a,b,c; 
main() 
clrscr(); 
printf("ingrese valor x:n" );scanf("%d",&a); 
printf("ingrese valor y:n" );scanf("%d",&b); 
c=pow(a,b); 
printf("el resultado de la operacion es:%d",c); 
getch(); 

++ Programa que ordene dos numeros de menor a mayor:


Programa que ordene dos numeros de menor a mayor:




#include <stdio.h> </stdio.h>
#include <conio.h> </conio.h>
int a,b; 
main () 
clrscr(); 
printf("ingrese valor 1 :" );scanf("%d",&a); 
printf("ingrese valor 2 :" );scanf("%d",&b); 
if (a>b) 
printf("el numero mayor es:%d",a); 
else 
printf("el numero mayor es:%d", b); 
getch(); 


C++ Programa que identifique si una persona es mayor de edad, con su año de nacimiento.


 Programa que identifique si una persona es mayor de edad, con su año de nacimiento.



#include<stdio.h> </stdio.h>
#include<conio.h> </conio.h>
int fecha,edad; 
const a=2011; 
main() 
clrscr(); 
printf("ingrese a¤o de nacimiento :n" );scanf("%d",&fecha); 
edad=a-fecha; 
if(edad>18) 
printf("mayor de edad:%d",edad); 
else 
printf("menor de edad:%d",edad); 
getch(); 

C++ Programa que indique si un numero es positivo o negativo.


Programa que indique si un numero es positivo o negativo.


#include <stdio.h> </stdio.h>
#include <conio.h> </conio.h>
int num; 
main () 
clrscr(); 
printf("ingrese valor :" );scanf("%d",&num); 
if (num>0) 
printf("munero positivo:%d",num); 
else 
printf("numero negativo:%d",num); 
getch(); 

C++ Programa que imprima una tabla de multiplicar de cualquier numero por otro del 1 al 12.


#include <stdio.h> </stdio.h>
#include <conio.h> </conio.h>
int num,a,b,c,d,e,f,g,h,i,j,k,l; 
main () 
clrscr(); 
printf("tabla de multiplicar deseada :" );scanf("%d",&num); 
a=num*1; 
b=num*2; 
c=num*3; 
d=num*4; 
e=num*5; 
f=num*6; 
g=num*7; 
h=num*8; 
i=num*9; 
j=num*10; 
k=num*11; 
l=num*12; 
printf("1 x :%dn",a); 
printf("2 x :%dn",b); 
printf("3 x :%dn",c); 
printf("4 x :%dn",d); 
printf("5 x :%dn",e); 
printf("6 x :%dn",f); 
printf("7 x :%dn",g); 
printf("8 x :%dn",h); 
printf("9 x :%dn",i); 
printf("10 x :%dn",j); 
printf("11 x :%dn",k); 
printf("12 x :%dn",l); 
getch(); 

Programa C# Adivinar Un Numero Del 1 al 30


Este programa consiste en adivinar un numero aleatorio del 1 al 30.El programa te da 4 oportunidades para adivinar ESE Número.


using System;


using System;

class tarea
{
    static void Main(string[] args)
    {
        int numero = 0;
        int adivinar = 0;
        int i = 0;
        int oportunidades = 4;
        Random rnd = new Random();
        char resp = '\0';

        Console.WriteLine("!!!!!!!!ADIVINA UN NÚMERO ENTRE 0 y 30.!!!!!!!!");
        Console.WriteLine();
        Console.WriteLine();
        Console.WriteLine("=====TIENES 4 OPORTUNIDADES======");
        Console.WriteLine();
        do
        {
            adivinar = (int)(rnd.Next(0, 30));
            i = 0;
            do
            {
                Console.Write("\n Número: ");
                numero = Convert.ToInt32(Console.ReadLine());
                if (numero < adivinar)

                    Console.WriteLine("           !SUGERENCIA!:=Introduce un número mas grande.=");
                else if (numero > adivinar)

                    Console.WriteLine("          !SUGERENCIA!:=Introduce un número mas pequeño.=");
                else if (numero == adivinar)
                    Console.WriteLine("Muy bien!!!!. Has Ganado");
                i++;
            }
            while ((numero != adivinar) && (i < oportunidades));

            if (numero != adivinar)
                Console.WriteLine("No Adivinaste. El número secreto era el " + adivinar);

            Console.Write("\n¿QUIERES VOLVER A JUGAR? (si/no): ");
            resp = (char)Console.Read();
            Console.ReadLine(); // limpiar buffer de entrada
        }
        while (resp == 's');
    }
}

Mario Bros Deluxe Game Boy Color

hola que tal, aquí les dejo una foto de la portada de un clásico juego .