De vez en cuando me gusta tomar un descanso de mis otros proyectos para tratar de hacer un clásico juego de aventura basado en texto (en Python, esta vez) como un proyecto divertido, pero Siempre tengo problemas de diseño implementando el sistema de elementos.Administrar elementos en un juego orientado a objetos
Me gustaría que los elementos en el juego desciendan de una clase base Item
, que contiene algunos atributos que tiene cada elemento, como el daño y el peso. Mis problemas comienzan cuando intento agregar alguna funcionalidad a estos elementos. Cuando el daño de un elemento supera un umbral, debe destruirse. Y ahí radica mi problema: realmente no sé cómo lograr eso.
Dado que del self
no funcionará por un millón de razones diferentes, (Editar: intencionalmente proporciono el uso de 'del' como algo que sé que está mal. Sé lo que es la recolección de basura, y cómo no es lo que quiero.) ¿cómo debo hacer esto (y otras tareas similares)? ¿Debería cada elemento contener algún tipo de referencia a su contenedor (El jugador, supongo) y 'preguntarse' por sí mismo para ser eliminado?
Lo primero que viene a la mente es un gran diccionario que contiene todos los elementos del juego, y cada objeto tendría una referencia a esta lista, y ambos tienen y saben que es una identificación única. No me gusta esta solución en absoluto y no creo que sea la manera correcta de hacerlo. ¿Alguien tiene alguna sugerencia?
EDIT: Estoy viendo a mucha gente pensando que me preocupa la recolección de basura. De lo que estoy hablando no es de recolección de basura, sino de eliminar el objeto del juego. No estoy seguro de qué objetos deben iniciar la eliminación, etc.
No estoy confundido. Entiendo la diferencia entre los dos. Estaba usando el ejemplo 'del' para mostrar lo que _no funciona_ y lo que no quería. Ahora me doy cuenta de que solo causa confusión. –