Juega con serpientes Iniciación a PyGame

Slides:



Advertisements
Presentaciones similares
Estructuras de control
Advertisements

Lenguaje PHP Capítulo 4.
Pippy (Python para niños)‏ 1.
Te presento a Python Qué es Python? Lenguaje interpretado
Fundamentos de la Programación Estructurada
Funciones. Programación, Algoritmos y Estructuras de Datos.
Desarrollo de Aplicaciones para Internet
Tema 2: Lenguaje PHP básico
Comparación entre ANSI C y Python
Procesadores de Lenguajes I
FUNCIONES EN C.
INFORMATICA I Funciones CLASE 13.
1.2 Sintaxis del lenguaje Java.
Hernández Guadarrama Luis Daniel
Desarrollo de sitios web con PHP y MySQL
Aprende C en una lluviosa tarde de domingo (en algo más de un par de horas) Sintaxis del lenguaje C para implementar un programa imperativo.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Archivos Programación.
Asignatura: Lenguaje de Programación de Sistemas PPT No.05 Programa vespertino de Ingeniería (E) en Sistemas Computacionales Profesor: José Estay Araya.
Lenguaje C.
Características de “C”
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
El lenguaje de programación Java
Tema 1: Lenguaje PHP básico Ing. Tulio Nel Benavides Peña
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Pulse para añadir texto Desarrollo de sitios web con PHP y MySQL Tema 2: Lenguaje PHP básico Elaborado por: José Mariano González Romano
Introducción a las redes e Internet Unidad 7: Páginas web dinámicas Clase 1 Unidad 7: Páginas web dinámicas Clase 1.
Valor X Valor Y Punto (0,0) Coordenadas.
UNIVERSIDAD PERUANA DE LAS AMERICAS INGENIERIA DE COMPUTACION Y SISTEMAS PROGRAMACION I ING. PEDRO BENITES TOLEDO Programación I Capitulo IV : Estructuras.
Computación II Repaso de java Karina Figueroa Mora.
El Lenguaje C++. Creación de programas simples de C++ Builder como ejercicios en C++. Los elementos de control fundamentales en C++, incluyendo operadores.
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Alto Nivel. Y Es un compilador. YContiene un conjunto de palabras.
1 Algunas ideas básicas en C++ Agustín J. González ELO-329.
PROGRAMACIÓN MULTIMEDIA
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.
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
PHP el Lenguaje Ejercicios Básicos.
Fundamentos de Programación
Práctica Profesional PHP.
Introducción a GDevelop
Clase 1 Gabriela Araya Baez.. Char: Variable que almacena caracteres. Int: Variable que almacena enteros. Float: Variable que almacena decimales. Doble:
TIPOS DE DATOS Estructuras de control y repetición PARCIAL III.
U11: Recursividad Otra manera de hacer bucles Dicen algunos pedagogos que conceptualmente mas sencilla.
U2 Tipos de datos, referenciación y errores 1. Datos problema simple enteroreal carácter booleano Ingeniero = Oreja+catalejo modelo ordenador solución.
U5 tipos de datos secuencias y bucle definido 1 ¡¡¡¡Abstracción!!!!
INS-204 Fundamentos de Programacion notas de clase, objetivo, programar en Python con nivel medio de destreza.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
El lenguaje de Programación C Fernando J. Pereda.
Curso de Python Clase 4 Dpto. Telemática CUJAE Curso
Funciones en lenguaje C 2 Funciones Definición: – Las funciones son los bloques de construcción básicos de C. Dentro de ellas se da toda la actividad.
Control, adquisición y monitoreo con Arduino y Visual Basic .net
Taller de Java Universidad de los Andes
Convenciones de nomenclatura y diseño
Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.
Arreglos y cadenas de texto
Introducción a la Programación Multimedial
BREVE INTRODUCCION A LA PROGRAMACION
Programación en C - manejo de Archivos
Unidad 3. Introducción a la programación
PROGRAMACION: Que es un computador: Es un aparato electrónico que tiene el fin de recibir y procesar datos para realización de diversas operaciones..
Tema 2: Lenguaje PHP básico
Características de “C”
Fundamentos de programación
PROGRAMACIÓN (2).
CC 1002: Introducción a la Programación Clase 15: Estructuras mutables
Variables, Expresiones y Enunciados
Introducción – Parte 4 PYTHON PARA TODOS Hablemos con Python.
Transcripción de la presentación:

