Patricio Aros

xd

jueves, 15 de diciembre de 2011

Taller Integracion - Presentacion Sprint

Autor: Patricio Aros Erices
Competencia: Comunicación oral y escrita
Palabras claves: Python, Juego Plataforma, Infrarrojo, Puerto Serial, Sprint(traducido), Scrum

Dentro de la materia o la asignatura en sí, debiamos ir presentando cada semana un sprint de lo realizado, en esta usabamos metodos recomendados por los profesores como es Scrum y otras guias que se pusieron a nuestra disposicion.
La actividad principal de la asignatura era realizar un proyecto para presentarlo a final de semestre aplicando conocimientos del primer semestre ya pasado.
Nuestro proyecto se llamaba NexusGames constaba en una interfaz entre un control y un computador que se comunicaba a travez de un sensor infrarojo y puerto serial el cual resivia los datos enviados por el control. Por otra parte lo que me toco disertar a mi en un Sprint especifico fueron los juegos que estabamos realizando para controlarlos con el control, como una forma economica de tener o poder manejar 2 aparatos al mismo tiempo y tener diversion en una pc al mismo tiempo.

En Resumidas cuentas en las presentacion debiamos presentar un grafico de Burn-Down que es una representación gráfica del trabajo por hacer en un proyecto en el tiempo. Aqui en la imagen de al lado tenemos un ejemplo de como se realiza el gráfico, la linea del media es lo "ideal" y la que varia es como se ha llevado a cabo el trabajo en sí.


Esto era una parte de lo que se presentaba en un Sprint, en el mismo eran presentados los avances del proyecto que teniamos cada semana, en nuestro caso los juegos eran realizados en python con una libreria PyGame, en mi caso presentaba mi juego el cual constaba de un juego de plataforma tipo lucha, donde salian enemigos por los costados y un guerrero debia defenderse, en un avanze especifico presente este el cual mostraba a mi personaje moviendo por la ventana con movimiento o mas bien dicho con Sprites que son imagenes separadas que dan la sensacion de movimiento al personaje. Dejo a continuacion el codigo Fuente para que se pueda analizar

  1 import pygame, sys
  2 from pygame.locals import *
  3 import time
  4 
  5 pygame.init()
  6 
  7 visor = pygame.display.set_mode((800, 600), 0, 32)
  8 #cargar imagen  y la invertida para sentido contrario
  9 fotogramas = pygame.image.load('Walking.gif').convert()
 10 fotogramas2 = pygame.transform.flip(fotogramas,True, False)
 11 
 12 
 13 pos = 100
 14 #sprite dividido
 15 guy = {}
 16 guy2 = {}
 17 guy[0] = (0, 0 , 52, 94)
 18 guy2[0]= (53*5, 0, 53,94)
 19 guy[1] = (53*1, 0, 53, 94)
 20 guy2[1] = (53*4, 0, 53,94)
 21 guy[2] = (53*2, 0, 53, 94)
 22 guy2[2] = (53*3, 0, 53,94)
 23 guy[3] = (53*3, 0, 53, 94)
 24 guy2[3] = (53*2, 0, 53,94)
 25 guy[4] = (53*4, 0, 53, 94)
 26 guy2[4] = (52*1, 0, 53,94)
 27 guy[5] = (53*5, 0, 53, 94)
 28 guy2[5] = (0, 0, 52,94)
 29 
 30 # Controlando la direccion
 31 izquierda = True
 32 #controlar cual sprite
 33 cual = 0
 34 #para controlar el tiempo del sprite
 35 cuanto = 100
 36 tiempo = 0
 37 # Funcion que actualiza el fotograma
 38 def actualizar():
 39     global cual, pos, tiempo
 40     if izquierda:
 41         pos = pos + 1
 42     else:
 43         pos = pos - 1
 44     if pygame.time.get_ticks()-tiempo > cuanto:
 45         tiempo = pygame.time.get_ticks()
 46         cual = cual + 1
 47         if izquierda:
 48             if cual == 3 or cual == 5:
 49                 pos = pos + 4
 50             if cual > 5:
 51                 cual = 1
 52         else:
 53             if cual == 3 or cual == 5:
 54                 pos = pos - 4
 55             if cual > 5:
 56                 cual = 1
 57 
 58 
 59 
 60 def load_image(filename, transparent=False):
 61         try: image = pygame.image.load(filename)
 62         except pygame.error, message:
 63                 raise SystemExit, message
 64         image = image.convert()
 65         if transparent:
 66                 color = image.get_at((0,0))
 67                 image.set_colorkey(color, RLEACCEL)
 68         return image
 69 
 70 background_image = load_image('backg.png')
 71 pygame.mixer.music.load('Music1.mp3')
 72 pygame.mixer.music.play(2)
 73 
 74 
 75 while True:
 76     for event in pygame.event.get():
 77         if event.type == QUIT:
 78             pygame.quit()
 79             sys.exit()
 80     visor.blit(background_image, (0, 0))
 81 
 82     teclasPulsadas = pygame.key.get_pressed()
 83     if teclasPulsadas[K_a]:
 84         izquierda = False
 85         actualizar()
 86     elif teclasPulsadas[K_s]:
 87         izquierda = True
 88         actualizar()
 89     else:
 90         cual = 0
 91         if pygame.time.get_ticks()-tiempo > cuanto:
 92             tiempo = pygame.time.get_ticks()
 93             cual = cual + 1
 94             if cual > 5:
 95                 cual = 1
 96     visor.blit(background_image, (0, 0))
 97 
 98     if izquierda:
 99         visor.blit(fotogramas, (pos,312), guy[cual])
100     else:
101         visor.blit(fotogramas2, (pos,312), guy2[cual])
102 
103     pygame.display.update()
104 
Para Finalizar una imagen de como estaba diseñado el juego y como se veia principalmente:
 
Reflexion
 A manera de presentación y expresión esta fue una asignatura y proyecto en sí que nos dejo bastante conocmiento y ademas el hecho que desarrollo de gran manera la habilidad de presentar frente a un grupo determinado de personas de manera oral, asi mismo se desarrollo la personalidad que complementa a lo mecionado anteriormente, sin dudas una actividad que nos hizo desarrollar grandes rasgos de nosotros mismos.

0 comentarios:

Publicar un comentario