-
Notifications
You must be signed in to change notification settings - Fork 4
logros
Los logros (achievements en inglés), son determinadas acciones que el jugador puede realizar, pudiendo ser o no vitales para terminar el juego. Por ejemplo, si se puede hablar con un loro durante el juego, pero el jugador puede perdérselo, se puede incluir como logro de manera que al final del juego este le diga si el logro está incluido o no en lo que ha conseguido hacer, de manera que se puede incrementar la rejugabilidad de la aventura. Además, se puede asignar puntuación a los logros (en caso de ser puntuación negativa, la opción por defecto, no se tiene en cuenta). La funcionalidad reside en el módulo ctrl.achievements, también accesible mediante ctrl.logos.
El módulo contiene los siguientes atributos y funciones:
-
prefix: La forma de listar los logros, por defecto "Logro: ", aunque puede cambiarse a lo que se desee, como en ctrl.logros.prefix = "-- ";
-
add(id, explica, complet, pts) / inserta(id, explica, completed, pts): Permite añadir un nuevo logro al sistema. Los parámetros complet y pts son opcionales, asumiéndose false y -1 respectivamente.
ctrl.logros.inserta( "vaquero", "Vaquero (te subiste a la vaca)." );
- erase(id) / borra(id): Borra un logro con el identificador id.
ctrl.logros.borra( "vaquero" );
- achieved(id, pts) / logrado(id, pts): Marca un logro como obtenido. Los puntos (pts), son opcionales. En caso de estar presentes, sobreescriben los puntos del logro con ese id. Puede ser llamado varias veces, en caso de que el logro ya esté marcado como completado, no hace nada. Muestra en pantalla información sobre el logro obtenido, en el área de respuestas.
ctrl.logros.achieved( "vaquero" );
ctrl.logros.logrado( "vaquero" );
- completedAsText() / completadosComoTexto(): Devuelve una cadena de texto conteniendo código HTML que representa una lista con el procentaje de logros obtenidos, los logros obtenidos, y los logros no obtenidos. Es ideal para añadir al final de la aventura.
ctrl.print( ctrl.logros.completadosComoTexto() );
-
completed() / completados(): Devuelve un valor entre 0 y 1, de forma que el primero representa el 0% y el segundo, el 100%. Así, la mitad de los logros obtenidos (50%), se traduciría en esta función devolviendo 0.5.
-
set(id, complet, pts) / marca(id, complet, pts): Marca un logro con identificador id como completado según complet sea true o false, y con unos puntos pts. Los dos últimos parámetros son opcionales, asumiéndose true y -1, respectivamente. Nótese que, a diferencia de achieved(id, pts) / logrado(id, pts), no visualiza ningún mensaje por pantalla, y se ejecuta siempre, sin importar si el logro ya ha sido obtenido o no.