Juega con serpientes Iniciación a PyGame Miguel de Dios Brecha digital (Vallekas)

Índice Videojuegos como herramienta social. 2011 - 2017 Python (Introducción) ¿Cómo se escribe en Python? Variables Bucles Funciones Pygame ¿Porqué Pygame? Imágenes (Sprites) Sonido Joystick/Teclado y ratón Fuentes de texto Conceptos básicos y generales en videojuegos A programar

Videojuegos como herramienta social. ¿??¿¿?¿???

Videojuegos como herramienta social.

Videojuegos como herramienta social. Matanza cofrade En 2002, el autor fue acusado formalmente por la hermandad del Cristo del Gran Poder tras conocer la intención del grupo "Narco" de distribuir el videojuego.

Videojuegos como herramienta social.

Videojuegos como herramienta social.

Videojuegos como herramienta social.

Videojuegos como herramienta social.

Videojuegos como herramienta social.

2011 - 2017

2011 - 2017

Lenguaje de programación Lenguaje libre de programación Lenguaje interpretado Nació en 1991 Versión actual 2.7, versión en desarrollo 3.0 “Forma rara de escribir”

C Python #include <stdio.h> void hola(void); int main(int argc, char *argv[]) { hola(); return 0; } void hola(void) printf ("Hola mundo\n"); Python #!/usr/bin/python def hola(): print("Hola Mundo") hola()

Como se escribe en Python Los “bloques de código” se tabulan (con espacios o tabuladores) (pero con razón) Instrucción pass es tu amiga. Las lineas no terminan con ; ...bueno se pueden usar para poner lineas en una linea.... Para cortar una linea larga se usa \ Todos los loops, funciones, métodos, clases y sentencias condicionales terminan en : Los comentarios de una linea comienzan con # y los múltilinea se meten entre """ """ ... def factorial(n): if n == 1: return 1 else: m = n * factorial(n – 1) return m factorial(100) ... factura = panes * 1.00 + \ Patatas * 3.50 + lechugas * 5

Variables Las variables se definen de forma dinámica. Tipo Notas Ejemplo Cadena Mutable 'Cadena' u'Cadena' “Cadena” “””Una cadena Larga y Fea””” Número entero 42 456966786151987643L Booleano True o False Lista (array clásico) [4.0, 'Cadena', True] Tupla (array clásico) Inmutable (4.0, 'Cadena', True) Diccionario (array asociativo) {'key1': 1.0, 'key2': False} Operadores todos excepto ++ y -- (se puede sustituir por a += 1), el “mod” es // y el exponente es ** . Operadores lógicos en humano (“and”, “or”, “not”) Operador lógico especial “is” que vale para testear si algo es “None” o el mismo objeto. Operador lógico especial “in” para testear si un valor esta dentro de un array. Convertir con: int(), str() o float() No hay punteros pero para objetos se puede usar el “None” que es como un “Null”

Bucles Bucle for (foreach) Bucle for Bucle while Sentencia condicional ... lista = ["a", "b", "c"] for i in lista: print(i) ... b = 10 for i in range(0, b): print(i) Bucle while ... numero = 0 while numero < 10: numero += 1 print(numero) Sentencia condicional ... donde_estoy = "Madrid" if donde_estoy == "Madrid": print("Buenos días") elif donde_estoy == "Barcelona": print("Bons dies") elif donde_estoy == "Bilbo": print("Egun on") else: print("Good Morning") No hay sentencia condicional switch.

Funciones Acepta numero variable de argumentos. ... def suma(a = 1, b = 2, c = 3) return a + b + c a = 10 b = 20 c = 30 print(suma(a, b, c)) print(suma(1, a)) print(suma(c = 10, a = a)) print(suma()) Acepta numero variable de argumentos. Los argumentos se pasan por valor (excepto los mutables arrays). Se puede cambiar el orden de los argumentos. Se puede dejar abierto el numero de argumentos. ... def funcion_varargs1(*array) : print "Array \t" + str(array) for var in array: print(var) def function_varargs2(**array_asociativo): print "Array asociativo \t" + str(array_asociativo) for indice, valor in array_asociativo.items(): print(str(indice) + " " + str(valor)) funcion_varargs1(1,2,3) funcion_varargs2(a = 2, b = 2, c = 2)

Conjunto de módulos (librerías) para Python Basado en LibSDL. Múltiplataforma (donde funcione Python y LibSDL funciona) Ofrece fácil acceso a: 2D Sprites/Colisiones CDRom/Sonido/Música/Midi Teclado/Ratón/Joystick Fuentes Webcam (experimental) Efectos gráficos (básico) Formas geométricas (básico) Vídeo (básico) (Python 3 NO) NO ofrece: Red 3D (aunque si a través de OpenGL) Físicas

¿Porqué Pygame? Comparación muy “superficial” con otros “engines”. Porque es Libre. Unity es mas potente pero es Privativo. 2017 TENEMOS GODOT Porque se programa en Python. LöVE es mas completo pero es en el LUA. Fenix / Bennu se programa en....Div2. Porque es un proyecto maduro. Cocos2 es un proyecto muy nuevo. Screenshots de los juegos/proyectos listados en PyGame.org desde el año 2001 al año 2009. Un total de 1100.

Imágenes (Sprites) Trae un sistema básico (Surfaces) y la forma mas de alto nivel (Sprites). Surfaces: Cargar Copiar Pegar Modificar Ficheros soportados: JPG PNG GIF (non animated) BMP PCX TGA (uncompressed) TIF LBM (and PBM) PBM (and PGM, PPM) XPM Sprites: Cargar Copiar Pegar Modificar Colisiones Posición

Sonido Esta dividido en varios subobjectos: pygame.mixer.music - música de fondo pygame.midi pygame.mixer - “sonidos pequeños” pygame.cdrom Soporta mp3, wav, ogg y midi.

Joystick/Teclado y ratón El acceso a estos es a traves de los eventos pygame.event.Event. KEYDOWN unicode, key, mod KEYUP key, mod MOUSEMOTION pos, rel, buttons MOUSEBUTTONUP pos, button MOUSEBUTTONDOWN pos, button JOYAXISMOTION joy, axis, value JOYBALLMOTION joy, ball, rel JOYHATMOTION joy, hat, value JOYBUTTONUP joy, button JOYBUTTONDOWN joy, button O se puede consultar el estado de ellos. pygame.mouse.get_pos(): return (x, y)

Fuentes de texto Soporta: Fuentes TTF Unicode (si la fuente TTF tiene los caracteres) No soporta: Texto enriquecido (en medio texto una negrita) Texto html Uso: Carga una fuente (del sistema) o fichero. Usa el objeto fuente para renderizar texto como sufarce (imagenes)

Conceptos básicos y generales en videojuegos Colisión de sprites: Areas Cuadradas (Rápido) Subareas cuadradas (Rápido) Circunferencias (Rápido) Pixel perfect (Lento) Físicas

Conceptos básicos y generales en videojuegos Tiles, los mosaicos.

Conceptos básicos y generales en videojuegos Sprites Animar paso a paso.

A programar Ejemplos Remake simple...simple del Snake. Ejemplo muy muy simple de Tiles y colisiones

Miguel de Dios TRES.14159@GMAIL.COM Links de interes. http://www.pixfans.com/videojuegos-e-ideologia-el-caso-de-molleindustria/ http://pygame.org https://godotengine.org/ http://www.pyweek.org/ Miguel de Dios TRES.14159@GMAIL.COM http://tomatesasesinos.com