Suppression de Map et Flag - Ajout d'un niveau supplémentaire sur chaque catégorie ("DUEL", "LAST", "TEAM") => Le niveau supplémentaire de "TEAM" est le même que le premier pour le moment - Modification des actions et des stats initiales des robots ennemis dans "DUEL" et "LAST" pour rendre le second niveau plus compliqué- Correction du problème de fin dans "TEAM" lorsque nos robots gagnaient - Il n'y a pour le moment que deux niveaux par catégories. Lorsque l'on gagne le dernier niveau, le bouton "NEXT" n'apparait pas - Commencement de l'affichage du score, il n'est pour le moment pas utilisable

master
clmaisonha 5 years ago
parent 5983ce37bb
commit f4772e9f16

@ -43,9 +43,12 @@ module.exports = function (grunt) {
minjson: { minjson: {
compile: { compile: {
files: { files: {
'public/json//level1.json': ['src/json/level1.json'], 'public/json//level10.json': ['src/json/level10.json'],
'public/json//level2.json': ['src/json/level2.json'], 'public/json//level11.json': ['src/json/level11.json'],
'public/json//level3.json': ['src/json/level3.json'], 'public/json//level20.json': ['src/json/level20.json'],
'public/json//level21.json': ['src/json/level21.json'],
'public/json//level30.json': ['src/json/level30.json'],
'public/json//level31.json': ['src/json/level31.json'],
'public/json//level4.json': ['src/json/level4.json'], 'public/json//level4.json': ['src/json/level4.json'],
'public/json//level5.json': ['src/json/level5.json'], 'public/json//level5.json': ['src/json/level5.json'],
'public/json//listBonus.json': ['src/json/listBonus.json'] 'public/json//listBonus.json': ['src/json/listBonus.json']

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -60,3 +60,13 @@ function endLineJson(json) {
} }
return json; return json;
} }
function getNextLevel(level = "") {
let newLevel = level;
newLevel = newLevel.slice(0, -1) + (parseInt(level[level.length - 1]) + 1).toString();
console.log(level[level.length - 1]);
if (newLevel[newLevel.length - 1] >= NUMBER_LEVEL) {
return level;
}
return newLevel;
}

@ -5,6 +5,7 @@ class Game extends ManageLang {
SPEED_GAME = 1; SPEED_GAME = 1;
this.level = level; this.level = level;
this.listPositionRobotInit = []; this.listPositionRobotInit = [];
this.score = 0;
} }
preload() { preload() {
@ -22,6 +23,7 @@ class Game extends ManageLang {
this.cache.json.remove('level'); this.cache.json.remove('level');
} }
this.load.json('level', 'public/json/' + this.level + '.json'); this.load.json('level', 'public/json/' + this.level + '.json');
console.log("PRELOAD");
this.createGamingBoard(); this.createGamingBoard();
} }
@ -29,6 +31,7 @@ class Game extends ManageLang {
create() { create() {
super.create(); super.create();
let level = this.cache.json.get('level'); let level = this.cache.json.get('level');
if (level === undefined) { if (level === undefined) {
console.log("ERROR : LEVEL UNDEFINED"); console.log("ERROR : LEVEL UNDEFINED");
@ -67,9 +70,10 @@ class Game extends ManageLang {
update(time, delta) { update(time, delta) {
super.update(time, delta); super.update(time, delta);
if (this.doLine) if (this.doLine) {
this.tree.updateLine(); this.tree.updateLine();
} }
}
createGamingBoard() { createGamingBoard() {
this.gm = new GamingBoard(this); this.gm = new GamingBoard(this);
@ -301,12 +305,20 @@ class Game extends ManageLang {
} }
this.muteBtn = new Button(this, x - diffX * 5, y, width, width, 'mute', () => this.clickMute(), line).setOrigin(1, 0); this.muteBtn = new Button(this, x - diffX * 5, y, width, width, 'mute', () => this.clickMute(), line).setOrigin(1, 0);
let style = {font: (width / 2).toString() + 'px stencil', fill: "#e2e2e2"};
this.score = this.add.text(OFFX_MAP, y, "SCORE : " + this.score, style).setOrigin(0, 0);
this.input.on('pointerdown', () => this.clickNode()); this.input.on('pointerdown', () => this.clickNode());
this.input.on('drag', this.doDrag); this.input.on('drag', this.doDrag);
this.input.on('dragstart', () => this.dragStart()); this.input.on('dragstart', () => this.dragStart());
this.input.on('dragend', () => this.dragEnd()); this.input.on('dragend', () => this.dragEnd());
} }
setScore(score) {
this.score.setText("SCORE : " + this.score);
}
clickBonus() { clickBonus() {
this.father.scene.stop('GamingBoard'); this.father.scene.stop('GamingBoard');
this.father.scene.remove('GamingBoard'); this.father.scene.remove('GamingBoard');
@ -421,4 +433,12 @@ class Game extends ManageLang {
this.selected = undefined; this.selected = undefined;
} }
} }
setLevel(level) {
if (this.level !== level) {
this.level = level;
this.listPositionRobotInit = [];
}
console.log(this.level);
}
} }

@ -29,14 +29,16 @@ class GamingBoard extends Phaser.Scene {
this.listTeam.forEach(team => team.readAll()); 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);
} }
}); });
if (this.getMyTeam() === undefined) { if (this.getMyTeam() === undefined || this.listTeam.length <= 1) {
this.end = true; this.end = true;
this.finish(); this.finish();
} else {
} }
} }
} }

