You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
3.7 KiB
136 lines
3.7 KiB
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<link rel="stylesheet" type="text/css" href="../css/style.css">
|
|
<script src="https://unpkg.com/konva@6.0.0/konva.min.js"></script>
|
|
<script src="../js/const.js"></script>
|
|
<script src="../js/func.js"></script>
|
|
<script src="../js/logique.js"></script>
|
|
<script src="../js/init.js"></script>
|
|
<script src="../js/createElement.js"></script>
|
|
<script src="../js/creator.js"></script>
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
|
|
<link href="https://use.fontawesome.com/releases/v5.0.4/css/all.css" rel="stylesheet">
|
|
<link href="https://fonts.googleapis.com/css2?family=Bitter:wght@700&display=swap" rel="stylesheet">
|
|
<meta charset="utf-8" />
|
|
<title>Make It True</title>
|
|
</head>
|
|
|
|
<body>
|
|
<div id="header-container">
|
|
<h1 align=center>Niveau <a id="niveau">Perso</a></h1>
|
|
</div>
|
|
<div id="header-container">
|
|
<button id="driver" onclick="show();">Charger un niveau</button>
|
|
</div>
|
|
<div id="play-container"></div>
|
|
|
|
</body>
|
|
<script>
|
|
|
|
var switchs = [], lineCount = [], logiques = [], lines = [], endLines = [], end, switchsInfo = [], switchsInfoCopy = [], lineRemove = [];
|
|
|
|
|
|
var mapName;
|
|
var logiqueNames;
|
|
var logiqueType;
|
|
var logiquePosition;
|
|
var logiqueLink;
|
|
|
|
var layer = new Konva.Layer();
|
|
let container = document.getElementById('play-container');
|
|
container.style.height = innerHeight /100*80 + "px";
|
|
var width = container.offsetWidth;
|
|
var stage = new Konva.Stage({
|
|
container: 'play-container',
|
|
/*rotation: -90,
|
|
x: 20,
|
|
y: 1000,*/
|
|
width: width,
|
|
height: window.innerHeight,
|
|
});
|
|
stage.add(layer);
|
|
|
|
function click() {
|
|
console.log("click");
|
|
|
|
}
|
|
|
|
|
|
|
|
function openJson() {
|
|
var isFinish = $.Deferred();
|
|
|
|
$(document).ready(function () {
|
|
$.getJSON('niv.json', function (emp) {
|
|
mapName = emp.name;
|
|
logiqueNames = emp.logiqueName;
|
|
logiqueType = emp.logiqueType;
|
|
logiquePosition = emp.logiquePosition;
|
|
logiqueLink = emp.logiqueLink;
|
|
isFinish.resolve();
|
|
});
|
|
});
|
|
return $.when(isFinish).done(function () {
|
|
}).promise();
|
|
}
|
|
function show() {
|
|
$(function () {
|
|
openJson().done(function () {
|
|
info();
|
|
generateTerrain();
|
|
});
|
|
});
|
|
}
|
|
|
|
function tranformation() {
|
|
colonneTot = 0;
|
|
for(let i = 0; i < logiquePosition.length;i++){
|
|
if(logiquePosition[i]+1 > colonneTot)
|
|
colonneTot = logiquePosition[i]+1;
|
|
}
|
|
for (let i = 0; i < colonneTot; i++) {
|
|
liveColonneNumber.push([]);
|
|
}
|
|
for(let i = 0; i < logiquePosition.length; i++){
|
|
if(Number.isNaN(numberPerColonne[logiquePosition[i]])){
|
|
numberPerColonne[logiquePosition[i]] = 0;
|
|
}
|
|
numberPerColonne[logiquePosition[i]]++;
|
|
}
|
|
for(let i = 0; i < logiquePosition.length; i++){
|
|
insertLogiqueColonne(logiqueNames[i], logiqueType[i], logiquePosition[i]);
|
|
}
|
|
for(let i = 0;i < logiqueLink.length; i++){
|
|
createLink(findLogique(logiqueLink[i][0]), findLogique(logiqueLink[i][1]));
|
|
}
|
|
|
|
calculNombreSwitch();
|
|
switchCreator(numberOfSwitch);
|
|
|
|
createAllLinkSwitch();
|
|
|
|
initAllSwitch();
|
|
createEnd();
|
|
initEnd();
|
|
}
|
|
|
|
function generateTerrain() {
|
|
|
|
|
|
|
|
initLayer();
|
|
|
|
tranformation();
|
|
|
|
checkAllSortieLogique();
|
|
}
|
|
|
|
function info() {
|
|
|
|
}
|
|
</script>
|
|
|
|
|
|
</html> |