Correction du problème d'édition de l'action Condition - Création de la classe Team dans le but de créer des équipes de robot - Modification des fichiers json pour intégrer les équipes - Intégration des équipes dans le fonctionnement du jeu

master
clmaisonha 5 years ago
parent 2c5c939af5
commit 5983ce37bb

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +1 @@
{"enemyVisible":true,"bonusVisible":true,"robotRandomPosition":true,"tree":{"type":"waria","lRect":[{"type":"move","option":[true,false]},{"type":"attack","option":[0.3333333333333333]},{"type":"condition","option":[true,true,false,0.3333333333333333,0],"lRect":[{"type":"move","option":[false,true]},{"type":"attack","option":[1]}]},{"type":"move","option":[true,true]}]},"initStat":{"lBar":[{"value":2,"valueMax":5,"color":16711680,"colorMin":16711680},{"value":3,"valueMax":5,"color":8323327,"colorMin":8323327},{"value":3,"valueMax":5,"color":255,"colorMin":255},{"value":2,"valueMax":5,"color":32768,"colorMin":32768}],"lText":[["DAMAGE","DEGATS"],["R.S","RECHARGEMENT"],["SPEED","VITESSE"],["RANGE","PORTEE"]]},"robots":[{"height":0.1,"width":0.1,"x":0.9,"y":0.9,"name":"myself","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[]},{"height":0.1,"width":0.1,"x":0.1,"y":0.1,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]},{"height":0.1,"width":0.1,"x":0.1,"y":0.9,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}],"lBonus":[{"style":"shield","number":0,"x":0.5,"y":0.5}]} {"enemyVisible":true,"bonusVisible":true,"robotRandomPosition":true,"tree":{"type":"waria","lRect":[{"type":"move","option":[true,false]},{"type":"attack","option":[0.3333333333333333]},{"type":"condition","option":[true,true,false,0.3333333333333333,0],"lRect":[{"type":"move","option":[false,true]},{"type":"attack","option":[1]}]},{"type":"move","option":[true,true]}]},"initStat":{"lBar":[{"value":2,"valueMax":5,"color":16711680,"colorMin":16711680},{"value":3,"valueMax":5,"color":8323327,"colorMin":8323327},{"value":3,"valueMax":5,"color":255,"colorMin":255},{"value":2,"valueMax":5,"color":32768,"colorMin":32768}],"lText":[["DAMAGE","DEGATS"],["R.S","RECHARGEMENT"],["SPEED","VITESSE"],["RANGE","PORTEE"]]},"listTeam":[{"name":"enemyTeam","robots":[{"height":0.1,"width":0.1,"x":0.1,"y":0.1,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}]},{"name":"myTeam","robots":[{"height":0.1,"width":0.1,"x":0.9,"y":0.9,"name":"myself","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[]}]}],"lBonus":[{"style":"shield","number":0,"x":0.5,"y":0.5}]}

@ -1 +1 @@
{"enemyVisible":false,"bonusVisible":true,"robotRandomPosition":true,"tree":{"type":"waria","lRect":[{"type":"condition","option":[true,true,false,0.3333333333333333,0],"lRect":[{"type":"move","option":[true,false,"speed"]}]},{"type":"attack","option":[0.3333333333333333]},{"type":"move","option":[true,true]}]},"initStat":{"lBar":[{"value":0,"valueMax":5,"color":16711680,"colorMin":16711680},{"value":0,"valueMax":5,"color":8323327,"colorMin":8323327},{"value":5,"valueMax":5,"color":255,"colorMin":255},{"value":5,"valueMax":5,"color":32768,"colorMin":32768}],"lText":[["DAMAGE","DEGATS"],["R.S","RECHARGEMENT"],["SPEED","VITESSE"],["RANGE","PORTEE"]]},"robots":[{"height":0.1,"width":0.1,"x":0.9,"y":0.9,"name":"myself","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[]},{"height":0.1,"width":0.1,"x":0.1,"y":0.1,"name":"enemy","speed":1,"speedReload":1,"range":5,"damage":5,"lNode":[{"name":"attack","option":[]},{"name":"move","option":[true]}]},{"height":0.1,"width":0.1,"x":0.3,"y":0.1,"name":"enemy","speed":1,"speedReload":1,"range":5,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]},{"height":0.1,"width":0.1,"x":0.7,"y":0.1,"name":"enemy","speed":1,"speedReload":1,"range":5,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]},{"height":0.1,"width":0.1,"x":0.5,"y":0.4,"name":"enemy","speed":1,"speedReload":1,"range":5,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]},{"height":0.1,"width":0.1,"x":0.1,"y":0.9,"name":"enemy","speed":1,"speedReload":1,"range":5,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]},{"height":0.1,"width":0.1,"x":0.3,"y":0.7,"name":"enemy","speed":1,"speedReload":1,"range":5,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]},{"height":0.1,"width":0.1,"x":0.9,"y":0.2,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}],"lBonus":[{"style":"speed","number":0,"x":0.5,"y":0.5},{"style":"attack","number":2,"x":0.7,"y":0.7},{"style":"shield","number":0,"x":0.2,"y":0.9},{"style":"shield","number":1,"x":0.8,"y":0.4},{"style":"shield","number":2,"x":0.2,"y":0.2}]} {"enemyVisible":false,"bonusVisible":true,"robotRandomPosition":true,"tree":{"type":"waria","lRect":[{"type":"condition","option":[true,true,false,0.3333333333333333,0],"lRect":[{"type":"move","option":[true,false,"speed"]}]},{"type":"attack","option":[0.3333333333333333]},{"type":"move","option":[true,true]}]},"initStat":{"lBar":[{"value":0,"valueMax":5,"color":16711680,"colorMin":16711680},{"value":0,"valueMax":5,"color":8323327,"colorMin":8323327},{"value":5,"valueMax":5,"color":255,"colorMin":255},{"value":5,"valueMax":5,"color":32768,"colorMin":32768}],"lText":[["DAMAGE","DEGATS"],["R.S","RECHARGEMENT"],["SPEED","VITESSE"],["RANGE","PORTEE"]]},"listTeam":[{"name":"myTeam","robots":[{"height":0.1,"width":0.1,"x":0.9,"y":0.9,"name":"myself","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[]}]},{"name":"enemyTeam","robots":[{"height":0.1,"width":0.1,"x":0.1,"y":0.1,"name":"enemy","speed":1,"speedReload":1,"range":5,"damage":5,"lNode":[{"name":"attack","option":[]},{"name":"move","option":[true]}]}]},{"name":"enemyTeam","robots":[{"height":0.1,"width":0.1,"x":0.3,"y":0.1,"name":"enemy","speed":1,"speedReload":1,"range":5,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}]},{"name":"enemyTeam","robots":[{"height":0.1,"width":0.1,"x":0.7,"y":0.1,"name":"enemy","speed":1,"speedReload":1,"range":5,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}]},{"name":"enemyTeam","robots":[{"height":0.1,"width":0.1,"x":0.5,"y":0.4,"name":"enemy","speed":1,"speedReload":1,"range":5,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}]},{"name":"enemyTeam","robots":[{"height":0.1,"width":0.1,"x":0.1,"y":0.9,"name":"enemy","speed":1,"speedReload":1,"range":5,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}]},{"name":"enemyTeam","robots":[{"height":0.1,"width":0.1,"x":0.3,"y":0.7,"name":"enemy","speed":1,"speedReload":1,"range":5,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}]},{"name":"enemyTeam","robots":[{"height":0.1,"width":0.1,"x":0.9,"y":0.2,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}]}],"lBonus":[{"style":"speed","number":0,"x":0.5,"y":0.5},{"style":"attack","number":2,"x":0.7,"y":0.7},{"style":"shield","number":0,"x":0.2,"y":0.9},{"style":"shield","number":1,"x":0.8,"y":0.4},{"style":"shield","number":2,"x":0.2,"y":0.2}]}

