Ajout de la possibilité d'incorporer une couleur à une équipe - Modifcation du niveau 2 de Team pour intégerer une troisième équipe + augmenter la diffculté des robots - Ajout de la scène LevelSelect => elle est appelée lorsque l'on sélectionne une catégorie. Elle a pour but de pouvoir sélectionner directement le niveau voulu (lancer directement le niveau 2 sans faire le niveau 1)

master
clmaisonha 5 years ago
parent 1ea0a1fe39
commit 2b50ecdc84

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

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":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}]} {"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","color":16711680,"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 @@
{"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}]} {"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.8,"name":"myself","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[]},{"height":0.1,"width":0.1,"x":0.8,"y":0.9,"name":"myself","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[]}]},{"name":"enemyTeam","color":16711680,"robots":[{"height":0.1,"width":0.1,"x":0.1,"y":0.8,"name":"enemy","speed":3,"speedReload":3,"range":3,"damage":5,"lNode":[{"name":"attack","option":[]},{"name":"move","option":[true]}]},{"height":0.1,"width":0.1,"x":0.2,"y":0.9,"name":"enemy","speed":3,"speedReload":3,"range":3,"damage":5,"lNode":[{"name":"attack","option":[]},{"name":"move","option":[true]}]}]},{"name":"enemyTeam","color":32768,"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":"attack","option":[]},{"name":"move","option":[true]}]},{"height":0.1,"width":0.1,"x":0.5,"y":0.2,"name":"enemy","speed":3,"speedReload":1,"range":3,"damage":5,"lNode":[{"name":"attack","option":[]},{"name":"move","option":[true]}]}]}],"lBonus":[{"style":"speed","number":1,"x":0.5,"y":0.5},{"style":"shield","number":2,"x":0.1,"y":0.1},{"style":"attack","number":2,"x":0.9,"y":0.1}]}

@ -148,14 +148,18 @@ class Game extends ManageLang {
if (level.listTeam !== undefined) { if (level.listTeam !== undefined) {
let init = 0; let init = 0;
level.listTeam.forEach(team => { level.listTeam.forEach(team => {
init += this.loadT(team.name, team.freeForAll, team.robots, level.robotRandomPosition, init) init += this.loadT(team.name, team.freeForAll, team.robots, level.robotRandomPosition, init, team.color)
}); });
} }
} }
loadT(name = MY_TEAM, freeForAll, robots, robotRandomPosition, init = 0) { loadT(name = MY_TEAM, freeForAll, robots, robotRandomPosition, init = 0, color) {
let t = new Team(name, freeForAll); let t = new Team(name, freeForAll);
this.loadRobot(robots, robotRandomPosition, init).forEach(robot => t.addRobot(robot)); this.loadRobot(robots, robotRandomPosition, init).forEach(robot => t.addRobot(robot));
if (color !== undefined) {
t.getRobots().forEach(robot => robot.setTint(color));
}
this.gm.addTeam(t); this.gm.addTeam(t);
return t.listRobot.length; return t.listRobot.length;
} }

@ -26,19 +26,19 @@ 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.listTeam.forEach(team => team.readAll());
this.listTeam.forEach(team => { this.listTeam.forEach(team => {
if (!team.actualise(this.getEnemyRobotTeam(team))) { if (!team.actualise(this.getEnemyRobotTeam(team))) {
this.listTeam.splice(this.listTeam.indexOf(team), 1); this.listTeam.splice(this.listTeam.indexOf(team), 1);
} }
}); });
this.listTeam.forEach(team => team.readAll());
if (this.getMyTeam() === undefined || this.listTeam.length <= 1) { if (this.getMyTeam() === undefined || this.listTeam.length <= 1) {
this.end = true; this.end = true;
this.finish(); this.finish();
} else { } else {
} }
} }
} }

@ -0,0 +1,50 @@
class LevelSelect extends ManageLang {
constructor(father, level = "") {
super('LevelSelect');
this.father = father;
this.level = level;
}
create() {
super.create();
let style = {font: (HEIGHT_WINDOW / 5).toString() + 'px stencil', fill: "#e2e2e2"};
let text = this.add.text(WIDTH_WINDOW / 2, HEIGHT_WINDOW / 6, "WARIA", style).setOrigin(0.5, 0.5);
this.createLevel(WIDTH_WINDOW / 3, HEIGHT_WINDOW / 2, 1);
this.createLevel(WIDTH_WINDOW / 1.5, HEIGHT_WINDOW / 2, 2);
}
createLevel(x, y, number = 0) {
let width = WIDTH_WINDOW / 8;
let btn = this.add.image(x, y, 'rectangle').setOrigin(0.5, 0.5).setInteractive();
btn.displayHeight = btn.displayWidth = width;
let style = {font: (width / 2).toString() + 'px stencil', fill: "#000000"};
let text = this.add.text(x, y, number.toString(), style).setOrigin(0.5, 0.5);
btn.on('pointerover', () => this.over(btn, text));
btn.on('pointerout', () => this.out(btn, text));
btn.on('pointerdown', () => this.click(number));
new Button(this, 10, 10, WIDTH_BUTTON, WIDTH_BUTTON, 'back', () => this.clickBack()).setOrigin(0, 0);
}
over(btn, text) {
btn.setFrame(1);
text.setColor("white");
}
out(btn, text) {
btn.setFrame(0);
text.setColor("black");
//text.setFill(0xffffff);
}
click(number) {
number -= 1;
this.level += number.toString();
newGame(this.father, this.level);
this.scene.start('Game');
}
clickBack() {
this.scene.start('Type');
}
}

@ -97,6 +97,8 @@ class LoadFile extends Phaser.Scene {
this.loadSprite('moveNode', 180, 190, 'nodes/', true); this.loadSprite('moveNode', 180, 190, 'nodes/', true);
this.loadSprite('conditionNode', 180, 190, 'nodes/', true); this.loadSprite('conditionNode', 180, 190, 'nodes/', true);
this.loadSprite('rectangle', 400, 400, 'buttons/', true);
this.loadImage('background', 'others/', true); this.loadImage('background', 'others/', true);
this.loadImage('bullet', 'others/', true); this.loadImage('bullet', 'others/', true);

@ -85,6 +85,10 @@ class Robot {
this.drawCircleRange(); this.drawCircleRange();
} }
setTint(color) {
this.circle.setTint(color);
}
setTarget(target) { setTarget(target) {
this.target = target; this.target = target;
} }

@ -8,17 +8,17 @@ class Type extends ManageLang {
create() { create() {
super.create(); super.create();
let style = {font: '200px stencil', fill: "#e2e2e2"}; let style = {font: (HEIGHT_WINDOW / 5).toString() + 'px stencil', fill: "#e2e2e2"};
this.add.text(WIDTH_WINDOW / 2, HEIGHT_WINDOW / 4, "WARIA", style).setOrigin(0.5, 1); this.add.text(WIDTH_WINDOW / 2, HEIGHT_WINDOW / 6, "WARIA", style).setOrigin(0.5, 0.5);
let btnDuel = this.add.sprite((WIDTH_WINDOW / 8) * 3, (HEIGHT_WINDOW / 4) * 2, 'duel').setInteractive(); let btnDuel = this.add.sprite((WIDTH_WINDOW / 8) * 3, (HEIGHT_WINDOW / 4) * 2, 'duel').setInteractive();
this.createbutton(btnDuel, 'level10'); this.createbutton(btnDuel, 'level1');
let btnLast = this.add.sprite((WIDTH_WINDOW / 8) * 5, (HEIGHT_WINDOW / 4) * 2, 'last').setInteractive(); let btnLast = this.add.sprite((WIDTH_WINDOW / 8) * 5, (HEIGHT_WINDOW / 4) * 2, 'last').setInteractive();
this.createbutton(btnLast, 'level20'); this.createbutton(btnLast, 'level2');
let btnTeam = this.add.sprite(WIDTH_WINDOW / 2, (HEIGHT_WINDOW / 4) * 3, 'team').setInteractive(); let btnTeam = this.add.sprite(WIDTH_WINDOW / 2, (HEIGHT_WINDOW / 4) * 3, 'team').setInteractive();
this.createbutton(btnTeam, 'level30'); this.createbutton(btnTeam, 'level3');
} }
createbutton(btn, level) { createbutton(btn, level) {
@ -30,7 +30,10 @@ class Type extends ManageLang {
} }
clickPlay(level) { clickPlay(level) {
newGame(this.father, level); if (father.scene.getIndex('LevelSelect') !== -1) {
this.scene.start('Game'); this.father.scene.remove('LevelSelect');
}
this.father.scene.add('LevelSelect', new LevelSelect(this.father, level))
this.scene.start('LevelSelect');
} }
} }

