diff --git a/HyperSet/.idea/dataSources.local.xml b/HyperSet/.idea/dataSources.local.xml
new file mode 100644
index 0000000..38b01fd
--- /dev/null
+++ b/HyperSet/.idea/dataSources.local.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ false
+
+
+
+
\ No newline at end of file
diff --git a/HyperSet/.idea/dataSources.xml b/HyperSet/.idea/dataSources.xml
new file mode 100644
index 0000000..5f88cba
--- /dev/null
+++ b/HyperSet/.idea/dataSources.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ sqlite.xerial
+ true
+ org.sqlite.JDBC
+ jdbc:sqlite:C:\wamp64\www\HyperSet\bdd\hyperset.db
+
+
+
\ No newline at end of file
diff --git a/HyperSet/.idea/workspace.xml b/HyperSet/.idea/workspace.xml
index e99d458..fee62e4 100644
--- a/HyperSet/.idea/workspace.xml
+++ b/HyperSet/.idea/workspace.xml
@@ -12,6 +12,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -19,13 +41,24 @@
+
-
+
+
+
+
+
+
+
+
+
+
+
@@ -39,11 +72,28 @@
1591174032513
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/HyperSet/Documentation/Cas d'utilisation HyperSet.mdj b/HyperSet/Documentation/Cas d'utilisation HyperSet.mdj
new file mode 100644
index 0000000..27c000f
--- /dev/null
+++ b/HyperSet/Documentation/Cas d'utilisation HyperSet.mdj
@@ -0,0 +1,2633 @@
+{
+ "_type": "Project",
+ "_id": "AAAAAAFF+h6SjaM2Hec=",
+ "name": "Untitled",
+ "ownedElements": [
+ {
+ "_type": "UMLModel",
+ "_id": "AAAAAAFF+qBWK6M3Z8Y=",
+ "_parent": {
+ "$ref": "AAAAAAFF+h6SjaM2Hec="
+ },
+ "name": "Model",
+ "ownedElements": [
+ {
+ "_type": "UMLUseCaseDiagram",
+ "_id": "AAAAAAFnaRGz007euQQ=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "UseCaseDiagram1",
+ "ownedViews": [
+ {
+ "_type": "UMLActorView",
+ "_id": "AAAAAAFnaRJsqE8Tymo=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRGz007euQQ="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRJsqE8RSDc="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAFnaRJsqE8U2mU=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRJsqE8Tymo="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRJsqE8RSDc="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRJsqE8V+UM=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRJsqE8U2mU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -16,
+ "top": -112,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRJsqE8WEac=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRJsqE8U2mU="
+ },
+ "font": "Arial;13;1",
+ "left": 109,
+ "top": 373,
+ "width": 47.44873046875,
+ "height": 13,
+ "text": "Joueur"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRJsqE8XXG0=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRJsqE8U2mU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -16,
+ "top": -112,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRJsqE8Yv0E=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRJsqE8U2mU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -16,
+ "top": -112,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 104,
+ "top": 366,
+ "width": 57.44873046875,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAFnaRJsqE8V+UM="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAFnaRJsqE8WEac="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAFnaRJsqE8XXG0="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAFnaRJsqE8Yv0E="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAFnaRJsqE8ZJv8=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRJsqE8Tymo="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRJsqE8RSDc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -8,
+ "top": -56,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAFnaRJsrE8aHdM=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRJsqE8Tymo="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRJsqE8RSDc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -8,
+ "top": -56,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAFnaRJsrE8be1g=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRJsqE8Tymo="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRJsqE8RSDc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -8,
+ "top": -56,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAFnaRJsrE8cluI=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRJsqE8Tymo="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRJsqE8RSDc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -8,
+ "top": -56,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 104,
+ "top": 312,
+ "width": 57.44873046875,
+ "height": 80,
+ "nameCompartment": {
+ "$ref": "AAAAAAFnaRJsqE8U2mU="
+ },
+ "suppressAttributes": true,
+ "suppressOperations": true,
+ "attributeCompartment": {
+ "$ref": "AAAAAAFnaRJsqE8ZJv8="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAFnaRJsrE8aHdM="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAFnaRJsrE8be1g="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAFnaRJsrE8cluI="
+ }
+ },
+ {
+ "_type": "UMLUseCaseSubjectView",
+ "_id": "AAAAAAFnaRPsHk9AHcU=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRGz007euQQ="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRPsHk8+JIc="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAFnaRPsHk9Bc9c=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRPsHk9AHcU="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRPsHk8+JIc="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRPsHk9CS4k=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRPsHk9Bc9c="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -208,
+ "top": -208,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRPsHk9Dv7c=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRPsHk9Bc9c="
+ },
+ "font": "Arial;13;1",
+ "left": 285,
+ "top": 127,
+ "width": 839,
+ "height": 13,
+ "text": "Hyper-Set"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRPsHk9E1zk=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRPsHk9Bc9c="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -208,
+ "top": -208,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRPsHk9FBiQ=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRPsHk9Bc9c="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -208,
+ "top": -208,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 280,
+ "top": 120,
+ "width": 849,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAFnaRPsHk9CS4k="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAFnaRPsHk9Dv7c="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAFnaRPsHk9E1zk="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAFnaRPsHk9FBiQ="
+ }
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 280,
+ "top": 120,
+ "width": 849,
+ "height": 513,
+ "nameCompartment": {
+ "$ref": "AAAAAAFnaRPsHk9Bc9c="
+ }
+ },
+ {
+ "_type": "UMLUseCaseView",
+ "_id": "AAAAAAFnaRUgxk9e3tk=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRGz007euQQ="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRUgwk9cdIs="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAFnaRUgxk9f3q8=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRUgxk9e3tk="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRUgwk9cdIs="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRUgxk9gRF0=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRUgxk9f3q8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "top": -80,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRUgxk9hhq4=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRUgxk9f3q8="
+ },
+ "font": "Arial;13;1",
+ "left": 413.5,
+ "top": 226.5,
+ "width": 183,
+ "height": 13,
+ "text": "Jouer"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRUgxk9i02I=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRUgxk9f3q8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "top": -80,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRUgxk9jlfw=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRUgxk9f3q8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "top": -80,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 408.5,
+ "top": 219.5,
+ "width": 193,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAFnaRUgxk9gRF0="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAFnaRUgxk9hhq4="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAFnaRUgxk9i02I="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAFnaRUgxk9jlfw="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAFnaRUgxk9kj4U=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRUgxk9e3tk="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRUgwk9cdIs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "top": -40,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAFnaRUgxk9lYFc=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRUgxk9e3tk="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRUgwk9cdIs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "top": -40,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAFnaRUgxk9miFI=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRUgxk9e3tk="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRUgwk9cdIs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "top": -40,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAFnaRUgxk9nTrM=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRUgxk9e3tk="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRUgwk9cdIs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "top": -40,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLExtensionPointCompartmentView",
+ "_id": "AAAAAAFnaRUgxk9oKo4=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRUgxk9e3tk="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRUgwk9cdIs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "top": -40,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 368,
+ "top": 208,
+ "width": 274,
+ "height": 49,
+ "nameCompartment": {
+ "$ref": "AAAAAAFnaRUgxk9f3q8="
+ },
+ "suppressAttributes": true,
+ "suppressOperations": true,
+ "attributeCompartment": {
+ "$ref": "AAAAAAFnaRUgxk9kj4U="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAFnaRUgxk9lYFc="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAFnaRUgxk9miFI="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAFnaRUgxk9nTrM="
+ },
+ "extensionPointCompartment": {
+ "$ref": "AAAAAAFnaRUgxk9oKo4="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAFnaRlfYFBT5sA=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRGz007euQQ="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRlfYFBP0QA="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRlfYFBUKIE=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRlfYFBP0QA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 288,
+ "top": 278,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRlfYFBVI4s=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRlfYFBP0QA="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 283,
+ "top": 264,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRlfYFBWySM=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRlfYFBP0QA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 297,
+ "top": 307,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRlfYFBXldo=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRlfYFBQ5rY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 181,
+ "top": 313,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRlfYFBYB2o=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRlfYFBQ5rY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 179,
+ "top": 300,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRlfYFBZ1kw=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRlfYFBQ5rY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 185,
+ "top": 341,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRlfZFBaX/g=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRlfYFBRjMQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 396,
+ "top": 244,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRlfZFBbzT0=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRlfYFBRjMQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 390,
+ "top": 232,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRlfZFBcS6I=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRlfYFBRjMQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 409,
+ "top": 269,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAFnaRlfZFBdEog=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRlfYFBQ5rY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAFnaRlfZFBeSbs=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRlfYFBT5sA="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRlfYFBRjMQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAFnaRUgxk9e3tk="
+ },
+ "tail": {
+ "$ref": "AAAAAAFnaRJsqE8Tymo="
+ },
+ "lineStyle": 1,
+ "points": "161:342;426:257",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAFnaRlfYFBUKIE="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAFnaRlfYFBVI4s="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAFnaRlfYFBWySM="
+ },
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAFnaRlfYFBXldo="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAFnaRlfYFBYB2o="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAFnaRlfYFBZ1kw="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAFnaRlfZFBaX/g="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAFnaRlfZFBbzT0="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAFnaRlfZFBcS6I="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAFnaRlfZFBdEog="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAFnaRlfZFBeSbs="
+ }
+ },
+ {
+ "_type": "UMLUseCaseView",
+ "_id": "AAAAAAFnaRqEY1H9IeE=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRGz007euQQ="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRqEY1H7/Q4="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAFnaRqEY1H+PzI=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRqEY1H9IeE="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRqEY1H7/Q4="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRqEY1H/8UY=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRqEY1H+PzI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -176,
+ "top": 288,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRqEY1IADT8=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRqEY1H+PzI="
+ },
+ "font": "Arial;13;1",
+ "left": 425,
+ "top": 491.5,
+ "width": 161,
+ "height": 13,
+ "text": "Voir les Scores"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRqEY1IBTww=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRqEY1H+PzI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -176,
+ "top": 288,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFnaRqEY1ICBYw=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRqEY1H+PzI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -176,
+ "top": 288,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 420,
+ "top": 484.5,
+ "width": 171,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAFnaRqEY1H/8UY="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAFnaRqEY1IADT8="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAFnaRqEY1IBTww="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAFnaRqEY1ICBYw="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAFnaRqEY1IDq7g=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRqEY1H9IeE="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRqEY1H7/Q4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -88,
+ "top": 144,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAFnaRqEZ1IErqk=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRqEY1H9IeE="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRqEY1H7/Q4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -88,
+ "top": 144,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAFnaRqEZ1IFhqk=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRqEY1H9IeE="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRqEY1H7/Q4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -88,
+ "top": 144,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAFnaRqEZ1IGDBY=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRqEY1H9IeE="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRqEY1H7/Q4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -88,
+ "top": 144,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLExtensionPointCompartmentView",
+ "_id": "AAAAAAFnaRqEZ1IH03Q=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRqEY1H9IeE="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRqEY1H7/Q4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -88,
+ "top": 144,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 384,
+ "top": 472,
+ "width": 243,
+ "height": 51,
+ "nameCompartment": {
+ "$ref": "AAAAAAFnaRqEY1H+PzI="
+ },
+ "suppressAttributes": true,
+ "suppressOperations": true,
+ "attributeCompartment": {
+ "$ref": "AAAAAAFnaRqEY1IDq7g="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAFnaRqEZ1IErqk="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAFnaRqEZ1IFhqk="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAFnaRqEZ1IGDBY="
+ },
+ "extensionPointCompartment": {
+ "$ref": "AAAAAAFnaRqEZ1IH03Q="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAFnaRskzFN/9wI=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRGz007euQQ="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRskzFN73lw="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRskzFOAx30=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRskzFN73lw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 305,
+ "top": 397,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRskzFOBx88=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRskzFN73lw="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 310,
+ "top": 383,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRskzFOCvic=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRskzFN73lw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 294,
+ "top": 424,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRskzFODPLA=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRskzFN8ep0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 190,
+ "top": 352,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRskzFOE+3Q=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRskzFN8ep0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 197,
+ "top": 340,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRskzFOF4J8=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRskzFN8ep0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 176,
+ "top": 376,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRskzFOGOvs=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRskzFN9Cu0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 420,
+ "top": 441,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRskzFOHS3U=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRskzFN9Cu0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 422,
+ "top": 428,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFnaRskzFOImcg=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRskzFN9Cu0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 414,
+ "top": 468,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAFnaRskzFOJjOo=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRskzFN8ep0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAFnaRskzFOK7Rw=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRskzFN/9wI="
+ },
+ "model": {
+ "$ref": "AAAAAAFnaRskzFN9Cu0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAFnaRqEY1H9IeE="
+ },
+ "tail": {
+ "$ref": "AAAAAAFnaRJsqE8Tymo="
+ },
+ "lineStyle": 1,
+ "points": "161:363;439:471",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAFnaRskzFOAx30="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAFnaRskzFOBx88="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAFnaRskzFOCvic="
+ },
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAFnaRskzFODPLA="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAFnaRskzFOE+3Q="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAFnaRskzFOF4J8="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAFnaRskzFOGOvs="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAFnaRskzFOHS3U="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAFnaRskzFOImcg="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAFnaRskzFOJjOo="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAFnaRskzFOK7Rw="
+ }
+ },
+ {
+ "_type": "UMLUseCaseView",
+ "_id": "AAAAAAFyWxlJDT9Xayc=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRGz007euQQ="
+ },
+ "model": {
+ "$ref": "AAAAAAFyWxlJDD9Vi38="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAFyWxlJDT9YmOM=",
+ "_parent": {
+ "$ref": "AAAAAAFyWxlJDT9Xayc="
+ },
+ "model": {
+ "$ref": "AAAAAAFyWxlJDD9Vi38="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFyWxlJDT9ZylE=",
+ "_parent": {
+ "$ref": "AAAAAAFyWxlJDT9YmOM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -64,
+ "top": -128,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFyWxlJDT9auXQ=",
+ "_parent": {
+ "$ref": "AAAAAAFyWxlJDT9YmOM="
+ },
+ "font": "Arial;13;1",
+ "left": 747.5,
+ "top": 178,
+ "width": 97,
+ "height": 13,
+ "text": "Set"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFyWxlJDT9bckY=",
+ "_parent": {
+ "$ref": "AAAAAAFyWxlJDT9YmOM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -64,
+ "top": -128,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFyWxlJDT9cqHk=",
+ "_parent": {
+ "$ref": "AAAAAAFyWxlJDT9YmOM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -64,
+ "top": -128,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 742.5,
+ "top": 171,
+ "width": 107,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAFyWxlJDT9ZylE="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAFyWxlJDT9auXQ="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAFyWxlJDT9bckY="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAFyWxlJDT9cqHk="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAFyWxlJDT9ddqY=",
+ "_parent": {
+ "$ref": "AAAAAAFyWxlJDT9Xayc="
+ },
+ "model": {
+ "$ref": "AAAAAAFyWxlJDD9Vi38="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -32,
+ "top": -64,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAFyWxlJDT9elzU=",
+ "_parent": {
+ "$ref": "AAAAAAFyWxlJDT9Xayc="
+ },
+ "model": {
+ "$ref": "AAAAAAFyWxlJDD9Vi38="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -32,
+ "top": -64,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAFyWxlJDT9fTss=",
+ "_parent": {
+ "$ref": "AAAAAAFyWxlJDT9Xayc="
+ },
+ "model": {
+ "$ref": "AAAAAAFyWxlJDD9Vi38="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -32,
+ "top": -64,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAFyWxlJDT9gKQ8=",
+ "_parent": {
+ "$ref": "AAAAAAFyWxlJDT9Xayc="
+ },
+ "model": {
+ "$ref": "AAAAAAFyWxlJDD9Vi38="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -32,
+ "top": -64,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLExtensionPointCompartmentView",
+ "_id": "AAAAAAFyWxlJDj9hD2U=",
+ "_parent": {
+ "$ref": "AAAAAAFyWxlJDT9Xayc="
+ },
+ "model": {
+ "$ref": "AAAAAAFyWxlJDD9Vi38="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -32,
+ "top": -64,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 720,
+ "top": 160,
+ "width": 152,
+ "height": 48,
+ "nameCompartment": {
+ "$ref": "AAAAAAFyWxlJDT9YmOM="
+ },
+ "suppressAttributes": true,
+ "suppressOperations": true,
+ "attributeCompartment": {
+ "$ref": "AAAAAAFyWxlJDT9ddqY="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAFyWxlJDT9elzU="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAFyWxlJDT9fTss="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAFyWxlJDT9gKQ8="
+ },
+ "extensionPointCompartment": {
+ "$ref": "AAAAAAFyWxlJDj9hD2U="
+ }
+ },
+ {
+ "_type": "UMLExtendView",
+ "_id": "AAAAAAFydMzaMKupNkE=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRGz007euQQ="
+ },
+ "model": {
+ "$ref": "AAAAAAFydMzaL6unjlc="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFydMzaMauqWh0=",
+ "_parent": {
+ "$ref": "AAAAAAFydMzaMKupNkE="
+ },
+ "model": {
+ "$ref": "AAAAAAFydMzaL6unjlc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 677,
+ "top": 181,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAFydMzaMKupNkE="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFydMzaMaurQMg=",
+ "_parent": {
+ "$ref": "AAAAAAFydMzaMKupNkE="
+ },
+ "model": {
+ "$ref": "AAAAAAFydMzaL6unjlc="
+ },
+ "font": "Arial;13;0",
+ "left": 649,
+ "top": 166,
+ "width": 53.49169921875,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAFydMzaMKupNkE="
+ },
+ "edgePosition": 1,
+ "text": "«extend»"
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFydMzaMqusCW4=",
+ "_parent": {
+ "$ref": "AAAAAAFydMzaMKupNkE="
+ },
+ "model": {
+ "$ref": "AAAAAAFydMzaL6unjlc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 682,
+ "top": 210,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAFydMzaMKupNkE="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAFyWxlJDT9Xayc="
+ },
+ "tail": {
+ "$ref": "AAAAAAFnaRUgxk9e3tk="
+ },
+ "lineStyle": 1,
+ "points": "642:209;719:196",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAFydMzaMauqWh0="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAFydMzaMaurQMg="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAFydMzaMqusCW4="
+ }
+ },
+ {
+ "_type": "UMLUseCaseView",
+ "_id": "AAAAAAFydMz5n6xUR/4=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRGz007euQQ="
+ },
+ "model": {
+ "$ref": "AAAAAAFydMz5n6xSOiY="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAFydMz5n6xVy4o=",
+ "_parent": {
+ "$ref": "AAAAAAFydMz5n6xUR/4="
+ },
+ "model": {
+ "$ref": "AAAAAAFydMz5n6xSOiY="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFydMz5oKxWuc8=",
+ "_parent": {
+ "$ref": "AAAAAAFydMz5n6xVy4o="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1472,
+ "top": 544,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFydMz5oKxXVvA=",
+ "_parent": {
+ "$ref": "AAAAAAFydMz5n6xVy4o="
+ },
+ "font": "Arial;13;1",
+ "left": 761.5,
+ "top": 290.5,
+ "width": 86,
+ "height": 13,
+ "text": "HyperSet"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFydMz5oKxYnek=",
+ "_parent": {
+ "$ref": "AAAAAAFydMz5n6xVy4o="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1472,
+ "top": 544,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFydMz5oKxZRE4=",
+ "_parent": {
+ "$ref": "AAAAAAFydMz5n6xVy4o="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1472,
+ "top": 544,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 756.5,
+ "top": 283.5,
+ "width": 96,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAFydMz5oKxWuc8="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAFydMz5oKxXVvA="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAFydMz5oKxYnek="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAFydMz5oKxZRE4="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAFydMz5oKxawBU=",
+ "_parent": {
+ "$ref": "AAAAAAFydMz5n6xUR/4="
+ },
+ "model": {
+ "$ref": "AAAAAAFydMz5n6xSOiY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 736,
+ "top": 272,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAFydMz5oKxbvhc=",
+ "_parent": {
+ "$ref": "AAAAAAFydMz5n6xUR/4="
+ },
+ "model": {
+ "$ref": "AAAAAAFydMz5n6xSOiY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 736,
+ "top": 272,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAFydMz5oKxco2A=",
+ "_parent": {
+ "$ref": "AAAAAAFydMz5n6xUR/4="
+ },
+ "model": {
+ "$ref": "AAAAAAFydMz5n6xSOiY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 736,
+ "top": 272,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAFydMz5oKxdzPo=",
+ "_parent": {
+ "$ref": "AAAAAAFydMz5n6xUR/4="
+ },
+ "model": {
+ "$ref": "AAAAAAFydMz5n6xSOiY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 736,
+ "top": 272,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLExtensionPointCompartmentView",
+ "_id": "AAAAAAFydMz5oKxeSco=",
+ "_parent": {
+ "$ref": "AAAAAAFydMz5n6xUR/4="
+ },
+ "model": {
+ "$ref": "AAAAAAFydMz5n6xSOiY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 736,
+ "top": 272,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 736,
+ "top": 272,
+ "width": 137,
+ "height": 49,
+ "nameCompartment": {
+ "$ref": "AAAAAAFydMz5n6xVy4o="
+ },
+ "suppressAttributes": true,
+ "suppressOperations": true,
+ "attributeCompartment": {
+ "$ref": "AAAAAAFydMz5oKxawBU="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAFydMz5oKxbvhc="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAFydMz5oKxco2A="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAFydMz5oKxdzPo="
+ },
+ "extensionPointCompartment": {
+ "$ref": "AAAAAAFydMz5oKxeSco="
+ }
+ },
+ {
+ "_type": "UMLExtendView",
+ "_id": "AAAAAAFydM1TH627rCg=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRGz007euQQ="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM1THq25qrE="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFydM1TH628WC4=",
+ "_parent": {
+ "$ref": "AAAAAAFydM1TH627rCg="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM1THq25qrE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 681,
+ "top": 248,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAFydM1TH627rCg="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFydM1TH629lOw=",
+ "_parent": {
+ "$ref": "AAAAAAFydM1TH627rCg="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM1THq25qrE="
+ },
+ "font": "Arial;13;0",
+ "left": 658,
+ "top": 233,
+ "width": 53.49169921875,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAFydM1TH627rCg="
+ },
+ "edgePosition": 1,
+ "text": "«extend»"
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFydM1TH62+9pQ=",
+ "_parent": {
+ "$ref": "AAAAAAFydM1TH627rCg="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM1THq25qrE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 674,
+ "top": 277,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAFydM1TH627rCg="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAFydMz5n6xUR/4="
+ },
+ "tail": {
+ "$ref": "AAAAAAFnaRUgxk9e3tk="
+ },
+ "lineStyle": 1,
+ "points": "621:257;735:281",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAFydM1TH628WC4="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAFydM1TH629lOw="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAFydM1TH62+9pQ="
+ }
+ },
+ {
+ "_type": "UMLUseCaseView",
+ "_id": "AAAAAAFydM4Gk7BKX8w=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRGz007euQQ="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAFydM4Gk7BLouY=",
+ "_parent": {
+ "$ref": "AAAAAAFydM4Gk7BKX8w="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFydM4Gk7BMqDs=",
+ "_parent": {
+ "$ref": "AAAAAAFydM4Gk7BLouY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 80,
+ "top": 32,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFydM4Gk7BNkEI=",
+ "_parent": {
+ "$ref": "AAAAAAFydM4Gk7BLouY="
+ },
+ "font": "Arial;13;1",
+ "left": 1000.5,
+ "top": 183.5,
+ "width": 81,
+ "height": 13,
+ "text": "Modes de jeu"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFydM4Gk7BO8O8=",
+ "_parent": {
+ "$ref": "AAAAAAFydM4Gk7BLouY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 80,
+ "top": 32,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFydM4Gk7BPRIQ=",
+ "_parent": {
+ "$ref": "AAAAAAFydM4Gk7BLouY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 80,
+ "top": 32,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 995.5,
+ "top": 176.5,
+ "width": 92.34814453125,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAFydM4Gk7BMqDs="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAFydM4Gk7BNkEI="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAFydM4Gk7BO8O8="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAFydM4Gk7BPRIQ="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAFydM4Gk7BQdiI=",
+ "_parent": {
+ "$ref": "AAAAAAFydM4Gk7BKX8w="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 40,
+ "top": 16,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAFydM4Gk7BRcG8=",
+ "_parent": {
+ "$ref": "AAAAAAFydM4Gk7BKX8w="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 40,
+ "top": 16,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAFydM4Gk7BSvQk=",
+ "_parent": {
+ "$ref": "AAAAAAFydM4Gk7BKX8w="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 40,
+ "top": 16,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAFydM4Gk7BTQCM=",
+ "_parent": {
+ "$ref": "AAAAAAFydM4Gk7BKX8w="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 40,
+ "top": 16,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLExtensionPointCompartmentView",
+ "_id": "AAAAAAFydM4Gk7BU4G0=",
+ "_parent": {
+ "$ref": "AAAAAAFydM4Gk7BKX8w="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 40,
+ "top": 16,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 976,
+ "top": 160,
+ "width": 130,
+ "height": 59,
+ "nameCompartment": {
+ "$ref": "AAAAAAFydM4Gk7BLouY="
+ },
+ "suppressAttributes": true,
+ "suppressOperations": true,
+ "attributeCompartment": {
+ "$ref": "AAAAAAFydM4Gk7BQdiI="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAFydM4Gk7BRcG8="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAFydM4Gk7BSvQk="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAFydM4Gk7BTQCM="
+ },
+ "extensionPointCompartment": {
+ "$ref": "AAAAAAFydM4Gk7BU4G0="
+ }
+ },
+ {
+ "_type": "UMLExtendView",
+ "_id": "AAAAAAFydM5ElLEmubc=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRGz007euQQ="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM5ElLEkOVU="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFydM5ElLEn6zY=",
+ "_parent": {
+ "$ref": "AAAAAAFydM5ElLEmubc="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM5ElLEkOVU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 923,
+ "top": 165,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAFydM5ElLEmubc="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFydM5ElLEoM64=",
+ "_parent": {
+ "$ref": "AAAAAAFydM5ElLEmubc="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM5ElLEkOVU="
+ },
+ "font": "Arial;13;0",
+ "left": 897,
+ "top": 150,
+ "width": 53.49169921875,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAFydM5ElLEmubc="
+ },
+ "edgePosition": 1,
+ "text": "«extend»"
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFydM5ElLEp2pI=",
+ "_parent": {
+ "$ref": "AAAAAAFydM5ElLEmubc="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM5ElLEkOVU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 922,
+ "top": 194,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAFydM5ElLEmubc="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAFydM4Gk7BKX8w="
+ },
+ "tail": {
+ "$ref": "AAAAAAFyWxlJDT9Xayc="
+ },
+ "lineStyle": 1,
+ "points": "872:185;975:187",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAFydM5ElLEn6zY="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAFydM5ElLEoM64="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAFydM5ElLEp2pI="
+ }
+ },
+ {
+ "_type": "UMLUseCaseView",
+ "_id": "AAAAAAFydM5eyLHMe94=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRGz007euQQ="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAFydM5eyLHNB08=",
+ "_parent": {
+ "$ref": "AAAAAAFydM5eyLHMe94="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFydM5eyLHO+0I=",
+ "_parent": {
+ "$ref": "AAAAAAFydM5eyLHNB08="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 393,
+ "top": -33,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFydM5eyLHPX0U=",
+ "_parent": {
+ "$ref": "AAAAAAFydM5eyLHNB08="
+ },
+ "font": "Arial;13;1",
+ "left": 984.5,
+ "top": 295.5,
+ "width": 81,
+ "height": 13,
+ "text": "Modes de jeu"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFydM5eyLHQTA8=",
+ "_parent": {
+ "$ref": "AAAAAAFydM5eyLHNB08="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 393,
+ "top": -33,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAFydM5eyLHR3XM=",
+ "_parent": {
+ "$ref": "AAAAAAFydM5eyLHNB08="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 393,
+ "top": -33,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 979.5,
+ "top": 288.5,
+ "width": 92.34814453125,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAFydM5eyLHO+0I="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAFydM5eyLHPX0U="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAFydM5eyLHQTA8="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAFydM5eyLHR3XM="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAFydM5eyLHSPcc=",
+ "_parent": {
+ "$ref": "AAAAAAFydM5eyLHMe94="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 24,
+ "top": 128,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAFydM5eyLHTiqk=",
+ "_parent": {
+ "$ref": "AAAAAAFydM5eyLHMe94="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 24,
+ "top": 128,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAFydM5eyLHUJuE=",
+ "_parent": {
+ "$ref": "AAAAAAFydM5eyLHMe94="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 24,
+ "top": 128,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAFydM5eyLHVM+s=",
+ "_parent": {
+ "$ref": "AAAAAAFydM5eyLHMe94="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 24,
+ "top": 128,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLExtensionPointCompartmentView",
+ "_id": "AAAAAAFydM5eyLHW9as=",
+ "_parent": {
+ "$ref": "AAAAAAFydM5eyLHMe94="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 24,
+ "top": 128,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 960,
+ "top": 272,
+ "width": 130,
+ "height": 59,
+ "nameCompartment": {
+ "$ref": "AAAAAAFydM5eyLHNB08="
+ },
+ "suppressAttributes": true,
+ "suppressOperations": true,
+ "attributeCompartment": {
+ "$ref": "AAAAAAFydM5eyLHSPcc="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAFydM5eyLHTiqk="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAFydM5eyLHUJuE="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAFydM5eyLHVM+s="
+ },
+ "extensionPointCompartment": {
+ "$ref": "AAAAAAFydM5eyLHW9as="
+ }
+ },
+ {
+ "_type": "UMLExtendView",
+ "_id": "AAAAAAFydM57o7JyFjI=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRGz007euQQ="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM57o7Jw2Bk="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFydM57o7JzxKQ=",
+ "_parent": {
+ "$ref": "AAAAAAFydM57o7JyFjI="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM57o7Jw2Bk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 916,
+ "top": 278,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAFydM57o7JyFjI="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFydM57o7J0g+U=",
+ "_parent": {
+ "$ref": "AAAAAAFydM57o7JyFjI="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM57o7Jw2Bk="
+ },
+ "font": "Arial;13;0",
+ "left": 890,
+ "top": 263,
+ "width": 53.49169921875,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAFydM57o7JyFjI="
+ },
+ "edgePosition": 1,
+ "text": "«extend»"
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAFydM57o7J1FnM=",
+ "_parent": {
+ "$ref": "AAAAAAFydM57o7JyFjI="
+ },
+ "model": {
+ "$ref": "AAAAAAFydM57o7Jw2Bk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 915,
+ "top": 307,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAFydM57o7JyFjI="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAFydM5eyLHMe94="
+ },
+ "tail": {
+ "$ref": "AAAAAAFydMz5n6xUR/4="
+ },
+ "lineStyle": 1,
+ "points": "873:298;959:300",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAFydM57o7JzxKQ="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAFydM57o7J0g+U="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAFydM57o7J1FnM="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLActor",
+ "_id": "AAAAAAFnaRJsqE8RSDc=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Joueur",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAFnaRlfYFBP0QA=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRJsqE8RSDc="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAFnaRlfYFBQ5rY=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRlfYFBP0QA="
+ },
+ "reference": {
+ "$ref": "AAAAAAFnaRJsqE8RSDc="
+ },
+ "navigable": false
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAFnaRlfYFBRjMQ=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRlfYFBP0QA="
+ },
+ "reference": {
+ "$ref": "AAAAAAFnaRUgwk9cdIs="
+ }
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAFnaRskzFN73lw=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRJsqE8RSDc="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAFnaRskzFN8ep0=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRskzFN73lw="
+ },
+ "reference": {
+ "$ref": "AAAAAAFnaRJsqE8RSDc="
+ },
+ "navigable": false
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAFnaRskzFN9Cu0=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRskzFN73lw="
+ },
+ "reference": {
+ "$ref": "AAAAAAFnaRqEY1H7/Q4="
+ }
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAFvj47K9ezixgo=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRJsqE8RSDc="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAFvj47K9ezjJo8=",
+ "_parent": {
+ "$ref": "AAAAAAFvj47K9ezixgo="
+ },
+ "reference": {
+ "$ref": "AAAAAAFnaRJsqE8RSDc="
+ },
+ "navigable": false
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAFvj47K9ezkntc=",
+ "_parent": {
+ "$ref": "AAAAAAFvj47K9ezixgo="
+ },
+ "reference": {
+ "$ref": "AAAAAAFvj45DOOnPxuQ="
+ }
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLUseCaseSubject",
+ "_id": "AAAAAAFnaRPsHk8+JIc=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Hyper-Set"
+ },
+ {
+ "_type": "UMLUseCase",
+ "_id": "AAAAAAFnaRUgwk9cdIs=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Jouer",
+ "ownedElements": [
+ {
+ "_type": "UMLExtend",
+ "_id": "AAAAAAFyWxlvqD/Co3g=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRUgwk9cdIs="
+ },
+ "source": {
+ "$ref": "AAAAAAFnaRUgwk9cdIs="
+ },
+ "target": {
+ "$ref": "AAAAAAFyWxlJDD9Vi38="
+ }
+ },
+ {
+ "_type": "UMLExtend",
+ "_id": "AAAAAAFydMzaL6unjlc=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRUgwk9cdIs="
+ },
+ "source": {
+ "$ref": "AAAAAAFnaRUgwk9cdIs="
+ },
+ "target": {
+ "$ref": "AAAAAAFyWxlJDD9Vi38="
+ }
+ },
+ {
+ "_type": "UMLExtend",
+ "_id": "AAAAAAFydM1THq25qrE=",
+ "_parent": {
+ "$ref": "AAAAAAFnaRUgwk9cdIs="
+ },
+ "source": {
+ "$ref": "AAAAAAFnaRUgwk9cdIs="
+ },
+ "target": {
+ "$ref": "AAAAAAFydMz5n6xSOiY="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLUseCase",
+ "_id": "AAAAAAFnaRqEY1H7/Q4=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Voir les Scores"
+ },
+ {
+ "_type": "UMLUseCase",
+ "_id": "AAAAAAFvj45DOOnPxuQ=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Option"
+ },
+ {
+ "_type": "UMLUseCase",
+ "_id": "AAAAAAFyWxlJDD9Vi38=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Set",
+ "ownedElements": [
+ {
+ "_type": "UMLExtend",
+ "_id": "AAAAAAFydM5ElLEkOVU=",
+ "_parent": {
+ "$ref": "AAAAAAFyWxlJDD9Vi38="
+ },
+ "source": {
+ "$ref": "AAAAAAFyWxlJDD9Vi38="
+ },
+ "target": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLUseCase",
+ "_id": "AAAAAAFydMz5n6xSOiY=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "HyperSet",
+ "ownedElements": [
+ {
+ "_type": "UMLExtend",
+ "_id": "AAAAAAFydM57o7Jw2Bk=",
+ "_parent": {
+ "$ref": "AAAAAAFydMz5n6xSOiY="
+ },
+ "source": {
+ "$ref": "AAAAAAFydMz5n6xSOiY="
+ },
+ "target": {
+ "$ref": "AAAAAAFydM4GkrBIICE="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLUseCase",
+ "_id": "AAAAAAFydM4GkrBIICE=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Modes de jeu"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/HyperSet/Documentation/Sketchs HyperSet.bmpr b/HyperSet/Documentation/Sketchs HyperSet.bmpr
new file mode 100644
index 0000000..9192d45
Binary files /dev/null and b/HyperSet/Documentation/Sketchs HyperSet.bmpr differ
diff --git a/HyperSet/Documentation/Use_Case_Diagram_HyperSet.png b/HyperSet/Documentation/Use_Case_Diagram_HyperSet.png
new file mode 100644
index 0000000..8b23d25
Binary files /dev/null and b/HyperSet/Documentation/Use_Case_Diagram_HyperSet.png differ
diff --git a/HyperSet/Documentation/sketchsHyperSet .png b/HyperSet/Documentation/sketchsHyperSet .png
new file mode 100644
index 0000000..db3c9f3
Binary files /dev/null and b/HyperSet/Documentation/sketchsHyperSet .png differ
diff --git a/HyperSet/bdd/hyperSet.sql b/HyperSet/bdd/hyperSet.sql
new file mode 100644
index 0000000..4dc06d3
--- /dev/null
+++ b/HyperSet/bdd/hyperSet.sql
@@ -0,0 +1,6 @@
+PRAGMA foreign_keys=OFF;
+BEGIN TRANSACTION;
+CREATE TABLE HighScore ( id int PRIMARY KEY, pseudo varchar2(50) NOT NULL, score int NOT NULL);
+INSERT INTO HighScore VALUES(2,'Jack',80);
+INSERT INTO HighScore VALUES(1,'redko',100);
+COMMIT;
diff --git a/HyperSet/bdd/hyperset.db b/HyperSet/bdd/hyperset.db
new file mode 100644
index 0000000..6e09f8f
Binary files /dev/null and b/HyperSet/bdd/hyperset.db differ
diff --git a/HyperSet/site/config/Autoload.php b/HyperSet/site/config/Autoload.php
new file mode 100644
index 0000000..bfe52ac
--- /dev/null
+++ b/HyperSet/site/config/Autoload.php
@@ -0,0 +1,51 @@
+
\ No newline at end of file
diff --git a/HyperSet/site/config/config.php b/HyperSet/site/config/config.php
new file mode 100644
index 0000000..8d13e85
--- /dev/null
+++ b/HyperSet/site/config/config.php
@@ -0,0 +1,21 @@
+
\ No newline at end of file
diff --git a/HyperSet/site/controllers/Controlleur.php b/HyperSet/site/controllers/Controlleur.php
new file mode 100644
index 0000000..c8f4cd6
--- /dev/null
+++ b/HyperSet/site/controllers/Controlleur.php
@@ -0,0 +1,89 @@
+homePage();
+ break;
+ case "deal":
+ $this->game();
+ break;
+ case "VoirScore":
+ $this->afficherScore();
+ break;
+ case "Option":
+ $this->optionDeJeu();
+ break;
+ default:
+ $dVueEreur[] = "Erreur d'appel php";
+ require ($rep.$vues['error']);
+ break;
+ }
+
+ } catch (PDOException $e)
+ {
+ echo $e->getMessage();
+ $dVueEreur[] = "Erreur inattendue PDO!!! ";
+ require ($rep.$vues['error']);
+
+ }
+ catch (Exception $e2)
+ {
+ $dVueEreur[] = "Erreur inattendue!!! ";
+ require ($rep.$vues['error']);
+ }
+ }
+
+ public function homePage(){
+ global $vues, $rep;
+
+ require($rep . $vues['homePage']);
+ }
+
+ public function game(){
+ global $vues, $rep;
+
+
+ if (isset($_GET['action']) && $_GET['action'] == 'deal') {
+
+ $_SESSION['deck'] = new Deck($_GET['action']);
+ $_SESSION['game'] = new Game($_SESSION['deck']);
+ $game = $_SESSION['game'];
+ echo json_encode($game->start());
+ }else if (isset($_GET['action']) && $_GET['action'] == 'submit'){
+ $deck = $_SESSION['deck'];
+ echo json_encode($deck->threeMore());
+ }
+ require ($rep.$vues['jeu']);
+
+ }
+
+
+
+
+ public function afficherScore()
+ {
+ global $vues, $rep;
+ $listPlayer = new ModelPlayer();
+ try {
+
+ //$listP = $listPlayer->getScores();
+
+ } catch (Exception $e)
+ {
+ $listP = array("error" => $e->getMessage());
+ }
+
+ require($rep . $vues['score']);
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/HyperSet/site/index.html b/HyperSet/site/index.html
new file mode 100644
index 0000000..8155c9a
--- /dev/null
+++ b/HyperSet/site/index.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Set
+
+
+
+HyperSet
+
+
+
+
+
+
\ No newline at end of file
diff --git a/HyperSet/site/metiers/card.php b/HyperSet/site/metiers/card.php
new file mode 100644
index 0000000..f048680
--- /dev/null
+++ b/HyperSet/site/metiers/card.php
@@ -0,0 +1,18 @@
+ $value) {
+ $this->{$attribute} = $value;
+ }
+
+ $deck->cards[] = $this;
+ }
+}
\ No newline at end of file
diff --git a/HyperSet/site/metiers/cardAttributes.php b/HyperSet/site/metiers/cardAttributes.php
new file mode 100644
index 0000000..6b2679c
--- /dev/null
+++ b/HyperSet/site/metiers/cardAttributes.php
@@ -0,0 +1,17 @@
+color = $color;
+ $this->shape = $shape;
+ $this->fill = $fill;
+ $this->number = $number;
+ $this->id = $id;
+}
+}
\ No newline at end of file
diff --git a/HyperSet/site/metiers/deck.php b/HyperSet/site/metiers/deck.php
new file mode 100644
index 0000000..8c41869
--- /dev/null
+++ b/HyperSet/site/metiers/deck.php
@@ -0,0 +1,69 @@
+createDeck($changes);
+ }
+
+ private function createDeck($changes)
+ {
+ $colors = [];
+
+ if ($changes === 'deal') {
+ $colors = array('green', 'red', 'purple');
+ }elseif ($changes === 'deal1') {
+ $colors = array('yellow', 'blue', 'gray');
+ }
+
+
+
+ $shapes = array('oval', 'diamond', 'wave');
+ $fills = array('filled', 'shaded', 'empty');
+ $numbers = array(1, 2, 3);
+
+ $index = 1;
+
+ foreach ($colors as $color) {
+ foreach ($shapes as $shape) {
+ foreach ($fills as $fill) {
+ foreach ($numbers as $number) {
+ $cardAttributes = new CardAttributes($color, $shape, $fill, $number, $index);
+ $card = new Card($cardAttributes, $this);
+ $index++;
+ }
+ }
+ }
+
+ }
+ }
+ public function removeSet($cards) {
+
+ }
+
+ private function shuffle() {
+ shuffle($this->cards);
+ }
+
+
+
+ public function deal() {
+ // shuffle the deck
+ $this->shuffle();
+
+ // remove 12 cards from the top and return them
+ $dealtCards = array_chop($this->cards, 12);
+ return $dealtCards;
+ }
+
+ public function threeMore() {
+ return array_chop($this->cards, 3);
+ }
+
+}
\ No newline at end of file
diff --git a/HyperSet/site/metiers/functions.php b/HyperSet/site/metiers/functions.php
new file mode 100644
index 0000000..e32db6d
--- /dev/null
+++ b/HyperSet/site/metiers/functions.php
@@ -0,0 +1,7 @@
+deck = $deck;
+ }
+
+ public function start() {
+
+ // call the deck's deal function and return the cards dealt
+ return $this->deck->deal();
+
+ }
+}
\ No newline at end of file
diff --git a/HyperSet/site/metiers/player.php b/HyperSet/site/metiers/player.php
new file mode 100644
index 0000000..a785c06
--- /dev/null
+++ b/HyperSet/site/metiers/player.php
@@ -0,0 +1,14 @@
+score += $points;
+}
+}
\ No newline at end of file
diff --git a/HyperSet/site/set.html b/HyperSet/site/set.html
new file mode 100644
index 0000000..93701c1
--- /dev/null
+++ b/HyperSet/site/set.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+ Set
+
+
+
+
+
+
RÉGLAGES COULEURS 0
+
+
+
+
+
(TEST) Set
+
Find sets.
+
Sets found: 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/HyperSet/site/set.php b/HyperSet/site/set.php
new file mode 100644
index 0000000..a7fc3cd
--- /dev/null
+++ b/HyperSet/site/set.php
@@ -0,0 +1,24 @@
+start());
+} else if (isset($_GET['action']) && $_GET['action'] == 'deal1') {
+ $_SESSION['deck'] = new Deck($_GET['action']);
+ $_SESSION['game'] = new Game($_SESSION['deck']);
+ $game = $_SESSION['game'];
+ echo json_encode($game->start());
+
+}else if (isset($_GET['action']) && $_GET['action'] == 'submit'){
+ $deck = $_SESSION['deck'];
+ echo json_encode($deck->threeMore());
+}
diff --git a/HyperSet/site/vues/VoirScore.php b/HyperSet/site/vues/VoirScore.php
new file mode 100644
index 0000000..b3d9bbc
--- /dev/null
+++ b/HyperSet/site/vues/VoirScore.php
@@ -0,0 +1 @@
+';
+ font: 17px "Consolas", monospace;
+ color: #393939;
+ -webkit-transform: rotate(90deg);
+ -moz-transform: rotate(90deg);
+ -ms-transform: rotate(90deg);
+ transform: rotate(90deg);
+ right: 11px;
+ margin-top: 14%;
+ padding: 0 0 2px;
+ border-bottom: 1px solid #999;
+ position: absolute;
+ pointer-events: none;
+}
diff --git a/HyperSet/site/vues/css/style.css b/HyperSet/site/vues/css/style.css
new file mode 100644
index 0000000..392c428
--- /dev/null
+++ b/HyperSet/site/vues/css/style.css
@@ -0,0 +1,100 @@
+* {
+ box-sizing: border-box;
+}
+
+body {
+ font-family: Arial, sans-serif;
+ text-align: center;
+}
+
+h1 {
+ font-size: 40px;
+}
+
+.submit {
+ margin-top: 2em;
+ font-size: 16px;
+ padding: 1em 3em;
+ background: #BADA55;
+ color: #000;
+}
+
+.submit:disabled {
+ background: #C5DA83;
+ color: #666;
+}
+
+.wrapper {
+ width: 1080px;
+ margin: 0 auto;
+}
+
+.card {
+ display: inline-block;
+ width: 245px;
+ margin-right: 5px;
+ height: 200px;
+ border: 2px solid #ccc;
+}
+.card:hover {
+ border-color: #e2e2e2;
+}
+
+.selected {
+ background: #eee;
+}
+
+.game-board {
+ width: 1000px;
+ margin: 0 auto;
+}
+
+.shape {
+ display: inline-block;
+ width: 70px;
+ height: 200px;
+ -webkit-mask-repeat: no-repeat;
+ -webkit-mask-position: 15px;
+}
+
+.diamond {
+ clip-path: polygon(50% 15%, 100% 50%, 50% 85%, 0% 50%);
+}
+
+
+
+.wave {
+ /*clip-path: polygon(5% 34%, 5% 20%, 79% 21%, 66% 61%, 98% 60%, 97% 73%, 19% 74%, 37% 34%);*/
+ -moz-transform: skew(-30deg, 0deg);
+ -webkit-transform: skew(-30deg, 0deg);
+ -o-transform: skew(-30deg, 0deg);
+ -ms-transform: skew(-30deg, 0deg);
+ transform: skew(-30deg, 0deg);
+}
+
+
+.oval {
+ clip-path: ellipse(40% 30% at 50% 50%);}
+
+.green {
+ background: green;
+}
+
+
+.yellow {
+ background: yellow;
+}
+.gray {
+ background: gray;
+}
+.blue {
+ background: blue;
+}
+.red {
+ background: red;
+}
+.purple {
+ background: violet;
+}
+
+/*solution pour avoir l'image en rainure ou vide a voir dans le css*/
\ No newline at end of file
diff --git a/HyperSet/site/vues/js/Settings.js b/HyperSet/site/vues/js/Settings.js
new file mode 100644
index 0000000..4f994a8
--- /dev/null
+++ b/HyperSet/site/vues/js/Settings.js
@@ -0,0 +1,38 @@
+var color = 'normal';
+var nb = 0;
+
+function changeColorMode() {
+ let selectColor = document.getElementById('color-selector');
+ selectColor.addEventListener('change', function() {
+ var index = selectColor.selectedIndex;
+ // Rapporter cette donnée au
+ if (index != null){
+ nb= index;
+ }
+
+ })
+ /* if(color !== selectColor.value){
+ color = selectColor.value;
+ }*/
+ return nb;
+
+}
+
+
+console.log(nb);
+/*var nb = 0;
+
+let selectColor = document.getElementById('color-selector');
+
+selectColor.addEventListener('change', function() {
+ var index = selectColor.selectedIndex;
+ // Rapporter cette donnée au
+ if (index != null){
+ nb= index;
+ }
+
+})
+
+
+
+ */
\ No newline at end of file
diff --git a/HyperSet/site/vues/js/set.js b/HyperSet/site/vues/js/set.js
new file mode 100644
index 0000000..0277083
--- /dev/null
+++ b/HyperSet/site/vues/js/set.js
@@ -0,0 +1,228 @@
+var colorr = changeColorMode();
+
+
+var Game = {
+ cards: [],
+ selected: [],
+ score: 0,
+ $board: $('[data-display="game-board"]'),
+ $score: $('[data-display="score"]'),
+
+
+
+ deal: function() {
+ var self = this;
+ if (colorr === 0 || colorr === null) {
+ // ajax request to get initial set of cards
+ var dealRequest = $.ajax({
+ url: 'set.php?action=deal',
+ type: 'GET',
+ dataType: 'json',
+ success: function(data) {
+ self.cards = data;
+ self.displayCards.call(self);
+ self.setCardListeners();
+ self.setPageListeners();
+ }
+ });
+ }else if (colorr === 1){
+ var dealRequest1 = $.ajax({
+ url: 'set.php?action=deal1',
+ type: 'GET',
+ dataType: 'json',
+ success: function(data) {
+ self.cards = data;
+ self.displayCards.call(self);
+ self.setCardListeners();
+ self.setPageListeners();
+ }
+ });
+ }
+
+
+
+
+ },
+
+ displayCards: function() {
+ var self = this;
+
+ $.each(this.cards, function(index, card){
+ var cardNode = $('
');
+ cardNode.addClass('card');
+ $(cardNode).data({
+ 'id': card.id,
+ 'shape': card.shape,
+ 'color': card.color,
+ 'number': card.number
+ });
+
+ var shapeNode = $('
');
+ shapeNode.addClass('shape ' + card.color + ' ' + card.shape + ' ' + card.fill);
+
+
+ for (var i = 0; i < card.number; i++) {
+ cardNode.append(shapeNode.clone());
+ }
+ self.$board.append(cardNode);
+
+ // display 4 cards per row
+ if ((index+1) % 4 === 0) {
+ self.$board.append($(''));
+ }
+ });
+ },
+
+ setCardListeners: function() {
+ var self = this;
+
+ // what happens when a card is clicked:
+ this.$board.on('click', '.card', function(e) {
+ e.stopImmediatePropagation();
+ var card = e.currentTarget;
+
+ // if card is new, add it, otherwise remove it
+ var ids = $.map(self.selected, function(el) { return $(el).data("id");});
+ if (ids.indexOf($(card).data('id')) >= 0) {
+ self.deselectCard(card);
+ } else {
+ self.selectCard(card);
+ }
+
+ if (self.selected.length === 3) {
+ self.silentSubmission();
+ }
+ });
+ },
+
+ setPageListeners: function() {
+ var self = this;
+
+ // if the user clicks on the page outside the game board, clear selected
+ $(document).on('click', function() {
+ self.clearSelections.call(self);
+ });
+ },
+
+ selectCard: function(card) {
+ $(card).addClass('selected');
+ this.selected.push(card);
+
+ if (this.selected.length > 3) {
+ var removed = this.selected.shift();
+ $(removed).removeClass('selected');
+ }
+
+ },
+
+ deselectCard: function(card) {
+ var self = this;
+ var index = self.selected.indexOf(card);
+ if (index > -1) {
+ self.selected.splice(index, 1);
+ }
+ $(card).removeClass('selected');
+ },
+
+ clearSelections: function() {
+ $.each(this.selected, function(index, card) {
+ $(card).removeClass('selected');
+ });
+ this.selected = [];
+ },
+
+ validateSet: function() {
+ var self = this;
+
+ var colors = $.map(self.selected, function(el) { return $(el).data("color");});
+ var shapes = $.map(self.selected, function(el) { return $(el).data("shape"); });
+ var numbers = $.map(self.selected, function(el) { return $(el).data("number"); });
+
+
+ return (self.isSet(colors) && self.isSet(shapes) && self.isSet(numbers));
+ },
+
+ isSet: function(arr) {
+ // a set means the attributes are either all the same or all different
+ var reduced = $.unique(arr);
+ return (reduced.length === 1 || reduced.length === 3);
+ },
+
+ silentSubmission: function() {
+ var valid = this.validateSet();
+ if (valid) {
+ this.submitSet();
+ }
+ },
+
+ submitSet: function() {
+ var self = this;
+ var ids = $.map(self.selected, function(el) { return $(el).data("id");});
+
+ // ajax request to get initial set of cards
+ var newCardRequest = $.ajax({
+ url: 'set.php?action=submit',
+ type: 'GET',
+ dataType: 'json',
+ success: function(data) {
+ self.clearCards(ids);
+ // to do - implement game complete check on server
+ if (!data.gameComplete) {
+ self.updateCards(data);
+ self.increaseScore();
+ } else {
+ self.gameWon();
+ }
+ },
+ error: function() {
+ console.log(arguments);
+ }
+ });
+
+ this.clearSelections();
+ },
+
+ clearCards: function(ids) {
+ // remove submitted cards game's card array and clear the board
+ var self = this;
+ this.selected = [];
+ this.$board.empty();
+ var cardIds = $.map(self.cards, function(card) { return card.id; });
+ $.each(ids, function(idx, id) {
+ var location = cardIds.indexOf(id);
+ if (location > -1) {
+ cardIds.splice(location, 1);
+ self.cards.splice(location, 1);
+ }
+ });
+ },
+
+ updateCards: function(newCards) {
+ this.cards = this.cards.concat(newCards);
+ this.displayCards();
+ },
+
+ increaseScore: function() {
+ this.$score.html(++this.score);
+ },
+
+ startRound: function() {
+ // todo
+ // reset timer to 30 seconds
+ },
+
+ gameWon: function() {
+ alert("you won!");
+ },
+
+ gameLost: function() {
+ alert("you lost :(");
+ }
+
+
+
+};
+
+
+$(document).ready(Game.deal());
+
diff --git a/HyperSet/site/vues/settings.php b/HyperSet/site/vues/settings.php
new file mode 100644
index 0000000..0c1d4fc
--- /dev/null
+++ b/HyperSet/site/vues/settings.php
@@ -0,0 +1,33 @@
+
+
+
+
+