parent
5856599107
commit
3768eb4994
@ -1,296 +1,350 @@
|
|||||||
function createEnd() {
|
function createEnd() {
|
||||||
|
|
||||||
//find X and Y
|
//find X and Y
|
||||||
|
|
||||||
var X = stage.width() - stage.width() /100 * 5;
|
var X = stage.width() - stage.width() / 100 * 5;
|
||||||
var Y = stage.height() / 2;
|
var Y = stage.height() / 2;
|
||||||
|
|
||||||
var endShape = new Konva.RegularPolygon({
|
var endShape = new Konva.RegularPolygon({
|
||||||
x: X,
|
x: X,
|
||||||
y: Y,
|
y: Y,
|
||||||
sides: 6,
|
sides: 6,
|
||||||
radius: 30,
|
radius: 30,
|
||||||
fill: '#9a9a9a',
|
fill: '#9a9a9a',
|
||||||
stroke: 'black',
|
stroke: 'black',
|
||||||
strokeWidth: 4,
|
strokeWidth: 4,
|
||||||
id : "end",
|
id: "end",
|
||||||
});
|
});
|
||||||
end = {
|
end = {
|
||||||
name: "end",
|
name: "end",
|
||||||
x: X,
|
x: X,
|
||||||
y: Y,
|
y: Y,
|
||||||
type: "end",
|
type: "end",
|
||||||
position: 1,
|
position: 1,
|
||||||
let:1,
|
let: 1,
|
||||||
}
|
|
||||||
end.x = end.x - endShape.width() / 2;
|
|
||||||
layer.add(endShape);
|
|
||||||
}
|
}
|
||||||
|
end.x = end.x - endShape.width() / 2;
|
||||||
|
layer.add(endShape);
|
||||||
|
}
|
||||||
|
|
||||||
function createSwitch(id, x, y) {
|
function createSwitch(id, x, y) {
|
||||||
var switche = {
|
var switche = {
|
||||||
id : id,
|
id: id,
|
||||||
x : x,
|
x: x,
|
||||||
y : y,
|
y: y,
|
||||||
};
|
};
|
||||||
switchsInfo.push(switche);
|
switchsInfo.push(switche);
|
||||||
switchsInfoCopy.push(switche);
|
switchsInfoCopy.push(switche);
|
||||||
switchs.push(id);
|
switchs.push(id);
|
||||||
var num = lineCount.length;
|
var num = lineCount.length;
|
||||||
lineCount.push(1);
|
lineCount.push(1);
|
||||||
var rect1 = new Konva.Rect({
|
var rect1 = new Konva.Rect({
|
||||||
x: x,
|
x: x,
|
||||||
y: y,
|
y: y,
|
||||||
width: SwitchWidth,
|
width: SwitchWidth,
|
||||||
height: SwitchHeight,
|
height: SwitchHeight,
|
||||||
stroke: colorSwitchBorder,
|
stroke: colorSwitchBorder,
|
||||||
fill: colorSwitchInnactiveBackground,
|
fill: colorSwitchInnactiveBackground,
|
||||||
strokeWidth: 4,
|
strokeWidth: 4,
|
||||||
id: id,
|
id: id,
|
||||||
id3: null,
|
id3: null,
|
||||||
});
|
});
|
||||||
layer.add(rect1);
|
layer.add(rect1);
|
||||||
}
|
}
|
||||||
|
|
||||||
function createLine(points, id) {
|
function createLine(points, id) {
|
||||||
let startX = points[0], startY = points[1], endX = points[2], endY = points[3];
|
let startX = points[0], startY = points[1], endX = points[2], endY = points[3];
|
||||||
let distance20 = (endX - startX)/100*pourcentageBreak;
|
let distance20 = (endX - startX) / 100 * pourcentageBreak;
|
||||||
let newPoints = [startX, startY,startX + distance20, startY,endX - distance20,endY,endX,endY];
|
let newPoints = [startX, startY, startX + distance20, startY, endX - distance20, endY, endX, endY];
|
||||||
let line = new Konva.Line({
|
let line = new Konva.Line({
|
||||||
points: newPoints,
|
points: newPoints,
|
||||||
fill : 'blue',
|
fill: 'blue',
|
||||||
stroke: colorLineInnactive,
|
stroke: colorLineInnactive,
|
||||||
strokeWidth: lineStroke,
|
strokeWidth: lineStroke,
|
||||||
id: id,
|
id: id,
|
||||||
});
|
});
|
||||||
layer.add(line);
|
layer.add(line);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function createLink(entre, sortie) {
|
function createLink(entre, sortie) {
|
||||||
//entre est une porte logique
|
//entre est une porte logique
|
||||||
lineId = lineCount.length;
|
lineId = lineCount.length;
|
||||||
lineCount.push(1);
|
lineCount.push(1);
|
||||||
switch (whatIsElement(entre)) {
|
switch (whatIsElement(entre)) {
|
||||||
case "switch":
|
case "switch":
|
||||||
switch (whatIsElement(sortie)) {
|
switch (whatIsElement(sortie)) {
|
||||||
case "logique":
|
case "logique":
|
||||||
switch (giveLineId(sortie.name,entre)) {
|
switch (giveLineId(sortie.name, entre)) {
|
||||||
|
|
||||||
case "id1":
|
case "id1":
|
||||||
let switchMidX = entre.getX() + entre.getWidth();
|
let switchMidX = entre.getX() + entre.getWidth();
|
||||||
let switchMidY = entre.getY() + entre.getHeight() / 2;
|
let switchMidY = entre.getY() + entre.getHeight() / 2;
|
||||||
|
|
||||||
let logiqueMidX = sortie.x;
|
let logiqueMidX = sortie.x;
|
||||||
if(sortie.type === "inv"){
|
if (sortie.type === "inv") {
|
||||||
var logiqueMidY = sortie.y + (imageHeight / 2);
|
var logiqueMidY = sortie.y + (imageHeight / 2);
|
||||||
}else{
|
} else {
|
||||||
var logiqueMidY = sortie.y + (imageHeight / 3);
|
var logiqueMidY = sortie.y + (imageHeight / 3);
|
||||||
}
|
}
|
||||||
createLine([switchMidX, switchMidY, logiqueMidX, logiqueMidY], "line" + lineId);
|
createLine([switchMidX, switchMidY, logiqueMidX, logiqueMidY], "line" + lineId);
|
||||||
setLine(sortie, "id1", "line" + lineId);
|
setLine(sortie, "id1", "line" + lineId);
|
||||||
entre.id3 = "line" + lineId;
|
|
||||||
break;
|
|
||||||
case "id2":
|
|
||||||
createLine([entre.getX() + entre.getWidth(), entre.getY() + entre.getHeight() / 2, sortie.x, sortie.y + (imageHeight / 3) * 2], "line" + lineId);
|
|
||||||
setLine(sortie, "id2", "line" + lineId);
|
|
||||||
entre.id3 = "line" + lineId;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "logique":
|
|
||||||
switch (whatIsElement(sortie)) {
|
|
||||||
case "logique":
|
|
||||||
switch (giveLineId(sortie.name,entre)) {
|
|
||||||
case "id1":
|
|
||||||
let switchMidX = entre.x + imageWidth;
|
|
||||||
let switchMidY = entre.y + imageHeight / 2;
|
|
||||||
|
|
||||||
let logiqueMidX = sortie.x;
|
let truc = entre.x;
|
||||||
if(sortie.type === "inv"){
|
entre.id3 = "line" + lineId;
|
||||||
var logiqueMidY = sortie.y + (imageHeight / 2);
|
break;
|
||||||
}else{
|
case "id2":
|
||||||
var logiqueMidY = sortie.y + (imageHeight / 3);
|
|
||||||
}
|
|
||||||
createLine([switchMidX, switchMidY, logiqueMidX, logiqueMidY], "line" + lineId);
|
|
||||||
setLine(sortie, "id1", "line" + lineId);
|
|
||||||
setLine(entre, "id3", "line" + lineId);
|
|
||||||
break;
|
|
||||||
case "id2":
|
|
||||||
createLine([entre.x + imageWidth, entre.y + imageHeight / 2, sortie.x, sortie.y + (imageHeight / 3) * 2], "line" + lineId);
|
|
||||||
setLine(sortie, "id2", "line" + lineId);
|
|
||||||
setLine(entre, "id3", "line" + lineId);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
endLines.push(lineId);
|
|
||||||
createLine([entre.x + imageWidth, entre.y + imageHeight / 2, sortie.x, sortie.y], "line" + lineId);
|
|
||||||
setLine(entre, "id3", "line" + lineId);
|
|
||||||
end.let--;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
createLine([entre.getX() + entre.getWidth(), entre.getY() + entre.getHeight() / 2, sortie.x, sortie.y + (imageHeight / 3) * 2], "line" + lineId);
|
||||||
}
|
setLine(sortie, "id2", "line" + lineId);
|
||||||
function createLogique(x, y, id, type) {
|
entre.id3 = "line" + lineId;
|
||||||
var imageObj = new Image();
|
break;
|
||||||
imageObj.onload = function () {
|
}
|
||||||
var et = new Konva.Image({
|
|
||||||
x: x,
|
|
||||||
y: y,
|
|
||||||
image: imageObj,
|
|
||||||
width: imageWidth,
|
|
||||||
height: imageHeight,
|
|
||||||
id: id,
|
|
||||||
});
|
|
||||||
if (imageRotation != 0) {
|
|
||||||
et.rotation(imageRotation);
|
|
||||||
et.x(et.getX() + imageHeight);
|
|
||||||
}
|
}
|
||||||
layer.add(et);
|
break;
|
||||||
layer.batchDraw();
|
case "logique":
|
||||||
};
|
switch (whatIsElement(sortie)) {
|
||||||
switch(type){
|
case "logique":
|
||||||
case "et" :
|
switch (giveLineId(sortie.name, entre)) {
|
||||||
imageObj.src = pathImg + imageLogiqueEt;
|
case "id1":
|
||||||
break;
|
let switchMidX = entre.x + imageWidth;
|
||||||
case "ou":
|
let switchMidY = entre.y + imageHeight / 2;
|
||||||
imageObj.src = pathImg + imageLogiqueOu;
|
|
||||||
break;
|
let logiqueMidX = sortie.x;
|
||||||
case "etnon":
|
if (sortie.type === "inv") {
|
||||||
imageObj.src = pathImg + imageLogiqueEtNon;
|
var logiqueMidY = sortie.y + (imageHeight / 2);
|
||||||
break;
|
} else {
|
||||||
case "inv":
|
var logiqueMidY = sortie.y + (imageHeight / 3);
|
||||||
imageObj.src = pathImg + imageLogiqueInv;
|
}
|
||||||
break;
|
createLine([switchMidX, switchMidY, logiqueMidX, logiqueMidY], "line" + lineId);
|
||||||
case "nonou":
|
setLine(sortie, "id1", "line" + lineId);
|
||||||
imageObj.src = pathImg + imageLogiqueNonOu;
|
setLine(entre, "id3", "line" + lineId);
|
||||||
|
break;
|
||||||
|
case "id2":
|
||||||
|
createLine([entre.x + imageWidth, entre.y + imageHeight / 2, sortie.x, sortie.y + (imageHeight / 3) * 2], "line" + lineId);
|
||||||
|
setLine(sortie, "id2", "line" + lineId);
|
||||||
|
setLine(entre, "id3", "line" + lineId);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
endLines.push(lineId);
|
||||||
|
createLine([entre.x + imageWidth, entre.y + imageHeight / 2, sortie.x, sortie.y], "line" + lineId);
|
||||||
|
setLine(entre, "id3", "line" + lineId);
|
||||||
|
end.let--;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
console.log("error");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function createLogique(x, y, id, type) {
|
||||||
|
var imageObj = new Image();
|
||||||
|
imageObj.onload = function () {
|
||||||
|
var et = new Konva.Image({
|
||||||
|
x: x,
|
||||||
|
y: y,
|
||||||
|
image: imageObj,
|
||||||
|
width: imageWidth,
|
||||||
|
height: imageHeight,
|
||||||
|
id: id,
|
||||||
|
});
|
||||||
|
if (imageRotation != 0) {
|
||||||
|
et.rotation(imageRotation);
|
||||||
|
et.x(et.getX() + imageHeight);
|
||||||
}
|
}
|
||||||
|
layer.add(et);
|
||||||
|
layer.batchDraw();
|
||||||
|
};
|
||||||
|
switch (type) {
|
||||||
|
case "et":
|
||||||
|
imageObj.src = pathImg + imageLogiqueEt;
|
||||||
|
break;
|
||||||
|
case "ou":
|
||||||
|
imageObj.src = pathImg + imageLogiqueOu;
|
||||||
|
break;
|
||||||
|
case "etnon":
|
||||||
|
imageObj.src = pathImg + imageLogiqueEtNon;
|
||||||
|
break;
|
||||||
|
case "inv":
|
||||||
|
imageObj.src = pathImg + imageLogiqueInv;
|
||||||
|
break;
|
||||||
|
case "nonou":
|
||||||
|
imageObj.src = pathImg + imageLogiqueNonOu;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
imageObj.id = id;
|
imageObj.id = id;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var logique = {
|
var logique = {
|
||||||
name: id,
|
name: id,
|
||||||
x: x,
|
x: x,
|
||||||
y: y,
|
y: y,
|
||||||
type: type,
|
type: type,
|
||||||
id1: null,
|
id1: null,
|
||||||
id2: null,
|
id2: null,
|
||||||
id3: null,
|
id3: [],
|
||||||
}
|
|
||||||
logiques.push(logique);
|
|
||||||
}
|
}
|
||||||
|
logiques.push(logique);
|
||||||
|
}
|
||||||
|
|
||||||
function switchCreator(number){
|
function switchCreator(number) {
|
||||||
numberOfSwitch = number;
|
numberOfSwitch = number;
|
||||||
let split = number + 1;
|
let split = number + 1;
|
||||||
let space = (stage.height() - stage.height()/100*25) / split;
|
let space = (stage.height() - stage.height() / 100 * 25) / split;
|
||||||
for(let i = 1; i < number+1 ; i++){
|
for (let i = 1; i < number + 1; i++) {
|
||||||
createSwitch("s"+i, 20, (i) * space);
|
createSwitch("s" + i, 20, (i) * space);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function insertLogiqueColonne(nomLogique, TypeLogique, colonne){
|
function insertLogiqueColonne(nomLogique, TypeLogique, colonne) {
|
||||||
var X = stage.width() / (colonneTot+1) * (colonne+1);
|
var X = stage.width() / (colonneTot + 1) * (colonne + 1);
|
||||||
//calcul position Y
|
//calcul position Y
|
||||||
if(numberPerColonne[colonne] == 1){
|
if (numberPerColonne[colonne] == 1) {
|
||||||
var Y = stage.height() / 3;
|
var Y = stage.height() / 3;
|
||||||
}else{
|
} else {
|
||||||
let numberAlreadyAdded = liveColonneNumber[colonne].length+1;
|
let numberAlreadyAdded = liveColonneNumber[colonne].length + 1;
|
||||||
let split = (stage.height() - stage.height()/100*25) / (numberPerColonne[colonne]+1);
|
let split = (stage.height() - stage.height() / 100 * 25) / (numberPerColonne[colonne] + 1);
|
||||||
var Y = split * numberAlreadyAdded;
|
var Y = split * numberAlreadyAdded;
|
||||||
}
|
|
||||||
createLogique(X, Y, nomLogique,TypeLogique);
|
|
||||||
liveColonneNumber[colonne].push(1);
|
|
||||||
}
|
}
|
||||||
|
createLogique(X, Y, nomLogique, TypeLogique);
|
||||||
|
liveColonneNumber[colonne].push(1);
|
||||||
|
}
|
||||||
|
|
||||||
function createLinkSwitch(){
|
function createLinkSwitch() {
|
||||||
var logique = null;
|
var logique = null;
|
||||||
var distance = stage.width();
|
var distance = stage.width();
|
||||||
//Trouver la porte logique la plus proche des switchs
|
//Trouver la porte logique la plus proche des switchs
|
||||||
logiques.forEach(function(element){
|
logiques.forEach(function (element) {
|
||||||
if(element.id1 == null || element.id2 == null){
|
if(element.type != "inv"){
|
||||||
if(element.x < distance){
|
if (element.id1 == null || element.id2 == null) {
|
||||||
|
if (element.x < distance) {
|
||||||
logique = element;
|
logique = element;
|
||||||
distance = element.x;
|
distance = element.x;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
if (element.id1 == null) {
|
||||||
|
if (element.x < distance) {
|
||||||
|
logique = element;
|
||||||
|
distance = element.x;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var distanceSwitch = stage.height();
|
||||||
|
var switchs = null;
|
||||||
|
if (switchsInfo.length > 0) {
|
||||||
|
switchsInfo.forEach(function (element) {
|
||||||
|
if (Math.abs(logique.y - element.y) < distanceSwitch) {
|
||||||
|
distanceSwitch = Math.abs(logique.y - element.y);
|
||||||
|
switchs = element;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
var distanceSwitch = stage.height();
|
}
|
||||||
var switchs = null;
|
else {
|
||||||
if(switchsInfo.length > 0){
|
switchsInfoCopy.forEach(function (element) {
|
||||||
switchsInfo.forEach(function(element){
|
if (stage.findOne("#" + element.id).id3.length === 0) {
|
||||||
if(Math.abs(logique.y - element.y) < distanceSwitch){
|
if (Math.abs(logique.y - element.y) < distanceSwitch) {
|
||||||
distanceSwitch = Math.abs(logique.y - element.y);
|
distanceSwitch = Math.abs(logique.y - element.y);
|
||||||
switchs = element;
|
switchs = element;
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
}
|
});
|
||||||
else {
|
|
||||||
switchsInfoCopy.forEach(function(element){
|
|
||||||
if(stage.findOne("#"+element.id).id3 == null){
|
|
||||||
console.log("le switch " + element.id);
|
|
||||||
if(Math.abs(logique.y - element.y) < distanceSwitch){
|
|
||||||
console.log("ai");
|
|
||||||
distanceSwitch = Math.abs(logique.y - element.y);
|
|
||||||
switchs = element;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
switchsInfo.splice( switchsInfo.indexOf(switchs), 1 );
|
|
||||||
createLink(stage.findOne("#"+switchs.id), findLogique(logique.name));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getNumberOfSwitchEmpty(){
|
switchsInfo.splice(switchsInfo.indexOf(switchs), 1);
|
||||||
let number = 0;
|
createLink(stage.findOne("#" + switchs.id), findLogique(logique.name));
|
||||||
switchsInfoCopy.forEach(function(element){
|
}
|
||||||
if(stage.findOne("#"+element.id).id3 == null)
|
|
||||||
number++;
|
function getNumberOfSwitchEmpty() {
|
||||||
});
|
let number = 0;
|
||||||
return number;
|
switchsInfoCopy.forEach(function (element) {
|
||||||
|
if (stage.findOne("#" + element.id).id3.length === 0)
|
||||||
|
number++;
|
||||||
|
});
|
||||||
|
return number;
|
||||||
|
}
|
||||||
|
|
||||||
|
function createAllLinkSwitch() {
|
||||||
|
for(let i = 0; i < numberOfSwitch;i++){
|
||||||
|
createLinkSwitch();
|
||||||
}
|
}
|
||||||
|
/*while (getNumberOfSwitchEmpty() > 0) {
|
||||||
|
createLinkSwitch();
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
|
||||||
function createAllLinkSwitch(){
|
function createLinkAuto(logiqueId) {
|
||||||
while(getNumberOfSwitchEmpty() > 0){
|
var logique = findLogique(logiqueId);
|
||||||
createLinkSwitch();
|
var ligneSupCoor = null;
|
||||||
|
var stop = false;
|
||||||
|
//on cherche la ligne supérieur
|
||||||
|
logiques.forEach(function (element) {
|
||||||
|
if (!stop) {
|
||||||
|
if (logique.x < element.x) {
|
||||||
|
stop = true;
|
||||||
|
ligneSupCoor = element.x;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
if (ligneSupCoor != null) {
|
||||||
|
//on stock les portes logiques de la lignes supérieur (si il reste de la place dans leur entrees)
|
||||||
|
var ligneSup = [];
|
||||||
|
logiques.forEach(function (element) {
|
||||||
|
|
||||||
function createLinkAuto(logiqueId){
|
if (element.x == ligneSupCoor) {
|
||||||
var logique = findLogique(logiqueId);
|
if (checkLogiqueLines(element.name, "id1") == false || checkLogiqueLines(element.name, "id2") == false) {
|
||||||
var ligneSupCoor = null;
|
ligneSup.push(element);
|
||||||
var stop = false;
|
|
||||||
//on cherche la ligne supérieur
|
|
||||||
logiques.forEach(function(element){
|
|
||||||
if(!stop){
|
|
||||||
if(logique.x < element.x){
|
|
||||||
stop = true;
|
|
||||||
ligneSupCoor = element.x;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if(ligneSupCoor != null){
|
//on tire au sort
|
||||||
//on stock les portes logiques de la lignes supérieur (si il reste de la place dans leur entrees)
|
let sortie = getRandomArbitrary(0, ligneSup.length);
|
||||||
var ligneSup = [];
|
sortie = ligneSup[sortie];
|
||||||
logiques.forEach(function(element){
|
createLink(findLogique(logiqueId), findLogique(sortie.name));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(element.x == ligneSupCoor){
|
function createStage(container) {
|
||||||
if(checkLogiqueLines(element.name,"id1") == false || checkLogiqueLines(element.name,"id2") == false){
|
height = document.querySelector("#"+container).offsetHeight;
|
||||||
ligneSup.push(element);
|
width = document.querySelector("#"+container).offsetWidth;
|
||||||
}
|
if (window.innerWidth <= 900) {
|
||||||
}
|
if (!mobile) {
|
||||||
|
mobile = true;
|
||||||
|
stage = new Konva.Stage({
|
||||||
|
container: container,
|
||||||
|
width: height,
|
||||||
|
height: width,
|
||||||
|
rotation:90,
|
||||||
|
x:height,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
stage = new Konva.Stage({
|
||||||
|
container: container,
|
||||||
|
width: height,
|
||||||
|
height: width,
|
||||||
|
rotation:90,
|
||||||
|
x:height,
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if (mobile) {
|
||||||
|
mobile = false;
|
||||||
|
}else{
|
||||||
|
stage = new Konva.Stage({
|
||||||
|
container: container,
|
||||||
|
width: width,
|
||||||
|
height: height,
|
||||||
});
|
});
|
||||||
//on tire au sort
|
|
||||||
let sortie = getRandomArbitrary(0,ligneSup.length);
|
|
||||||
sortie = ligneSup[sortie];
|
|
||||||
createLink(findLogique(logiqueId),findLogique(sortie.name));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stage.draw();
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
const level = {
|
||||||
|
1:{
|
||||||
|
timeEnd: 20,
|
||||||
|
firstTime: "et",
|
||||||
|
numberColonne1 : 1,
|
||||||
|
numberColonne2 : 0,
|
||||||
|
},
|
||||||
|
2:{
|
||||||
|
timeEnd:20,
|
||||||
|
firstTime : null,
|
||||||
|
numberColonne1 : 2,
|
||||||
|
numberColonne2 : 0,
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue