domingo, 25 de septiembre de 2011

Ejercicio Biblioteca

La universidad X tiene un sistema de información que le maneja el catálogo de biblioteca y los préstamos.
El usuario ingresa con un nombre (matrícula, # de nómina) y contraseña (nip asignado por biblioteca).
Puede buscar dentro del catálogo aquellos libros que le interesan; se le despliegan los datos bibliográficos (incluida imagen).          – Considerar que el libro no siempre está disponible: prestado, en reparación, en encuadernación, apartado, etc.
También se puede sacar los libros prestados.           – Siempre y cuando el usuario no tenga muchas multas.           – Si los libros son de consulta, no se pueden sacar.           – El tiempo de préstamo es diferente si se trata de un alumno de licenciatura, maestría, doctorado o un maestro.
Préstamo
Atributos: Tipo, tiempo
Métodos: Solicitar préstamo
UsuarioAtributos: Nombre, contraseña, multas, límite de préstamo
Métodos Iniciar sesión, cerrar sesión, multar usuario
Libro Atributos: Autor, título, editorial, año, portada, estado
Métodos Buscar libro, ver datos
Nombre Actor Descripción Caso relacionado
Solicitar préstamo Maestro, alumno licenciatura, alumno maestría, alumno doctorado Usuario pide préstamo

Iniciar sesión Maestro, alumno licenciatura, alumno maestría, alumno doctorado Usuario accede al sistema

Cerrar sesión Maestro, alumno licenciatura, alumno maestría, alumno doctorado Usuario sale del sistema Iniciar sesión
Ver datos Maestro, alumno licenciatura, alumno maestría, alumno doctorado Usuario consulta datos de libro

Buscar libro Maestro, alumno licenciatura, alumno maestría, alumno doctorado Usuario ingresa datos de libro a buscar Ver datos
Multar usuario Administrador Administrador multa usuario por romper alguna regla

Actualizar datos Administrador Administrador cambia estado de libros

Agregar libro Administrador Administrador ingresa datos de libros nuevos

Empezando videojuego (Parte 4)

Ahora veremos cómo mover objetos con el teclado.


 #!/usr/bin/python
import pygame


def main():
    pygame.init()
    pantalla=pygame.display.set_mode([600,400])
    pygame.display.set_caption("Juego Medieval")
    salir=False

    reloj1=pygame.time.Clock()
    verde=(0,100,0)
    rojizo=(200,20,50)
    azulado=(70,70,190)
    r1=pygame.Rect(50,50,45,45)
    r2=pygame.Rect(200,200,100,50)
    

    while salir!=True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                salir=True
            if event.type == pygame.KEYDOWN: #Nuevo
                if event.key == pygame.K_LEFT:    #Nuevo
                    r1.move_ip(-10,0)                         #Nuevo
                if event.key == pygame.K_RIGHT:  #Nuevo
                    r1.move_ip(10,0)                          #Nuevo
                if event.key == pygame.K_UP:        #Nuevo
                    r1.move_ip(0,-10)                         #Nuevo
                if event.key == pygame.K_DOWN:  #Nuevo
                    r1.move_ip(0,10)                          #Nuevo
    
        reloj1.tick(20)
        pantalla.fill(verde)
        
        pygame.draw.rect(pantalla,rojizo,r1)
        pygame.draw.rect(pantalla,azulado,r2)
        pygame.display.update()

    pygame.quit()

main()


Como ya sabemos, Python trabaja con eventos, es decir que cada movimiento será un evento en el juego.


if event.type == pygame.KEYDOWN: Esta función es para que cuando ocurra el evento de apretar una tecla, suceda algo. La cual desarrola las siguientes funciones.

if event.key == pygame.K_LEFT:   
                    r1.move_ip(-10,0) 
Esta función es específica para mover hacia la izquierda, "K.LEFT" indica que será la tecla es la flecha direccional izquierda y que se moverá -10 a la izquierda, y 0 para la derecha.
                     
if event.key == pygame.K_RIGHT:  
r1.move_ip(10,0)          Esta función es para mover hacia la derecha, "K_RIGHT" esta parte indica que se moverá si oprimimos la flecha direccional derecha.

 if event.key == pygame.K_UP:       
  r1.move_ip(0,-10)    Esta función es para mover hacia arriba de la pantalla, "K_UP" nos indica que orimiendo la flecha direccional hacia arriba, se hará movimiento hacia arriba.

if event.key == pygame.K_DOWN: 
 r1.move_ip(0,10)   Esta función es para mover hacia abajo de la pantalla, "K_DOWN" nos indica que oprimiendo la flecha direccional hacia abajo, se hará moviemiento hacia abajo en la pantalla.




Fuentes:
http://www.pygame.org/docs/ref/key.html
http://www.youtube.com/watch?v=S5D2-IOwQfM&feature=related