diff --git a/.editorconfig b/.editorconfig index 2d227d8..14d28a6 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,5 +8,5 @@ charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true -[*.{yaml,yml,toml,html,svelte,xtext,game,md}] +[*.{yaml,yml,toml,html,svelte,xtext,game,md,plantuml}] indent_size = 2 diff --git a/docs/Condition.png b/docs/Condition.png new file mode 100644 index 0000000..25cec2a Binary files /dev/null and b/docs/Condition.png differ diff --git a/docs/game.png b/docs/game.png new file mode 100644 index 0000000..754d43e Binary files /dev/null and b/docs/game.png differ diff --git a/docs/uml.plantuml b/docs/uml.plantuml index 395ba20..3c241e6 100755 --- a/docs/uml.plantuml +++ b/docs/uml.plantuml @@ -2,28 +2,30 @@ ' Classes class Jeu { - + - objets : List } class Explorateur { - taille : int + - inventaire : List } -class Territoire { +class Territoire -} - -class Lieux { +class Lieu { - nom : String - déposable : Condition - départ : Condition - fin : Condition + - objets : List } class Chemin { - ouvert : Condition - visible : Condition - obligatoire : Condition + - objetsRecus : List + - objetsConso : List } class Objet { @@ -34,6 +36,8 @@ class Objet { class Transformation { - condition : Condition + - objetsIn : List + - objetsOut : List } class Connaissance { @@ -49,10 +53,74 @@ class Personne { class Interaction { - visible : Condition + - objetsRecus : List + - objetsConso : List +} + +class Action { + - visible : Condition + - fin_interaction : Condition + - objetsRecus : List + - objetsConso : List +} + +class Description { + - text : String + - condition : Condition } ' Links -Explorateur "0..1" -- "0..*" Connaissance -Explorateur "0..1" -- "0..*" Objet +Jeu -- "1" Explorateur +Jeu -- "1" Territoire +Jeu -- "0..*" Conaissance +Jeu -- "0..*" Personne +Jeu -- "0..*" Transformation -@enduml \ No newline at end of file +Explorateur -- "0..*" Connaissance + +Territoire -- "0..*" Lieu +Territoire -- "0..*" Chemin + +Lieu -- "0..*" Personne +Lieu -- "1..*" Description +Lieu -- "0..*" Connaissance + +Chemin -- "0..*" Connaissance +Chemin -- "1..*" Description + +Objet -- "1..*" Description + +Connaissance -- "1..*" Description + +Personne -- "0..*" Interaction + +Interaction -- "0..*" Connaissance +Interaction -- "1..*" Action + +Action -- "1..*" Description +Action -- "0..*" Connaissance + +@enduml + +@startuml Condition + +'Classes +class Condition +class ConditionEt +interface ConditionTest +class ConditionConnaissance +class ConditionBool +class ConditionObjet { + - operateur : String + - nombre : int +} + +'Links + +Condition -- "1..*" ConditionEt +ConditionEt -- "1..*" ConditionTest +ConditionConnaissance -.-|> ConditionTest +ConditionObjet -.-|> ConditionTest +ConditionBool -.-|> ConditionTest + +@enduml diff --git a/docs/uml.png b/docs/uml.png deleted file mode 100755 index ff80682..0000000 Binary files a/docs/uml.png and /dev/null differ diff --git a/workspace/game/bin/xtext/Game.xtext b/workspace/game/bin/xtext/Game.xtext index 1b89c8c..ae49872 100644 --- a/workspace/game/bin/xtext/Game.xtext +++ b/workspace/game/bin/xtext/Game.xtext @@ -108,7 +108,7 @@ Action: '"connaissances"' ':' '[' (connaissances+=Nom (connaissances+=Nom)*)? ']' ',' '"objets_recus"' ':' '[' (objetsRecus+=Nom (objetsRecus+=Nom)*)? ']' ',' '"objets_conso"' ':' '[' (objetsConso+=Nom (objetsConso+=Nom)*)? ']' ',' - '"fin_interraction"' ':' finInterraction=Condition + '"fin_interaction"' ':' finInteraction=Condition '}' ; diff --git a/workspace/game/src/xtext/Game.xtext b/workspace/game/src/xtext/Game.xtext index 1b89c8c..ae49872 100644 --- a/workspace/game/src/xtext/Game.xtext +++ b/workspace/game/src/xtext/Game.xtext @@ -108,7 +108,7 @@ Action: '"connaissances"' ':' '[' (connaissances+=Nom (connaissances+=Nom)*)? ']' ',' '"objets_recus"' ':' '[' (objetsRecus+=Nom (objetsRecus+=Nom)*)? ']' ',' '"objets_conso"' ':' '[' (objetsConso+=Nom (objetsConso+=Nom)*)? ']' ',' - '"fin_interraction"' ':' finInterraction=Condition + '"fin_interaction"' ':' finInteraction=Condition '}' ;