123456789101112131415161718192021222324252627282930313233 |
- class_name Pouvoir
- enum Type {
- AUCUN, # si pas de pouvoir, laisser en premier
- FEU,
- VIE,
- RALENTIR,
- JAVELOT,
- SPECTRE,
- BONJOUR # laisser en dernier
- }
- static func fabriquer(type: Type): # -> PouvoirBase
- match type:
- Type.BONJOUR:
- return BonjourPouvoir.new()
- Type.FEU:
- return PouvoirFeu.new()
- Type.VIE:
- return VieBonus.new()
- Type.RALENTIR:
- return RalentirPouvoir.new()
- Type.JAVELOT:
- return JavelotPouvoir.new()
- Type.SPECTRE:
- return PouvoirSpectre.new()
- Type.AUCUN:
- return null
- _:
- assert(false, "Le nouveau pouvoir doit etre associe a son type " + str(type))
- return null # sinon compilateur pas content
|