@ -22,7 +22,7 @@ class ManageLang extends Phaser.Scene {
createFlag(name) { createFlag(name) {
let flag = this.add.image(WIDTH_WINDOW - 10 - this.diffXFlag, 10, name).setOrigin(1, 0).setInteractive(); let flag = this.add.image(WIDTH_WINDOW - 10 - this.diffXFlag, 10, name).setOrigin(1, 0).setInteractive();
flag.displayHeight = 40; flag.displayHeight = WIDTH_BUTTON / 2;
flag.scaleX = flag.scaleY; flag.scaleX = flag.scaleY;
this.diffXFlag = this.diffXFlag + flag.displayWidth + 10; this.diffXFlag = this.diffXFlag + flag.displayWidth + 10;
flag.on('pointerdown', () => this.setLang(name)); flag.on('pointerdown', () => this.setLang(name));

@ -132,6 +132,7 @@
}, },
{ {
"name": "enemyTeam", "name": "enemyTeam",
"color": 16711680,
"robots": [ "robots": [
{ {
"height": 0.1, "height": 0.1,

@ -106,7 +106,7 @@
"height": 0.1, "height": 0.1,
"width": 0.1, "width": 0.1,
"x": 0.9, "x": 0.9,
"y": 0.9, "y": 0.8,
"name": "myself", "name": "myself",
"speed": 3, "speed": 3,
"speedReload": 1, "speedReload": 1,
@ -118,8 +118,8 @@
{ {
"height": 0.1, "height": 0.1,
"width": 0.1, "width": 0.1,
"x": 0.3, "x": 0.8,
"y": 0.5, "y": 0.9,
"name": "myself", "name": "myself",
"speed": 3, "speed": 3,
"speedReload": 1, "speedReload": 1,
@ -132,36 +132,43 @@
}, },
{ {
"name": "enemyTeam", "name": "enemyTeam",
"color": 16711680,
"robots": [ "robots": [
{ {
"height": 0.1, "height": 0.1,
"width": 0.1, "width": 0.1,
"x": 0.5, "x": 0.1,
"y": 0.1, "y": 0.8,
"name": "enemy", "name": "enemy",
"speed": 3, "speed": 3,
"speedReload": 1, "speedReload": 3,
"range": 3, "range": 3,
"damage": 5, "damage": 5,
"lNode": [ "lNode": [
{ {
"name": "condition", "name": "attack",
"option": [ "option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
] ]
}, },
{
"name": "move",
"option": [
true
]
}
]
},
{
"height": 0.1,
"width": 0.1,
"x": 0.2,
"y": 0.9,
"name": "enemy",
"speed": 3,
"speedReload": 3,
"range": 3,
"damage": 5,
"lNode": [
{ {
"name": "attack", "name": "attack",
"option": [ "option": [
@ -174,12 +181,18 @@
] ]
} }
] ]
}, }
]
},
{
"name": "enemyTeam",
"color": 32768,
"robots": [
{ {
"height": 0.1, "height": 0.1,
"width": 0.1, "width": 0.1,
"x": 0.1, "x": 0.5,
"y": 0.9, "y": 0.1,
"name": "enemy", "name": "enemy",
"speed": 3, "speed": 3,
"speedReload": 1, "speedReload": 1,
@ -187,23 +200,29 @@
"damage": 5, "damage": 5,
"lNode": [ "lNode": [
{ {
"name": "condition", "name": "attack",
"option": [ "option": [
true,
true,
false,
0.5,
0
],
"lNode": [
{
"name": "move",
"option": [
false
]
}
] ]
}, },
{
"name": "move",
"option": [
true
]
}
]
},
{
"height": 0.1,
"width": 0.1,
"x": 0.5,
"y": 0.2,
"name": "enemy",
"speed": 3,
"speedReload": 1,
"range": 3,
"damage": 5,
"lNode": [
{ {
"name": "attack", "name": "attack",
"option": [ "option": [
@ -223,9 +242,21 @@
"lBonus": [ "lBonus": [
{ {
"style": "speed", "style": "speed",
"number": 0, "number": 1,
"x": 0.5, "x": 0.5,
"y": 0.5 "y": 0.5
},
{
"style": "shield",
"number": 2,
"x": 0.1,
"y": 0.1
},
{
"style": "attack",
"number": 2,
"x": 0.9,
"y": 0.1
} }
] ]
} }
Loading…
Cancel
Save