@ -3,6 +3,7 @@ class Team {
this.freeForAll = freeForAll; this.freeForAll = freeForAll;
this.listRobot = []; this.listRobot = [];
this.name = name; this.name = name;
this.score = 0;
} }
addRobot(robot) { addRobot(robot) {

@ -12,19 +12,13 @@ class Type extends ManageLang {
this.add.text(WIDTH_WINDOW / 2, HEIGHT_WINDOW / 4, "WARIA", style).setOrigin(0.5, 1); this.add.text(WIDTH_WINDOW / 2, HEIGHT_WINDOW / 4, "WARIA", style).setOrigin(0.5, 1);
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, 'level1'); this.createbutton(btnDuel, 'level10');
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, 'level2'); this.createbutton(btnLast, 'level20');
let btnTeam = this.add.sprite((WIDTH_WINDOW / 8) * 2, (HEIGHT_WINDOW / 4) * 3, 'team').setInteractive(); let btnTeam = this.add.sprite(WIDTH_WINDOW / 2, (HEIGHT_WINDOW / 4) * 3, 'team').setInteractive();
this.createbutton(btnTeam, 'level3'); this.createbutton(btnTeam, 'level30');
let btnFlag = this.add.sprite((WIDTH_WINDOW / 8) * 4, (HEIGHT_WINDOW / 4) * 3, 'flag').setInteractive();
this.createbutton(btnFlag, 'level4');
let btnMap = this.add.sprite((WIDTH_WINDOW / 8) * 6, (HEIGHT_WINDOW / 4) * 3, 'map').setInteractive();
this.createbutton(btnMap, 'level5');
} }
createbutton(btn, level) { createbutton(btn, level) {

@ -15,6 +15,7 @@ const COLOR_ORANGE = 0xff7f00;
const COLOR_GREEN = 0x008000; const COLOR_GREEN = 0x008000;
const COLOR_RANGE = 0x008000; const COLOR_RANGE = 0x008000;
const COLOR_SPEED_RELOAD = 0x7f00ff; const COLOR_SPEED_RELOAD = 0x7f00ff;
const NUMBER_LEVEL = 2;
const COLOR_MYSELF = 0x6666ff; const COLOR_MYSELF = 0x6666ff;
const WIDTH_WINDOW = $(document).width() - 20; const WIDTH_WINDOW = $(document).width() - 20;

@ -8,6 +8,9 @@ class Winner extends Finish {
super.addTitle(selectWord("YOU WIN", "PARTIE GAGNÉE")); super.addTitle(selectWord("YOU WIN", "PARTIE GAGNÉE"));
super.btnRetry(super.createButton(WIDTH_WINDOW / 4, 'retry')); super.btnRetry(super.createButton(WIDTH_WINDOW / 4, 'retry'));
super.btnHome(super.createButton(WIDTH_WINDOW / 2, 'home')); super.btnHome(super.createButton(WIDTH_WINDOW / 2, 'home'));
if (getNextLevel(this.gameSave.level) === this.gameSave.level) {
} else {
super.btnNext(super.createButton(WIDTH_WINDOW / 4 * 3, 'next')); super.btnNext(super.createButton(WIDTH_WINDOW / 4 * 3, 'next'));
} }
} }
}

@ -2,7 +2,7 @@ class Finish extends Phaser.Scene {
constructor(father, game) { constructor(father, game) {
super('Finish'); super('Finish');
this.father = father; this.father = father;
this.game = game; this.gameSave = game;
} }
create() { create() {
@ -57,6 +57,8 @@ class Finish extends Phaser.Scene {
next() { next() {
console.log("NEXT"); console.log("NEXT");
this.gameSave.setLevel(getNextLevel(this.gameSave.level));
this.retry();
} }
close() { close() {

@ -0,0 +1,220 @@
{
"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": 3,
"range": 3,
"damage": 5,
"lNode": [
{
"name": "condition",
"option": [
false,
false,
true,
0,
1
],
"lNode": [
{
"name": "condition",
"option": [
true,
true,
false,
0.3333333333333333,
0
],
"lNode": [
{
"name": "move",
"option": [
true,
false
]
}
]
},
{
"name": "attack",
"option": [
0.3333333333333333
]
},
{
"name": "attack",
"option": [
0.6666666666666666
]
},
{
"name": "attack",
"option": [
]
}
]
},
{
"name": "move",
"option": [
true,
false
]
},
{
"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.2,
"y": 0.1
},
{
"style": "shield",
"number": 1,
"x": 0.5,
"y": 0.9
},
{
"style": "shield",
"number": 2,
"x": 0.2,
"y": 0.8
}
]
}

@ -0,0 +1,458 @@
{
"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": [
true,
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": [
true,
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": [
true,
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": [
true,
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": [
true,
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": [
true,
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
}
]
}

@ -0,0 +1,231 @@
{
"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
}
]
}
Loading…
Cancel
Save