@ -1 +1 @@
{"enemyVisible":false,"bonusVisible":true,"robotRandomPosition":false,"tree":{"type":"waria","lRect":[{"type":"attack","option":[0.3333333333333333]},{"type":"condition","option":[false,false,true,0.3333333333333333,1],"lRect":[{"type":"move","option":[false,true]},{"type":"attack","option":[1]}]},{"type":"move","option":[true,false]},{"type":"move","option":[true,true]}]},"initStat":{"lBar":[{"value":5,"valueMax":5,"color":16711680,"colorMin":16711680},{"value":0,"valueMax":5,"color":8323327,"colorMin":8323327},{"value":0,"valueMax":5,"color":255,"colorMin":255},{"value":5,"valueMax":5,"color":32768,"colorMin":32768}],"lText":[["DAMAGE","DEGATS"],["R.S","RECHARGEMENT"],["SPEED","VITESSE"],["RANGE","PORTEE"]]},"robots":[{"height":0.1,"width":0.1,"x":0.9,"y":0.9,"name":"myself","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[]},{"height":0.1,"width":0.1,"x":0.5,"y":0.1,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]},{"height":0.1,"width":0.1,"x":0.1,"y":0.9,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}],"lBonus":[{"style":"speed","number":0,"x":0.5,"y":0.5}]} {"enemyVisible":false,"bonusVisible":true,"robotRandomPosition":false,"tree":{"type":"waria","lRect":[{"type":"attack","option":[0.3333333333333333]},{"type":"condition","option":[false,false,true,0.3333333333333333,1],"lRect":[{"type":"move","option":[false,true]},{"type":"attack","option":[1]}]},{"type":"move","option":[true,false]},{"type":"move","option":[true,true]}]},"initStat":{"lBar":[{"value":5,"valueMax":5,"color":16711680,"colorMin":16711680},{"value":0,"valueMax":5,"color":8323327,"colorMin":8323327},{"value":0,"valueMax":5,"color":255,"colorMin":255},{"value":5,"valueMax":5,"color":32768,"colorMin":32768}],"lText":[["DAMAGE","DEGATS"],["R.S","RECHARGEMENT"],["SPEED","VITESSE"],["RANGE","PORTEE"]]},"listTeam":[{"name":"myTeam","robots":[{"height":0.1,"width":0.1,"x":0.9,"y":0.9,"name":"myself","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[]},{"height":0.1,"width":0.1,"x":0.3,"y":0.5,"name":"myself","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[]}]},{"name":"enemyTeam","robots":[{"height":0.1,"width":0.1,"x":0.5,"y":0.1,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]},{"height":0.1,"width":0.1,"x":0.1,"y":0.9,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}]}],"lBonus":[{"style":"speed","number":0,"x":0.5,"y":0.5}]}

@ -1 +1 @@
{"tree":{"type":"waria","lRect":[{"type":"condition","option":[false,false,true,0.3333333333333333,1],"lRect":[{"type":"move","option":[false,true]},{"type":"attack","option":[1]}]},{"type":"attack","option":[0.3333333333333333]},{"type":"move","option":[true,false]},{"type":"move","option":[true,true]}]},"initStat":{"lBar":[{"value":5,"valueMax":5,"color":16711680,"colorMin":16711680},{"value":5,"valueMax":5,"color":8323327,"colorMin":8323327},{"value":0,"valueMax":5,"color":255,"colorMin":255},{"value":0,"valueMax":5,"color":32768,"colorMin":32768}],"lText":[["DAMAGE","DEGATS"],["R.S","RECHARGEMENT"],["SPEED","VITESSE"],["RANGE","PORTEE"]]},"robots":[{"height":0.1,"width":0.1,"x":0.9,"y":0.9,"name":"myself","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[]},{"height":0.1,"width":0.1,"x":0.1,"y":0.1,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]},{"height":0.1,"width":0.1,"x":0.3,"y":0.5,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}],"lBonus":[{"style":"speed","number":2,"x":0.5,"y":0.5},{"style":"speed","number":1,"x":0.6,"y":0.9}]} {"tree":{"type":"waria","lRect":[{"type":"condition","option":[false,false,true,0.3333333333333333,1],"lRect":[{"type":"move","option":[false,true]},{"type":"attack","option":[1]}]},{"type":"attack","option":[0.3333333333333333]},{"type":"move","option":[true,false]},{"type":"move","option":[true,true]}]},"initStat":{"lBar":[{"value":5,"valueMax":5,"color":16711680,"colorMin":16711680},{"value":5,"valueMax":5,"color":8323327,"colorMin":8323327},{"value":0,"valueMax":5,"color":255,"colorMin":255},{"value":0,"valueMax":5,"color":32768,"colorMin":32768}],"lText":[["DAMAGE","DEGATS"],["R.S","RECHARGEMENT"],["SPEED","VITESSE"],["RANGE","PORTEE"]]},"listTeam":[{"name":"myTeam","robots":[{"height":0.1,"width":0.1,"x":0.9,"y":0.9,"name":"myself","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[]}]},{"name":"enemyTeam","robots":[{"height":0.1,"width":0.1,"x":0.1,"y":0.1,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}]},{"name":"enemyTeam","robots":[{"height":0.1,"width":0.1,"x":0.3,"y":0.5,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}]}],"lBonus":[{"style":"speed","number":2,"x":0.5,"y":0.5},{"style":"speed","number":1,"x":0.6,"y":0.9}]}

@ -1 +1 @@
{"tree":{"type":"waria","lRect":[{"type":"attack","option":[0.3333333333333333]},{"type":"move","option":[true,false]},{"type":"condition","option":[true,true,false,0.3333333333333333,0],"lRect":[{"type":"move","option":[false,true]},{"type":"attack","option":[1]}]},{"type":"move","option":[true,true]}]},"initStat":{"lBar":[{"value":3,"valueMax":5,"color":16711680,"colorMin":16711680},{"value":2,"valueMax":5,"color":8323327,"colorMin":8323327},{"value":0,"valueMax":5,"color":255,"colorMin":255},{"value":5,"valueMax":5,"color":32768,"colorMin":32768}],"lText":[["DAMAGE","DEGATS"],["R.S","RECHARGEMENT"],["SPEED","VITESSE"],["RANGE","PORTEE"]]},"robots":[{"height":0.1,"width":0.1,"x":0.6,"y":0.6,"name":"myself","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[]},{"height":0.1,"width":0.1,"x":0.1,"y":0.1,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]},{"height":0.1,"width":0.1,"x":0.1,"y":0.9,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}],"lBonus":[{"style":"speed","number":1,"x":0.5,"y":0.5}]} {"tree":{"type":"waria","lRect":[{"type":"attack","option":[0.3333333333333333]},{"type":"move","option":[true,false]},{"type":"condition","option":[true,true,false,0.3333333333333333,0],"lRect":[{"type":"move","option":[false,true]},{"type":"attack","option":[1]}]},{"type":"move","option":[true,true]}]},"initStat":{"lBar":[{"value":3,"valueMax":5,"color":16711680,"colorMin":16711680},{"value":2,"valueMax":5,"color":8323327,"colorMin":8323327},{"value":0,"valueMax":5,"color":255,"colorMin":255},{"value":5,"valueMax":5,"color":32768,"colorMin":32768}],"lText":[["DAMAGE","DEGATS"],["R.S","RECHARGEMENT"],["SPEED","VITESSE"],["RANGE","PORTEE"]]},"listTeam":[{"name":"myTeam","robots":[{"height":0.1,"width":0.1,"x":0.6,"y":0.6,"name":"myself","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[]}]},{"name":"enemyTeam","robots":[{"height":0.1,"width":0.1,"x":0.1,"y":0.1,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}]},{"name":"enemyTeam","robots":[{"height":0.1,"width":0.1,"x":0.1,"y":0.9,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"condition","option":[true,true,false,0.5,0],"lNode":[{"name":"move","option":[false]}]},{"name":"attack","option":[]},{"name":"move","option":[true]}]}]}],"lBonus":[{"style":"speed","number":1,"x":0.5,"y":0.5}]}

