11. Control de Flujo 2: Iteraciones.. Sirve para tomar decisiones de todo tipo. Sirve para evaluar condiciones, ej: extremos de la pantalla. En videojuegos.

Slides:



Advertisements
Presentaciones similares
Fundamentos de programación II
Advertisements

10. Modelación de un Videojuego. BALLOON ATTACK. El planeta está siendo invadido por extraños extraterrestres en forma de globos, y ningún arma existente.
Condicional if y switch
Estructuras de control
ESTRUCTURAS DE CONTROL
EL LENGUAJE DE PROGRAMACIÓN C
Programación Gráfica Manejo de Estados. Modelación con estados. ¿Por qué nos interesa modelar el videojuego basándonos en estados? Porque es más intuitivo.
Programación Gráfica 8. Clases y objetos.
9. Collecciones en C++ .NET
10. Enumeraciones y Propiedades. Es un tipo de estructura en la que los literales de los valores que pueden tomar sus objetos se indican explícitamente.
Programación Interactiva Fundamentos de Programación
Pippy (Python para niños)‏ 1.
Instrucciones y excepciones
Estructuras de decisión en C
Fundamentos de Programación
PHP-MYSQL OPERADORES EN PHP
Seminario de Actualización - Excel Avanzado y Macros
Estructuras de Control
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
CS1101X Programming Methodology
Curso de Programación I Parte III
CICLOS EN C.
Estructuras de control
Estructuras de Repetición
Estructuras de Control
CORPOCIDES Ing. Emilio Medina Baquero
Estructuras de control
Tema 4: Sentencias de control
Ingeniero Anyelo Quintero
Estructuras de Control Iterativas
Estructuras de Decisión Múltiple
Patricio A. Navarrete Junio 17 de 2011
ESTRUCTURAS DO-WHILE Y FOR.
Lenguaje C Ing. Sonia Alexandra Pinzón Nuñez
Capítulo 1 “Elementos de Programación”
Introducción a la Programación
El lenguaje de programación C - Identificadores y variables – Isidro González Caballero ( Introducción.
Informática Ingeniería en Electrónica y Automática Industrial
Décimo Curso de Programación Básica con NQC “Quinta Clase” Cristián A. Arenas Ulloa Septiembre 26 de 2009.
EXPRESIONES Y SENTENCIAS
Estructuras de Control.
José M. Galarce Junio 19 de 2010 Quinta Clase. Estructuras de Control Complejas Se basan en las estructuras de control básicas: if(){}else{}while(){}
Control de Flujo.
9. Control de Flujo. 9.1 Clase Console  Clase Console, perteneciente al namespace System.  Representa la entrada y salida estándar para aplicaciones.
ING.CIP.IVAN PETRLIK AZABACHE. SEMANA 02 Control de flujo  Condicional Simple if( condicion) { //sentencia 1 // sentencia 2. }
Introducción a la Programación “El lenguaje C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Estructuras de control Resolución de problemas y algoritmos.
Introducción a la Programación “El lenguaje C” Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
Símbolos de Programación Estructurada
Programación Básica con NQC Patricio A. Castillo 10/05/2008.
Sesión 14: Python (5) – Aplicaciones. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
1. Introducción..  Conceptos: ◦ Problema. ◦ Objeto. ◦ Instancia. ◦ Modelo.  Estrategia para la resolución de problemas.
INTRODUCCIÓN AL LENGUAJE C++. Instrucciones Temas.
1.2 CONSTAQNTES, VARIABLES TIPOS DE DATOS. SON REPETICIONES DE UNA MISMA ACCIÓN O DE UN GRUPO DE ACCIONES. A LAS ITERACIONES TAMBIÉS SE LES CONOCE COMO.
Noveno Curso de Programación Básica con NQC “Quinta Clase” José M. Galarce H. Mayo 15 de 2009.
Estructuras de Decisión
Las funciones son librerías ya estandarizadas que permiten al usuario realizar sus respectivas programaciones. Una función es un conjunto de líneas de.
1 Desarrollo Web en Entorno Servidor Tema 4: Estructuras de control. Estructuras Selectivas. Operadores de comparación. Operadores Lógicos. Operadores.
Creación de páginas Web (II) PHP Pau Barceló Forteza
TIPOS DE DATOS Estructuras de control y repetición PARCIAL III.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
LENGUAJE DE PROGRAMACIÓN
Programación Básica Bachillerato Ingeniería en Informática Lic. Carlos H. Gutiérrez León.
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
Estatutos en Matlab 3.1 De entrada y salida estándar. 3.2 De control o selección if. 3.3 De ciclos: for, while. 3.4 Otros estatutos.
Entrada y Salida en C++, Estructuras de Control Prof. Manuel B. Sánchez.
Paul Leger Repaso While y FOR Paul Leger
Programación Gráfica 5. Introducción a C++..
Estructuras de control Resolución de problemas y algoritmos
CICLOS. OPERADOR DE ASIGNACION COMPUESTA CICLO WHILE.
Transcripción de la presentación:

11. Control de Flujo 2: Iteraciones.

Sirve para tomar decisiones de todo tipo. Sirve para evaluar condiciones, ej: extremos de la pantalla. En videojuegos típicamente usado para la IA de enemigos. if( enemigo.distancia( protagonista ) < dist_min) enemigo.atacar(); else enemigo.patrullar();

Usado cuando se tiene un número finito de valores para una variable. Típicamente usado para el diseño de menús. Típicamente usado para el manejo de estados. (usando Enum) switch(estado) { case ST_UP: protagonista.MoverUp(); break; case ST_LEFT: protagonista.MoverLeft(); break; case ST_RIGHT: protagonista.MoverRight(); break; case ST_DOWN: protagonista.MoverDown(); break; case ST_SHOOT: protagonista.Disparar() break; default: break; }

Iteraciones

Usado para cuando se itera mientras se cumpla una condición. Ejemplo: Un recolector de recursos, recolectará mientras hayan recursos. Típicamente usado en el ciclo principal del videojuego.

While while( ) { ; }

while( continuar ) { captarTeclas(); protagonista.Mover(); moverEnemigos(); aplicarFisica(); }

Usado para iterar un número finito de veces. Típicamente utilizado para iterar un conjunto determinado de elementos, donde se conoce el nº de los elementos. for( ; ; ) { ; }

For Usado para iterar un número finito de veces. Típicamente utilizado para iterar un conjunto determinado de elementos, donde se conoce el nº de los elementos. for(int i=0; i<n; i++) { ; }

For Usado para iterar un número finito de veces. Típicamente utilizado para iterar un conjunto determinado de elementos, donde se conoce el nº de los elementos. for(int i=0; i<enemigos.size(); i++) { Enemigo en = enemigos.get(i); en.Mover(); }

Usado para quebrar el flujo normal de una iteración y terminar ésta. Usado para terminar una iteración cuando se ha cumplido una condición.

for(int i=0; i<enemigos.size(); i++) { Enemigo en = enemigos.get(i); if(bala.isColision(en)) { bala.Morir(); en.Morir(); break; }

Usado para quebrar el flujo normal de una iteración y continuar con la próxima iteración. Usado para no realizar el flujo normal de la iteración cuando se cumpla una condición.

for(int i=0; i<personajes.size(); i++) { Personaje p = personajes.get(i); if(p.getColor() == color) continuar; if(myBala.isColision(personaje.get(i))) { bala.Morir(); p.Morir(); break; }

Lo primero es asignar qué estados puede tener cada casilla. enum Casilla { CROSS, CIRCLE, NONE };

Tendremos un tablero que lo podremos usar con los siguientes métodos: //Constructor del tablero, con un ancho y largo específico public Tablero(int width, int height); //Obtiene la marca asignada a una casilla x, y public Casilla getMarcaCasilla(int x, int y); //Cambia la marca asignada a una casilla public void setMarcaCasilla(Casilla marca, int x, int y)

Debemos crear una función que inicialice el tablero y que sirva para resetearlo cuando queramos iniciar un nuevo juego. void Resetear() { … }

Finalmente debemos determinar si un jugador ha ganado una partida bool isFinalizado(Casilla tipo) { // verificar en eje x // verificar en eje y // verificar en diagonales }

Ejercicio: Crear función que determine dado un cierto estado del tablero, si es que puede ganar un jugador o no. bool PuedeGanar(Casilla tipo);