Sei sulla pagina 1di 27

Introducción

Temario

CURSO DE PROGRAMACIÓN Poo


Lenguajes de prog.
Clases
DESDE CERO CON UNITY Variables
Métodos
Ejemplo de clase
Clases Monobehaviour

¡BIENVENIDOS! Ejemplo
Monobehaviour
Sentencia IF
Sentencia FOR
Sentencia SWITCH
Sentencia WHILE
Ejemplo sentencias
Enumerados
Componentes
Ejemplo enumerados
Práctica
Introducción
Temario
TEMARIO Poo
Lenguajes de prog.
Clases
Variables
Primera clase
Métodos
• Conceptos básicos de programación orientada a objetos. Ejemplo de clase
• Scripting en Unity (C#). Clases Monobehaviour
• Lógica de programación en Unity (Clase Monobehaviour). Ejemplo
Monobehaviour
Sentencia IF
Segunda clase Sentencia FOR
• Métodos propios de Monobehaviour (Start, Update, etc.). Sentencia SWITCH
• Inputs (teclado, ratón, mando). Sentencia WHILE
• Programación de controlador de personaje. Ejemplo sentencias
Enumerados
Componentes
Tercera clase Ejemplo enumerados
• Bases de datos (listas). Práctica
• Optimización de recursos (pooling).
• Implementar animaciones (Animator de Unity).

Cuarta clase
• Inteligencia artificial (IA) básica.
• Implementación de la interfaz de usuario (Canvas).
• Buenas prácticas de programación y “Unity tips”.
Introducción
Temario
POO Poo
Lenguajes de prog.
Clases
Variables
La programación orientada a objetos (POO) es un Métodos
paradigma de programación que viene a innovar la forma de Ejemplo de clase
obtener resultados. Los objetos manipulan los datos de Clases Monobehaviour
Ejemplo
entrada para la obtención de datos de salida específicos, Monobehaviour
donde cada objeto ofrece una funcionalidad especial. Sentencia IF
Sentencia FOR
Sentencia SWITCH
 Crear objetos con atributos y métodos para manipularlos. Sentencia WHILE
Ejemplo sentencias
Enumerados
Componentes
Ejemplo enumerados
Práctica
Introducción
Temario
LENGUAJES DE PROG. Poo
Lenguajes de prog.
Clases
Variables
Un lenguaje de programación es un lenguaje formal Métodos
diseñado para realizar procesos que pueden ser llevados a Ejemplo de clase
cabo por máquinas como las computadoras. Clases Monobehaviour
Ejemplo
Monobehaviour
 Idioma en el que le hablamos a una máquina. Sentencia IF
Sentencia FOR
Sentencia SWITCH
Sentencia WHILE
Ejemplo sentencias
• C++ Enumerados
• C#  Unity Componentes
• Eiffel Ejemplo enumerados
Práctica
• Java
• Javascript  Unity
• Perl
• Python
• Ruby
• Visual Basic .Net
• …
Introducción
Temario
CLASES Poo
Lenguajes de prog.
Clases
Variables
Una clase es un modelo que define un conjunto de Métodos
variables (el estado), y métodos apropiados para operar con Ejemplo de clase
Clases Monobehaviour
dichos datos (el comportamiento). Cada objeto creado a partir Ejemplo
de la clase se denomina instancia de la clase. Monobehaviour
Sentencia IF
Sentencia FOR
 Define un objeto con sus variables y métodos. Sentencia SWITCH
Sentencia WHILE
Ejemplo sentencias
class MiClase Enumerados
{ Componentes
// Variables Ejemplo enumerados
Práctica
int x, y;

// Métodos
void MiMetodo()
{
// Contenido del método
}
}
Introducción
Temario
VARIABLES I Poo
Lenguajes de prog.
Clases
Variables
Una variable está formada por un espacio en el sistema de Métodos
almacenaje y un nombre simbólico (un identificador) que está Ejemplo de clase
Clases Monobehaviour
asociado a dicho espacio. Ese espacio contiene un valor. Ejemplo
Monobehaviour
Sentencia IF
 Almacenan información. Sentencia FOR
Sentencia SWITCH
Tipos de datos (primitivos) Sentencia WHILE
Ejemplo sentencias
• Entero: int  -2, -1, 0, 1, 2… Enumerados
• Real: float  14.56, -0.27, 3.0… Componentes
Ejemplo enumerados
• Cadena: string  “¡hola mundo!”, “123”, “”. Práctica
• Booleano (lógico): bool  true, false.

Ámbito de una variable


• Global Privada (private)
• Global Pública (public)
• Local
Introducción
Temario
VARIABLES II Poo
Lenguajes de prog.
Clases
Variables
Declaración e inicialización Métodos
• bool test; Ejemplo de clase
Clases Monobehaviour
• int x = 1; Ejemplo
• float y = x; Monobehaviour
Sentencia IF
• string cad = “Prueba de cadena de texto”; Sentencia FOR
Sentencia SWITCH
Valores por defecto (variables globales) Sentencia WHILE
Ejemplo sentencias
• bool  false Enumerados
• int  0 Componentes
Ejemplo enumerados
• float  0.0 Práctica
• string  “”

Manipular variables (+,-,*,/,%,==,>,<,>=,<=, &&, ||)


• x = x + 1;
• y = (x / 2) * (y – 5)
• cad = “Encadena ” + cad + “ con ” + cad2;
• test = (x > 1) && (y <= 5);
Introducción
Temario
MÉTODOS I Poo
Lenguajes de prog.
Clases
Variables
Un método consiste de una serie de sentencias para llevar Métodos
a cabo una acción, un juego de parámetros de entrada que Ejemplo de clase
regularán dicha acción con un posible valor de salida (o valor Clases Monobehaviour
Ejemplo
de retorno) de algún tipo. Monobehaviour
Sentencia IF
Sentencia FOR
 Nos permiten manipular las variables y/o devolver un valor. Sentencia SWITCH
Sentencia WHILE
Ámbito de un método Ejemplo sentencias
Enumerados
• Privado (private) Componentes
• Público (public) Ejemplo enumerados
Práctica

Valor devuelto
• void metodoSinDevolver() {
// acciones
}
• int metodoDevuelveEntero(){
// acciones
return n;  Siendo „n‟ de tipo int.
}
Introducción
Temario
MÉTODOS II Poo
Lenguajes de prog.
Clases
Variables
Parámetros  un parámetro es un tipo de variable que es Métodos
recibida por un método. Ejemplo de clase
• public void Test() Clases Monobehaviour
Ejemplo
• public void Test(int x) Monobehaviour
• public void Test(float x, int y) Sentencia IF
Sentencia FOR
• public int Suma(int x, int y) Sentencia SWITCH
• public bool Combo(int x, float y, string s, bool a) Sentencia WHILE
Ejemplo sentencias
Enumerados
Variables locales en métodos Componentes
public void Test(int x){ Ejemplo enumerados
Práctica
int y = x; // Variable local
}

Métodos llaman a otros métodos


public void Test2(){
int z = 4;
Test(15);
Test(z);
}
Introducción
Temario
EJEMPLO DE CLASE Poo
Lenguajes de prog.
Clases
Variables
public class Ejemplo Métodos
Ejemplo de clase
{ Clases Monobehaviour
public int posX, posY; Ejemplo
private bool test; Monobehaviour
Sentencia IF
Sentencia FOR
private void Modificar(int n) Sentencia SWITCH
Sentencia WHILE
{ Ejemplo sentencias
posX = posX - n; Enumerados
posY = posY * (n-1); Componentes
Ejemplo enumerados
test = posX <= posY; Práctica
}

public int Sumar()


{
int temp = posX + posY;
Modificar(2);
return temp;
}
}
Introducción
Temario
CLASES MONOBEHAVIOUR Poo
Lenguajes de prog.
Clases
Variables
En Unity las clases pueden extender (herencia) de Métodos
Ejemplo de clase
Monobehaviour para que entren dentro de la lógica de Clases Monobehaviour
funcionamiento del motor. Ejemplo
Monobehaviour
Sentencia IF
 Monobehaviour transforma una clase en un script de Unity. Sentencia FOR
 La clase se transforma en un comportamiento y/o una Sentencia SWITCH
Sentencia WHILE
característica del objeto. Ejemplo sentencias
Enumerados
public class ClaseEnUnity : Monobehaviour Componentes
Ejemplo enumerados
{ Práctica
// Variables Globales

// Métodos propios de Monobehaviour

// Otros métodos
}

 Usaremos Monodevelop con lenguaje C# para los scripts.


Introducción
Temario
EJEMPLO MONOBEHAVIOUR Poo
Lenguajes de prog.
Clases
Variables
public class Health: Monobehaviour{ Métodos
Ejemplo de clase
public int health; Clases Monobehaviour
private int _initialHealth; Ejemplo
Monobehaviour
Sentencia IF
void Start(){ Sentencia FOR
_initialHealth = health; Sentencia SWITCH
Sentencia WHILE
TakeDamage(25); Ejemplo sentencias
Debug.Log(“Health: ” + GetHealthRatio + " %"); Enumerados
} Componentes
Ejemplo enumerados
Práctica
public void TakeDamage(int damage){
health = health – damage;
Debug.Log(“Character attacked ” + damage);
}

public float GetHealthRatio(){


return ((float)health/_initialHealth) * 100;
}
}
Introducción
Temario
SENTENCIA IF Poo
Lenguajes de prog.
Clases
Variables
Se utiliza para comprobar una condición. Si la condición es Métodos
verdadera entonces se procesa un bloque de sentencias Ejemplo de clase
(bloque if), sino se procesa otro bloque de sentencias Clases Monobehaviour
Ejemplo
alternativas (llamado bloque else). Monobehaviour
Sentencia IF
Sentencia FOR
 Comprueba condiciones para ejecutar un trozo de código. Sentencia SWITCH
Sentencia WHILE
if(condición) if(x > 1) Ejemplo sentencias
Enumerados
{ { Componentes
// Bloque if Debug.Log(1); Ejemplo enumerados
} } Práctica
else if (condición) opcional else if (x <= -2 || x == 0)
{ {
// Bloque else if Debug.Log(2);
} }
else  opcional else
{ {
// Bloque else Debug.Log(3);
} }
Introducción
Temario
SENTENCIA FOR Poo
Lenguajes de prog.
Clases
Variables
Es una sentencia que implementa un bucle capaz de Métodos
Ejemplo de clase
repetir un grupo de sentencias un número determinado de Clases Monobehaviour
veces. Ejemplo
Monobehaviour
Sentencia IF
 Puede repetir un bloque de código varias veces. Sentencia FOR
Sentencia SWITCH
Sentencia WHILE
for (int x = valor inicial; condición; incremento) Ejemplo sentencias
{ Enumerados
// Bloque for Componentes
Ejemplo enumerados
} Práctica

for(int i = 0; i < 10; i ++)


{
Debug.Log(i);
}

for(int i = 10; i >= 0; i - -){}


for(int i = 0; i < 50; i += 10){}
Introducción
Temario
SENTENCIA SWITCH Poo
Lenguajes de prog.
Clases
Variables
Se utiliza para agilizar la toma de decisiones múltiples; Métodos
Ejemplo de clase
trabaja de la misma manera que lo harían sucesivos if, if else. Clases Monobehaviour
Ejemplo
 Si vas a tener varios “if else” para valores determinados Monobehaviour
Sentencia IF
mejor usar un switch. Sentencia FOR
Sentencia SWITCH
Sentencia WHILE
Ejemplo sentencias
switch(variable){ switch(x){ Enumerados
case valor1: case 1: Componentes
accion1; Debug.Log(“Uno”); Ejemplo enumerados
Práctica
break; break;
… case 2:
case valorN: case 4:
accionN; Debug.Log(“Pares”);
break; break;
default:  opcional default:
accionD; Debug.Log(“Otros”);
break; break;
} }
Introducción
Temario
SENTENCIA WHILE Poo
Lenguajes de prog.
Clases
Variables
 Ejecuta indefinidamente un bloque de código mientras una Métodos
condición sea verdadera. Ejemplo de clase
 ¡Cuidado con los bucles infinitos! Clases Monobehaviour
Ejemplo
Monobehaviour
Sentencia IF
while(condición) int x; Sentencia FOR
{ Sentencia SWITCH
Sentencia WHILE
// Bloque while while(x < 5) Ejemplo sentencias
// Actualizar condición. { Enumerados
} Debug.Log(x); Componentes
Ejemplo enumerados
x = x + 1; Práctica
do{ }
// Bloque do while
// Actualizar condición. do{
}while(condicion); Debug.Log(x);
x = x + 1;
}while(x < 5);
Introducción
Temario
EJEMPLO SENTENCIAS I Poo
Lenguajes de prog.
Clases
Variables
public class Health: Monobehaviour Métodos
Ejemplo de clase
{ Clases Monobehaviour
… Ejemplo
public bool invulneravility; Monobehaviour
Sentencia IF
Sentencia FOR
void Start() Sentencia SWITCH
Sentencia WHILE
{ Ejemplo sentencias
_initialHealth = health; Enumerados
TakeDamage(25); Componentes
Ejemplo enumerados
SetInvulneravility(true); Práctica
TakeDamage(50);
SetInvulneravility(false);
MultiAttack(10, 4);
}

public void SetInvulneravility(bool enable)


{
invulneravility = enable;
}
Introducción
Temario
EJEMPLO SENTENCIAS II Poo
Lenguajes de prog.
Clases
Variables
public void TakeDamage(int damage) Métodos
Ejemplo de clase
{ Clases Monobehaviour
if(invulneravility == false) Ejemplo
{ Monobehaviour
Sentencia IF
health = health - damage; Sentencia FOR
Debug.Log(“Character attacked ” + damage); Sentencia SWITCH
Sentencia WHILE
} Ejemplo sentencias
} Enumerados
Componentes
Ejemplo enumerados
public void MultiAttack(int damage, int numAttacks) Práctica
{
for(int i = 0; i < numAttacks; i++)
{
TakeDamage(damage);
}
}

}
Introducción
Temario
ENUMERADOS Poo
Lenguajes de prog.
Clases
Variables
Proporciona una manera eficaz de definir un conjunto de Métodos
constantes integrales con nombre que pueden asignarse a Ejemplo de clase
una variable. Clases Monobehaviour
Ejemplo
Monobehaviour
 Colecciones de valores que puede tener una variable. Sentencia IF
