godot:strategy_pattern
Ceci est une ancienne révision du document !
Résumé de cette vidéo
Strategy Pattern : Idée c'est de faire du code modulable. Le code fait appel à une fonction qui est ailleurs. On créer un script global avec une fonction qui ne fait rien (pass ou autre) puis des sous scripts qui étendent le script global, avec des fonctions spécifiques.
Exemple avec un filtre de nombres, on aurait :
class_name NumFilter #on déclare le script global NumFilter func is_filtered(num) -> bool : #fonction is filtered qui vérifie si on filtre ou non (vrai,faux condition booléenne) return false #ne filtre rien
class_name EvenNumFilter #filtre les nombres pairs extends Num Filter func is_filtered(num) -> bool : return num % 2 == 0 #ça dit si le numéro modulo deux fait bien 0, donc pair, donc tej
class_name NegativeNumFilter #filtre les nombres négatifs extends Num Filter func is_filtered(num) -> bool : return num < 0 #ça dit si le numéro est inférieur à zéro, donc négatif, donc tej
Une fois ces filtres créés on peut les utiliser comme ça :
func filter_list(filter : NumFilter): var list = [-4, -2, 0, 1.35, 4, 5] for x in list : if filter.is_filtered(x): list.remove(x)
godot/strategy_pattern.1723988444.txt.gz · Dernière modification : 2024/08/18 15:40 de ilan