@ -1,7 +1,7 @@
class AddAttack extends AddNode { class AddAttack extends AddNode {
constructor(father, game, selected, add = true) { constructor(father, game, selected, add = true) {
if (!add) { if (!add) {
super(father, game, selected, [false, selected.node.percentRange]); super(father, game, selected, false, selected.node.percentRange);
} else { } else {
super(father, game, selected); super(father, game, selected);
} }

@ -2,9 +2,9 @@ class AddCondition extends AddNode {
constructor(father, game, selected, add = true) { constructor(father, game, selected, add = true) {
if (!add) { if (!add) {
if (selected.node.shieldFilter) { if (selected.node.shieldFilter) {
super(father, game, selected, [selected.node.shield, 'shield']); super(father, game, selected, selected.node.myself, [selected.node.shield, 'shield']);
} else { } else {
super(father, game, selected, [selected.node.shield, 'range']); super(father, game, selected, selected.node.myself, [selected.node.range, 'range']);
} }
} else { } else {
super(father, game, selected); super(father, game, selected);

@ -1,7 +1,7 @@
class AddMove extends AddNode { class AddMove extends AddNode {
constructor(father, game, selected, add = true) { constructor(father, game, selected, add = true) {
if (!add) { if (!add) {
super(father, game, selected, [selected.node.toward, selected.node.enemyBot, selected.node.typeBonus]); super(father, game, selected, selected.node.toward, selected.node.enemyBot, selected.node.typeBonus);
} else { } else {
super(father, game, selected); super(father, game, selected);
} }

@ -42,7 +42,7 @@ class Game extends ManageLang {
let initStat = this.initStat.getJson(true); let initStat = this.initStat.getJson(true);
level.initStat = JSON.parse(initStat); level.initStat = JSON.parse(initStat);
} }
this.loadSave(level.tree, level.initStat, level.robots, level.lBonus, level.robotRandomPosition); this.loadSave(level);
this.gm.setEnemyRobotVisible(level.enemyVisible); this.gm.setEnemyRobotVisible(level.enemyVisible);
this.gm.setBonusVisible(level.bonusVisible); this.gm.setBonusVisible(level.bonusVisible);
@ -81,12 +81,11 @@ class Game extends ManageLang {
this.scene.pause('GamingBoard'); this.scene.pause('GamingBoard');
} }
loadSave(level) {
loadSave(tree, initStat, robot, lBonus, robotRandomPosition) { this.loadBonus(level.lBonus);
this.loadBonus(lBonus); this.loadTeam(level)
this.loadRobot(robot, robotRandomPosition); this.initStat = this.loadInitSave(level.initStat);
this.initStat = this.loadInitSave(initStat); this.tree = this.loadTree(level.tree);
this.tree = this.loadTree(tree);
} }
loadTree(element, posX = CENTERX_TREE, posY = OFFY_TREE / 2) { loadTree(element, posX = CENTERX_TREE, posY = OFFY_TREE / 2) {
@ -123,8 +122,25 @@ class Game extends ManageLang {
return initStat; return initStat;
} }
loadRobot(element = [], randomPosition = false) { loadTeam(level) {
let i = 0; if (level.listTeam !== undefined) {
let init = 0;
level.listTeam.forEach(team => {
init += this.loadT(team.name, team.freeForAll, team.robots, level.robotRandomPosition, init)
});
}
}
loadT(name = MY_TEAM, freeForAll, robots, robotRandomPosition, init = 0) {
let t = new Team(name, freeForAll);
t.listRobot = this.loadRobot(robots, robotRandomPosition, init);
this.gm.addTeam(t);
return t.listRobot.length;
}
loadRobot(element = [], randomPosition = false, init = 0) {
let i = init;
let listRobot = [];
element.forEach(robot => { element.forEach(robot => {
let lNode = []; let lNode = [];
robot.lNode.forEach(node => lNode.push(this.loadNode(node))); robot.lNode.forEach(node => lNode.push(this.loadNode(node)));
@ -138,10 +154,11 @@ class Game extends ManageLang {
robot.y = this.listPositionRobotInit[i].y; robot.y = this.listPositionRobotInit[i].y;
} }
} }
this.gm.addRobot(new Robot(WIDTH_MAP * robot.height, WIDTH_MAP * robot.width, WIDTH_MAP * robot.x, WIDTH_MAP * robot.y, this.gm, robot.name, robot.speed, robot.speedReload, robot.range, robot.damage, lNode)); listRobot.push(new Robot(WIDTH_MAP * robot.height, WIDTH_MAP * robot.width, WIDTH_MAP * robot.x, WIDTH_MAP * robot.y, this.gm, robot.name, robot.speed, robot.speedReload, robot.range, robot.damage, lNode));
i += 1; i += 1;
} }
) )
return listRobot;
} }
loadNode(element) { loadNode(element) {
@ -340,7 +357,7 @@ class Game extends ManageLang {
this.father.scene.add('AddNode', new AddMove(this.father, this, this.selected, false)); this.father.scene.add('AddNode', new AddMove(this.father, this, this.selected, false));
break; break;
case 'condition': case 'condition':
this.father.scene.add('AddNode', new AddCondition(this.father, this, this.selected, this.selected.node.myself, false)); this.father.scene.add('AddNode', new AddCondition(this.father, this, this.selected, false));
break; break;
default: default:
return; return;

@ -1,7 +1,7 @@
class GamingBoard extends Phaser.Scene { class GamingBoard extends Phaser.Scene {
constructor(father) { constructor(father) {
super('GamingBoard'); super('GamingBoard');
this.listRobot = []; this.listTeam = [];
listBonus = []; listBonus = [];
this.father = father; this.father = father;
this.end = false; this.end = false;
@ -26,38 +26,43 @@ class GamingBoard extends Phaser.Scene {
update(time, delta) { update(time, delta) {
super.update(time, delta); super.update(time, delta);
if (!this.end) { if (!this.end) {
this.listRobot.forEach(function (robot) { this.listTeam.forEach(team => team.readAll());
robot.read(); this.listTeam.forEach(team => {
}) if (!team.actualise(this.getEnemyRobotTeam(team))) {
this.listTeam.splice(this.listTeam.indexOf(team, 1));
for (let i = 0; i < this.listRobot.length; i++) {
if (!this.listRobot[i].isAlive()) {
this.listRobot.splice(i, 1);
i -= 1;
} else {
if (!this.listRobot[i].haveTarget()) {
this.listRobot[i].setTarget(chooseTarget(this.listRobot[i], this.listRobot));
}
} }
} });
if (this.getMyRobot() === undefined || this.listRobot.length <= 1) { if (this.getMyTeam() === undefined) {
this.end = true; this.end = true;
this.finish(); this.finish();
} }
} }
} }
getEnemyRobotTeam(team) {
let list = [];
this.listTeam.forEach(element => {
if (team.freeForAll || element !== team) {
list = list.concat(element.getRobots());
}
})
return list;
}
setRobotVisible(boolean = true) { setRobotVisible(boolean = true) {
this.listRobot.forEach(robot => robot.setVisible(boolean)); this.listTeam.forEach(team => team.setRobotVisible(boolean));
} }
setEnemyRobotVisible(boolean = true) { setEnemyRobotVisible(boolean = true) {
let myself = this.getMyRobot(); let myTeam = this.getMyTeam();
this.listRobot.forEach(robot => { this.listTeam.forEach(team => {
if (robot !== myself) if (myTeam !== team) {
robot.setVisible(boolean) team.setRobotVisible(boolean);
}
}); });
} }
setBonusVisible(boolean = true) { setBonusVisible(boolean = true) {
@ -70,7 +75,7 @@ class GamingBoard extends Phaser.Scene {
} }
winner() { winner() {
return this.getMyRobot() !== undefined; return this.getMyTeam() !== undefined;
} }
pause() { pause() {
@ -85,40 +90,37 @@ class GamingBoard extends Phaser.Scene {
this.setBonusVisible(true); this.setBonusVisible(true);
} }
addRobot(robot) { addTeam(team) {
this.listRobot.push(robot); this.listTeam.push(team);
} }
addBonus(bonus) { addBonus(bonus) {
listBonus.push(bonus); listBonus.push(bonus);
} }
modifyNodes(lNodes) { modifyNodes(lNodes) {
let myRobot = this.getMyRobot(); let myTeam = this.getMyTeam();
if (myRobot !== undefined) { if (myTeam !== undefined) {
myRobot.cleanNodes(); myTeam.modifyNodes(lNodes);
lNodes.forEach(element => myRobot.addNode(element));
return true; return true;
} }
return false; return false;
} }
modifyValue(damage, speedReload, speed, range) { modifyValue(damage, speedReload, speed, range) {
let myRobot = this.getMyRobot(); let myTeam = this.getMyTeam();
if (myRobot !== undefined) { if (myTeam !== undefined) {
myRobot.setSpeed(speed); myTeam.modifyValue(damage, speedReload, speed, range);
myRobot.setRange(range);
myRobot.setSpeedReload(speedReload);
myRobot.setDamage(damage);
return true; return true;
} }
return false; return false;
} }
getMyRobot() { getMyTeam() {
for (let i = 0; i < this.listRobot.length; i++) { for (let i = 0; i < this.listTeam.length; i++) {
if (this.listRobot[i].name === MYSELF) { if (this.listTeam[i].name === MY_TEAM) {
return this.listRobot[i]; return this.listTeam[i];
} }
} }
return undefined; return undefined;
@ -126,7 +128,9 @@ class GamingBoard extends Phaser.Scene {
upShield() { upShield() {
this.listRobot.forEach(robot => robot.addShield(SHIELD_PER_SECOND)); this.listTeam.forEach(team => team.listRobot.forEach(robot => {
robot.addShield(SHIELD_PER_SECOND);
}));
this.time.addEvent({delay: 1000 / SPEED_GAME, callback: this.upShield, callbackScope: this}); this.time.addEvent({delay: 1000 / SPEED_GAME, callback: this.upShield, callbackScope: this});
} }

@ -0,0 +1,54 @@
class Team {
constructor(name = "enemy", freeForAll = false) {
this.freeForAll = freeForAll;
this.listRobot = [];
this.name = name;
}
addRobot(robot) {
this.listRobot.push(robot);
}
readAll() {
this.listRobot.forEach(robot => robot.read());
}
getRobots() {
return this.listRobot;
}
actualise(listEnemyRobot = []) {
for (let i = 0; i < this.listRobot.length; i++) {
if (!this.listRobot[i].isAlive()) {
this.listRobot.splice(i, 1);
i -= 1;
} else {
if (!this.listRobot[i].haveTarget()) {
this.listRobot[i].setTarget(chooseTarget(this.listRobot[i], listEnemyRobot));
}
}
}
return this.listRobot.length !== 0;
}
modifyValue(damage, speedReload, speed, range) {
this.listRobot.forEach(robot => {
robot.setSpeed(speed);
robot.setRange(range);
robot.setSpeedReload(speedReload);
robot.setDamage(damage);
});
}
modifyNodes(lNodes) {
this.listRobot.forEach(robot => {
robot.cleanNodes();
lNodes.forEach(node => robot.addNode(node));
});
}
setRobotVisible(boolean) {
this.listRobot.forEach(robot => robot.setVisible(boolean));
}
}

@ -5,6 +5,7 @@ var lSpeedBonus = [];
var lShieldBonus = []; var lShieldBonus = [];
var lAttackBonus = []; var lAttackBonus = [];
const MYSELF = 'myself'; const MYSELF = 'myself';
const MY_TEAM = 'myTeam';
const SHIELD_PER_SECOND = 5; const SHIELD_PER_SECOND = 5;
const COLOR_ATTACK = 0xff0000; const COLOR_ATTACK = 0xff0000;
const COLOR_MOVE = 0x0000ff; const COLOR_MOVE = 0x0000ff;

@ -1,5 +1,5 @@
class AddNode extends Phaser.Scene { class AddNode extends Phaser.Scene {
constructor(father, game, selected, option = []) { constructor(father, game, selected, ...option) {
super('AddNode'); super('AddNode');
this.father = father; this.father = father;
this.gameR = game; this.gameR = game;
@ -9,6 +9,9 @@ class AddNode extends Phaser.Scene {
this.style = {font: sizeText.toString() + 'px stencil', fill: "#e2e2e2"}; this.style = {font: sizeText.toString() + 'px stencil', fill: "#e2e2e2"};
this.heightButton = HEIGHT_WINDOW / 8; this.heightButton = HEIGHT_WINDOW / 8;
this.lastCategory = null; this.lastCategory = null;
if (option === undefined) {
option = [];
}
this.option = option; this.option = option;
} }

@ -27,7 +27,6 @@ class HealthBar {
if (bonus.value > 0) { if (bonus.value > 0) {
this.bonus.push(bonus); this.bonus.push(bonus);
} }
console.log(this.bonus);
this.draw(); this.draw();
} }

@ -98,100 +98,68 @@
] ]
] ]
}, },
"robots": [ "listTeam": [
{ {
"height": 0.1, "name": "enemyTeam",
"width": 0.1, "robots": [
"x": 0.9,
"y": 0.9,
"name": "myself",
"speed": 3,
"speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
]
},
{
"height": 0.1,
"width": 0.1,
"x": 0.1,
"y": 0.1,
"name": "enemy",
"speed": 3,
"speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
{ {
"name": "condition", "height": 0.1,
"option": [ "width": 0.1,
true, "x": 0.1,
true, "y": 0.1,
false, "name": "enemy",
0.5, "speed": 3,
0 "speedReload": 1,
], "range": 3,
"damage": 5,
"lNode": [ "lNode": [
{
"name": "condition",
"option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
]
},
{
"name": "attack",
"option": [
]
},
{ {
"name": "move", "name": "move",
"option": [ "option": [
false true
] ]
} }
] ]
},
{
"name": "attack",
"option": [
]
},
{
"name": "move",
"option": [
true
]
} }
] ]
}, },
{ {
"height": 0.1, "name": "myTeam",
"width": 0.1, "robots": [
"x": 0.1,
"y": 0.9,
"name": "enemy",
"speed": 3,
"speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
{ {
"name": "condition", "height": 0.1,
"option": [ "width": 0.1,
true, "x": 0.9,
true, "y": 0.9,
false, "name": "myself",
0.5, "speed": 3,
0 "speedReload": 1,
], "range": 3,
"damage": 5,
"lNode": [ "lNode": [
{
"name": "move",
"option": [
false
]
}
]
},
{
"name": "attack",
"option": [
]
},
{
"name": "move",
"option": [
true
] ]
} }
] ]

@ -86,293 +86,333 @@
] ]
] ]
}, },
"robots": [ "listTeam": [
{ {
"height": 0.1, "name": "myTeam",
"width": 0.1, "robots": [
"x": 0.9, {
"y": 0.9, "height": 0.1,
"name": "myself", "width": 0.1,
"speed": 3, "x": 0.9,
"speedReload": 1, "y": 0.9,
"range": 3, "name": "myself",
"damage": 5, "speed": 3,
"lNode": [ "speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
]
}
] ]
}, },
{ {
"height": 0.1, "name": "enemyTeam",
"width": 0.1, "robots": [
"x": 0.1,
"y": 0.1,
"name": "enemy",
"speed": 1,
"speedReload": 1,
"range": 5,
"damage": 5,
"lNode": [
{
"name": "attack",
"option": [
]
},
{ {
"name": "move", "height": 0.1,
"option": [ "width": 0.1,
true "x": 0.1,
"y": 0.1,
"name": "enemy",
"speed": 1,
"speedReload": 1,
"range": 5,
"damage": 5,
"lNode": [
{
"name": "attack",
"option": [
]
},
{
"name": "move",
"option": [
true
]
}
] ]
} }
] ]
}, },
{ {
"height": 0.1, "name": "enemyTeam",
"width": 0.1, "robots": [
"x": 0.3,
"y": 0.1,
"name": "enemy",
"speed": 1,
"speedReload": 1,
"range": 5,
"damage": 5,
"lNode": [
{ {
"name": "condition", "height": 0.1,
"option": [ "width": 0.1,
true, "x": 0.3,
true, "y": 0.1,
false, "name": "enemy",
0.5, "speed": 1,
0 "speedReload": 1,
], "range": 5,
"damage": 5,
"lNode": [ "lNode": [
{
"name": "condition",
"option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
]
},
{
"name": "attack",
"option": [
]
},
{ {
"name": "move", "name": "move",
"option": [ "option": [
false true
] ]
} }
] ]
},
{
"name": "attack",
"option": [
]
},
{
"name": "move",
"option": [
true
]
} }
] ]
}, },
{ {
"height": 0.1, "name": "enemyTeam",
"width": 0.1, "robots": [
"x": 0.7,
"y": 0.1,
"name": "enemy",
"speed": 1,
"speedReload": 1,
"range": 5,
"damage": 5,
"lNode": [
{ {
"name": "condition", "height": 0.1,
"option": [ "width": 0.1,
true, "x": 0.7,
true, "y": 0.1,
false, "name": "enemy",
0.5, "speed": 1,
0 "speedReload": 1,
], "range": 5,
"damage": 5,
"lNode": [ "lNode": [
{
"name": "condition",
"option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
]
},
{
"name": "attack",
"option": [
]
},
{ {
"name": "move", "name": "move",
"option": [ "option": [
false true
] ]
} }
] ]
},
{
"name": "attack",
"option": [
]
},
{
"name": "move",
"option": [
true
]
} }
] ]
}, },
{ {
"height": 0.1, "name": "enemyTeam",
"width": 0.1, "robots": [
"x": 0.5,
"y": 0.4,
"name": "enemy",
"speed": 1,
"speedReload": 1,
"range": 5,
"damage": 5,
"lNode": [
{ {
"name": "condition", "height": 0.1,
"option": [ "width": 0.1,
true, "x": 0.5,
true, "y": 0.4,
false, "name": "enemy",
0.5, "speed": 1,
0 "speedReload": 1,
], "range": 5,
"damage": 5,
"lNode": [ "lNode": [
{
"name": "condition",
"option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
]
},
{
"name": "attack",
"option": [
]
},
{ {
"name": "move", "name": "move",
"option": [ "option": [
false true
] ]
} }
] ]
},
{
"name": "attack",
"option": [
]
},
{
"name": "move",
"option": [
true
]
} }
] ]
}, },
{ {
"height": 0.1, "name": "enemyTeam",
"width": 0.1, "robots": [
"x": 0.1,
"y": 0.9,
"name": "enemy",
"speed": 1,
"speedReload": 1,
"range": 5,
"damage": 5,
"lNode": [
{ {
"name": "condition", "height": 0.1,
"option": [ "width": 0.1,
true, "x": 0.1,
true, "y": 0.9,
false, "name": "enemy",
0.5, "speed": 1,
0 "speedReload": 1,
], "range": 5,
"damage": 5,
"lNode": [ "lNode": [
{
"name": "condition",
"option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
]
},
{
"name": "attack",
"option": [
]
},
{ {
"name": "move", "name": "move",
"option": [ "option": [
false true
] ]
} }
] ]
},
{
"name": "attack",
"option": [
]
},
{
"name": "move",
"option": [
true
]
} }
] ]
}, },
{ {
"height": 0.1, "name": "enemyTeam",
"width": 0.1, "robots": [
"x": 0.3,
"y": 0.7,
"name": "enemy",
"speed": 1,
"speedReload": 1,
"range": 5,
"damage": 5,
"lNode": [
{ {
"name": "condition", "height": 0.1,
"option": [ "width": 0.1,
true, "x": 0.3,
true, "y": 0.7,
false, "name": "enemy",
0.5, "speed": 1,
0 "speedReload": 1,
], "range": 5,
"damage": 5,
"lNode": [ "lNode": [
{
"name": "condition",
"option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
]
},
{
"name": "attack",
"option": [
]
},
{ {
"name": "move", "name": "move",
"option": [ "option": [
false true
] ]
} }
] ]
},
{
"name": "attack",
"option": [
]
},
{
"name": "move",
"option": [
true
]
} }
] ]
}, },
{ {
"height": 0.1, "name": "enemyTeam",
"width": 0.1, "robots": [
"x": 0.9,
"y": 0.2,
"name": "enemy",
"speed": 3,
"speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
{ {
"name": "condition", "height": 0.1,
"option": [ "width": 0.1,
true, "x": 0.9,
true, "y": 0.2,
false, "name": "enemy",
0.5, "speed": 3,
0 "speedReload": 1,
], "range": 3,
"damage": 5,
"lNode": [ "lNode": [
{
"name": "condition",
"option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
]
},
{
"name": "attack",
"option": [
]
},
{ {
"name": "move", "name": "move",
"option": [ "option": [
false true
] ]
} }
] ]
},
{
"name": "attack",
"option": [
]
},
{
"name": "move",
"option": [
true
]
} }
] ]
} }

@ -98,100 +98,123 @@
] ]
] ]
}, },
"robots": [ "listTeam": [
{ {
"height": 0.1, "name": "myTeam",
"width": 0.1, "robots": [
"x": 0.9,
"y": 0.9,
"name": "myself",
"speed": 3,
"speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
]
},
{
"height": 0.1,
"width": 0.1,
"x": 0.5,
"y": 0.1,
"name": "enemy",
"speed": 3,
"speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
{ {
"name": "condition", "height": 0.1,
"option": [ "width": 0.1,
true, "x": 0.9,
true, "y": 0.9,
false, "name": "myself",
0.5, "speed": 3,
0 "speedReload": 1,
], "range": 3,
"damage": 5,
"lNode": [ "lNode": [
{
"name": "move",
"option": [
false
]
}
] ]
}, },
{ {
"name": "attack", "height": 0.1,
"option": [ "width": 0.1,
] "x": 0.3,
}, "y": 0.5,
{ "name": "myself",
"name": "move", "speed": 3,
"option": [ "speedReload": 1,
true "range": 3,
"damage": 5,
"lNode": [
] ]
} }
] ]
}, },
{ {
"height": 0.1, "name": "enemyTeam",
"width": 0.1, "robots": [
"x": 0.1,
"y": 0.9,
"name": "enemy",
"speed": 3,
"speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
{ {
"name": "condition", "height": 0.1,
"option": [ "width": 0.1,
true, "x": 0.5,
true, "y": 0.1,
false, "name": "enemy",
0.5, "speed": 3,
0 "speedReload": 1,
], "range": 3,
"damage": 5,
"lNode": [ "lNode": [
{
"name": "condition",
"option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
]
},
{
"name": "attack",
"option": [
]
},
{ {
"name": "move", "name": "move",
"option": [ "option": [
false true
] ]
} }
] ]
}, },
{ {
"name": "attack", "height": 0.1,
"option": [ "width": 0.1,
] "x": 0.1,
}, "y": 0.9,
{ "name": "enemy",
"name": "move", "speed": 3,
"option": [ "speedReload": 1,
true "range": 3,
"damage": 5,
"lNode": [
{
"name": "condition",
"option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
]
},
{
"name": "attack",
"option": [
]
},
{
"name": "move",
"option": [
true
]
}
] ]
} }
] ]