Sentencia FOR
Sentencia SWITCH
public enum <NombreDelEnum> Sentencia WHILE
{ Ejemplo sentencias
Enumerados
valor1, valor2, …, valorN Componentes
} Ejemplo enumerados
Práctica

public enum Colores


{
Azul, Amarillo, Rojo, Verde
}

Colores color1 = Colores.Azul;


Colores color2 = (Colores) 3;
int n = (int) color1;
Introducción
Temario
COMPONENTES Poo
Lenguajes de prog.
Clases
Variables
 Añadimos un componente a un objeto por cada Métodos
característica o comportamiento. Ejemplo de clase
Clases Monobehaviour
Ejemplo
 Nos comunicamos desde un componente con otro usando Monobehaviour
GetComponent<Class>() si está en el mismo objeto. Sentencia IF
Sentencia FOR
Sentencia SWITCH
public class A : Monobehaviour{ Sentencia WHILE
Ejemplo sentencias
public B b; Enumerados
void Start() Componentes
{ Ejemplo enumerados
Práctica
b = GetComponent<B>();
Debug.Log(b.x);
}
}

public class B : Monobehaviour{


public int x;
private int y;
}
Introducción
Temario
EJEMPLO ENUMERADOS I Poo
Lenguajes de prog.
Clases
Variables
public class Character: Monobehaviour Métodos
{ Ejemplo de clase
Clases Monobehaviour
public enum CharacterRace Ejemplo
{ Monobehaviour
human, dwarf, elf Sentencia IF
Sentencia FOR
} Sentencia SWITCH
Sentencia WHILE
Ejemplo sentencias
public string characterName; Enumerados
public CharacterRace race; Componentes
Ejemplo enumerados
Práctica
public string GetDescription()
{
return (characterName + " the " + race);
}
}
Introducción
Temario
EJEMPLO ENUMERADOS II Poo
Lenguajes de prog.
Clases
Variables
public class Health : MonoBehaviour { Métodos
… Ejemplo de clase
Clases Monobehaviour
void Start(){ Ejemplo
Character _character = GetComponent<Character>(); Monobehaviour
Debug.Log(_character.GetDescription()); Sentencia IF
Sentencia FOR
switch(_character.race) Sentencia SWITCH
{ Sentencia WHILE
Ejemplo sentencias
case Character.CharacterRace.human: Enumerados
TakeDamage(25); Componentes
break; Ejemplo enumerados
Práctica
case Character.CharacterRace.dwarf:
MultiAttack(10, 4);
break;
case Character.CharacterRace.elf:
SetInvulneravility(true);
TakeDamage(50);
break;
}

Introducción
Temario
PRÁCTICA Poo
Lenguajes de prog.
Clases
Variables
 Método en Health para recuperar salud. Métodos
 La raza determina la salud inicial. Ejemplo de clase
Clases Monobehaviour
 Añadir un escudo al personaje que reduce el daño entrante. Ejemplo
Monobehaviour
 Juego de gestión de una ciudad en la que tenemos unos Sentencia IF
Sentencia FOR
recursos con los que construimos casas para hacer feliz a Sentencia SWITCH
una población que aumenta poco a poco. El objetivo es Sentencia WHILE
Ejemplo sentencias
alcanzar una felicidad elevada de la población o bien Enumerados
conseguir mucha riqueza. Componentes
Ejemplo enumerados
Práctica
Introducción
Temario
RECURSOS Poo
Lenguajes de prog.
Clases
Variables
 Componente que gestiona los recursos existentes. Métodos
 Hay tres recursos: madera, piedra y oro. Ejemplo de clase
Clases Monobehaviour
 Método para actualizar las cantidades de los recursos. Ejemplo
 Método para comprobar si hay suficientes recursos. Monobehaviour
Sentencia IF
Sentencia FOR
Sentencia SWITCH
Sentencia WHILE
Ejemplo sentencias
Enumerados
Componentes
Ejemplo enumerados
Práctica
Introducción
Temario
EDIFICIOS Poo
Lenguajes de prog.
Clases
Variables
 Componente que gestiona los edificios de la ciudad. Métodos
 Almacena el número de casas de la ciudad. Ejemplo de clase
Clases Monobehaviour
 Establece el coste de cada recurso para construir una casa. Ejemplo
 Indica si la ciudad tiene o no iglesia. Monobehaviour
 Método para construir una casa, teniendo en cuenta que si Sentencia IF
Sentencia FOR
hay una iglesia las casas cuestan la mitad. Sentencia SWITCH
 Método para construir una iglesia, teniendo en cuenta que Sentencia WHILE
Ejemplo sentencias
cuesta el triple que una casa. Enumerados
 Antes de construir un edificio hay que comprobar que se Componentes
tienen los recursos necesarios. Ejemplo enumerados
Práctica
Introducción
Temario
POBLACIÓN Poo
Lenguajes de prog.
Clases
Variables
 Componente que gestiona la población de la ciudad. Métodos
 Almacena el número de personas de la ciudad. Ejemplo de clase
Clases Monobehaviour
 Establece la probabilidad de un nuevo nacimiento. Ejemplo
 Felicidad con tres niveles: alta, media y baja. Monobehaviour
 Método para aumentar/disminuir la población. Sentencia IF
Sentencia FOR
 Método para repoblar la ciudad: por cada 2 ciudadanos hay Sentencia SWITCH
una probabilidad (establecida arriba) de aumentar en 1 la Sentencia WHILE
Ejemplo sentencias
población. Enumerados
 Método para actualizar la felicidad, sabiendo que cada Componentes
casa aloja a 4 personas: Ejemplo enumerados
Práctica
• Felicidad alta: Al menos el 80% tiene casa.
• Felicidad media: Al menos el 50% tiene casa.
• Felicidad baja: Menos del 50% tiene casa.
Introducción
Temario
CIUDAD Poo
Lenguajes de prog.
Clases
Variables
 Componente que gestiona la ciudad. Métodos
 Se comunica con todos los componentes. Ejemplo de clase
Clases Monobehaviour
 Establece el final del juego. Ejemplo
 El juego termina en tres casos: Monobehaviour
• La felicidad es alta y el oro es superior a 250. Sentencia IF
Sentencia FOR
• La felicidad es media y el oro es superior a 500. Sentencia SWITCH
• La felicidad es baja, hay una iglesia y el oro es Sentencia WHILE
Ejemplo sentencias
superior a 750. Enumerados
Componentes
Ejemplo enumerados
Práctica

Potrebbero piacerti anche