Juego de rol X43188


Statement
 

pdf   zip

html

En un juego el personaje transporta un número indeterminado de objetos en una mochila. El juego dispone de un diccionario items donde están guardados todos los objetos del juego junto con sus características.

  1. Cada objeto habilita ciertas acciones. Diseña la función acciones(pers, items) que, dado un personaje pers y un diccionario items con todos los items del juego, devuelva la lista de acciones que el personaje puede realizar en función de los objetos que acarrea en la mochila.
  2. El personaje puede equipar aquellos objetos que tienen un nivel menor o igual al nivel del personaje. Diseña la función equipables(pers, items) que, dado un personaje pers y un diccionario items con todos los items del juego, devuelva la lista de objetos de la mochila que el personaje puede equipar.
  3. Cada personaje y objeto pertenecen al menos a una clase. Diseña la función usables(pers, items) que, dado un personaje pers y un diccionario items con todos los items del juego, devuelva la lista de objetos de la mochila que el personaje puede usar porque pertenecen a su misma clase.

Puntuación

Apartado 1: 30 puntos.

Apartado 2: 35 puntos.

Apartado 3: 35 puntos.

Sample session
>>> pers = {'nombre': 'Juan',
        'clase': 'mago',
        'nivel': 3,
        'mochila': ['cuchillo', 'varita', 'libro', 'ganzúa']}

>>> its = {'cuchillo': ['ladrón', 'guerrero'],
       'varita': ['mago'],
       'libro': ['mago'],
       'espada': ['guerrero'],
       'ganzúa': ['ladrón']}
>>> usables(pers, its)
['varita', 'libro']
>>> its = {'cuchillo': 5,
       'ganzúa': 1,
       'varita': 3,
       'vaso': 2,
       'libro': 2,
       'ganzúa': 2,
       'linterna': 3}
>>> equipables(pers, its)
['varita', 'libro', 'ganzúa']
>>> its = {'cuchillo': 'cortar',
       'ganzúa': 'abrir',
       'libro': 'aprender',
       'varita': 'conjurar',
       'vaso': 'beber',
       'linterna': 'iluminar'}
>>> acciones(pers, its)
['cortar', 'conjurar', 'aprender', 'abrir']
Information
Author
InfBesos
Language
Spanish
Official solutions
Python
User solutions
Python