@ -95,101 +95,116 @@
] ]
] ]
}, },
"robots": [ "listTeam": [
{ {
"height": 0.1, "name": "myTeam",
"width": 0.1, "robots": [
"x": 0.9, {
"y": 0.9, "height": 0.1,
"name": "myself", "width": 0.1,
"speed": 3, "x": 0.9,
"speedReload": 1, "y": 0.9,
"range": 3, "name": "myself",
"damage": 5, "speed": 3,
"lNode": [ "speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
]
}
] ]
}, },
{ {
"height": 0.1, "name": "enemyTeam",
"width": 0.1, "robots": [
"x": 0.1,
"y": 0.1,
"name": "enemy",
"speed": 3,
"speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
{ {
"name": "condition", "height": 0.1,
"option": [ "width": 0.1,
true, "x": 0.1,
true, "y": 0.1,
false, "name": "enemy",
0.5, "speed": 3,
0 "speedReload": 1,
], "range": 3,
"damage": 5,
"lNode": [ "lNode": [
{
"name": "condition",
"option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
]
},
{
"name": "attack",
"option": [
]
},
{ {
"name": "move", "name": "move",
"option": [ "option": [
false true
] ]
} }
] ]
},
{
"name": "attack",
"option": [
]
},
{
"name": "move",
"option": [
true
]
} }
] ]
}, },
{ {
"height": 0.1, "name": "enemyTeam",
"width": 0.1, "robots": [
"x": 0.3,
"y": 0.5,
"name": "enemy",
"speed": 3,
"speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
{ {
"name": "condition", "height": 0.1,
"option": [ "width": 0.1,
true, "x": 0.3,
true, "y": 0.5,
false, "name": "enemy",
0.5, "speed": 3,
0 "speedReload": 1,
], "range": 3,
"damage": 5,
"lNode": [ "lNode": [
{
"name": "condition",
"option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
]
},
{
"name": "attack",
"option": [
]
},
{ {
"name": "move", "name": "move",
"option": [ "option": [
false true
] ]
} }
] ]
},
{
"name": "attack",
"option": [
]
},
{
"name": "move",
"option": [
true
]
} }
] ]
} }

@ -95,101 +95,116 @@
] ]
] ]
}, },
"robots": [ "listTeam": [
{ {
"height": 0.1, "name": "myTeam",
"width": 0.1, "robots": [
"x": 0.6, {
"y": 0.6, "height": 0.1,
"name": "myself", "width": 0.1,
"speed": 3, "x": 0.6,
"speedReload": 1, "y": 0.6,
"range": 3, "name": "myself",
"damage": 5, "speed": 3,
"lNode": [ "speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
]
}
] ]
}, },
{ {
"height": 0.1, "name": "enemyTeam",
"width": 0.1, "robots": [
"x": 0.1,
"y": 0.1,
"name": "enemy",
"speed": 3,
"speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
{ {
"name": "condition", "height": 0.1,
"option": [ "width": 0.1,
true, "x": 0.1,
true, "y": 0.1,
false, "name": "enemy",
0.5, "speed": 3,
0 "speedReload": 1,
], "range": 3,
"damage": 5,
"lNode": [ "lNode": [
{
"name": "condition",
"option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
]
},
{
"name": "attack",
"option": [
]
},
{ {
"name": "move", "name": "move",
"option": [ "option": [
false true
] ]
} }
] ]
},
{
"name": "attack",
"option": [
]
},
{
"name": "move",
"option": [
true
]
} }
] ]
}, },
{ {
"height": 0.1, "name": "enemyTeam",
"width": 0.1, "robots": [
"x": 0.1,
"y": 0.9,
"name": "enemy",
"speed": 3,
"speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
{ {
"name": "condition", "height": 0.1,
"option": [ "width": 0.1,
true, "x": 0.1,
true, "y": 0.9,
false, "name": "enemy",
0.5, "speed": 3,
0 "speedReload": 1,
], "range": 3,
"damage": 5,
"lNode": [ "lNode": [
{
"name": "condition",
"option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
]
},
{
"name": "attack",
"option": [
]
},
{ {
"name": "move", "name": "move",
"option": [ "option": [
false true
] ]
} }
] ]
},
{
"name": "attack",
"option": [
]
},
{
"name": "move",
"option": [
true
]
} }
] ]
} }

Loading…
Cancel
Save