diff --git a/helper/scoreSheetPDFMazeRules/2024.js b/helper/scoreSheetPDFMazeRules/2024.js index ce25cf31..797ec985 100644 --- a/helper/scoreSheetPDFMazeRules/2024.js +++ b/helper/scoreSheetPDFMazeRules/2024.js @@ -173,7 +173,7 @@ function drawRun(doc, config, scoringRun) { ); // System version - pdf.drawText(doc, 742, 573, `RoboCupJunior CMS v${process.env.cms_version}`, 6, 'black'); + pdf.drawText(doc, 20, 580, `This score sheet is generated by RCJ CMS v${process.env.cms_version}`, 6, 'black'); const cells = []; for (const cell of scoringRun.map.cells) { @@ -214,110 +214,112 @@ function drawRun(doc, config, scoringRun) { }; for (let j = 1, l = scoringRun.map.length * 2 + 1; j < l; j += 2) { for (let i = 1, m = scoringRun.map.width * 2 + 1; i < m; i += 2) { - if (!cells[`${i},${j},0`]) continue - const victimLF = cells[`${i},${j},0`].isLinear ? 'linear' : 'floating'; - const { victims } = cells[`${i},${j},0`].tile; - const { tile } = cells[`${i},${j},0`]; - let victimType = 'None'; - - victimType = victims.top; - if (victimType != 'None') { - let name; - if (victimLF == 'linear') - name = big[itemList[victimType][victimLF].length]; - else name = small[itemList[victimType][victimLF].length]; - const tmp = { - x: i, - y: j, - z: 0, - name, - }; - itemList[victimType][victimLF].push(tmp); - } - - victimType = victims.left; - if (victimType != 'None') { - let name; - if (victimLF == 'linear') - name = big[itemList[victimType][victimLF].length]; - else name = small[itemList[victimType][victimLF].length]; - const tmp = { - x: i, - y: j, - z: 0, - name, - }; - itemList[victimType][victimLF].push(tmp); - } - - victimType = victims.right; - if (victimType != 'None') { - let name; - if (victimLF == 'linear') - name = big[itemList[victimType][victimLF].length]; - else name = small[itemList[victimType][victimLF].length]; - const tmp = { - x: i, - y: j, - z: 0, - name, - }; - itemList[victimType][victimLF].push(tmp); - } - - victimType = victims.bottom; - if (victimType != 'None') { - let name; - if (victimLF == 'linear') - name = big[itemList[victimType][victimLF].length]; - else name = small[itemList[victimType][victimLF].length]; - const tmp = { - x: i, - y: j, - z: 0, - name, - }; - itemList[victimType][victimLF].push(tmp); - } - - if (tile.checkpoint) { - const tmp = { - x: i, - y: j, - z: 0, - name: itemList.checkpoint.length + 1, - }; - itemList.checkpoint.push(tmp); - } - - if (tile.speedbump) { - const tmp = { - x: i, - y: j, - z: 0, - name: itemList.speedbump.length + 1, - }; - itemList.speedbump.push(tmp); - } - - if (tile.ramp) { - const tmp = { - x: i, - y: j, - z: 0, - name: itemList.ramp.length + 1, - }; - itemList.ramp.push(tmp); - } - - if (tile.steps) { - const tmp = { - x: i, - y: j, - z: 0, - name: itemList.steps.length + 1, - }; - itemList.steps.push(tmp); + for (let k = 0; k < scoringRun.map.height; k++) { + if (!cells[`${i},${j},${k}`]) continue + const victimLF = cells[`${i},${j},${k}`].isLinear ? 'linear' : 'floating'; + const { victims } = cells[`${i},${j},${k}`].tile; + const { tile } = cells[`${i},${j},${k}`]; + let victimType = 'None'; + + victimType = victims.top; + if (victimType != 'None') { + let name; + if (victimLF == 'linear') + name = big[itemList[victimType][victimLF].length]; + else name = small[itemList[victimType][victimLF].length]; + const tmp = { + x: i, + y: j, + z: k, + name, + }; + itemList[victimType][victimLF].push(tmp); + } + + victimType = victims.left; + if (victimType != 'None') { + let name; + if (victimLF == 'linear') + name = big[itemList[victimType][victimLF].length]; + else name = small[itemList[victimType][victimLF].length]; + const tmp = { + x: i, + y: j, + z: k, + name, + }; + itemList[victimType][victimLF].push(tmp); + } + + victimType = victims.right; + if (victimType != 'None') { + let name; + if (victimLF == 'linear') + name = big[itemList[victimType][victimLF].length]; + else name = small[itemList[victimType][victimLF].length]; + const tmp = { + x: i, + y: j, + z: k, + name, + }; + itemList[victimType][victimLF].push(tmp); + } + + victimType = victims.bottom; + if (victimType != 'None') { + let name; + if (victimLF == 'linear') + name = big[itemList[victimType][victimLF].length]; + else name = small[itemList[victimType][victimLF].length]; + const tmp = { + x: i, + y: j, + z: k, + name, + }; + itemList[victimType][victimLF].push(tmp); + } + + if (tile.checkpoint) { + const tmp = { + x: i, + y: j, + z: k, + name: itemList.checkpoint.length + 1, + }; + itemList.checkpoint.push(tmp); + } + + if (tile.speedbump) { + const tmp = { + x: i, + y: j, + z: k, + name: itemList.speedbump.length + 1, + }; + itemList.speedbump.push(tmp); + } + + if (tile.ramp) { + const tmp = { + x: i, + y: j, + z: k, + name: itemList.ramp.length + 1, + }; + itemList.ramp.push(tmp); + } + + if (tile.steps) { + const tmp = { + x: i, + y: j, + z: k, + name: itemList.steps.length + 1, + }; + itemList.steps.push(tmp); + } } } } diff --git a/public/javascripts/admin/mapEditor/maze_2024.js b/public/javascripts/admin/mapEditor/maze_2024.js index 7bc14f61..6fd9a02e 100644 --- a/public/javascripts/admin/mapEditor/maze_2024.js +++ b/public/javascripts/admin/mapEditor/maze_2024.js @@ -135,6 +135,9 @@ app.controller('MazeEditorController', ['$scope', '$uibModal', '$log', '$http',' for (var index in $scope.cells) { $scope.cells[index].isLinear = false; $scope.cells[index].virtualWall = false; + if ($scope.cells[index].tile) { + $scope.cells[index].tile.reachable= false; + } } // Set to virtual wall around the black tile and start tile @@ -191,12 +194,70 @@ app.controller('MazeEditorController', ['$scope', '$uibModal', '$log', '$http',' recurs($scope.cells[index].x-1, $scope.cells[index].y+1, $scope.cells[index].tile.changeFloorTo); } } + + reachable($scope.startTile.x, $scope.startTile.y, $scope.startTile.z); } function isOdd(num) { return num % 2; } + function reachable(x, y, z) { + if (x > $scope.width * 2 + 1 || x < 0 || + y > $scope.length * 2 + 1 || y < 0 || + z > $scope.height || z < 0) + return; + if ($scope.cells[pos(x,y,z)].tile && $scope.cells[pos(x,y,z)].tile.reachable) return; + + setReachable(x, y, z); + + // Top + if (!wallExist(x, y-1, z)) { + reachable(x, y-2, z); + } + // Right + if (!wallExist(x+1, y, z)) { + reachable(x+2, y, z); + } + // Left + if (!wallExist(x-1, y, z)) { + reachable(x-2, y, z); + } + // Bottom + if (!wallExist(x, y+1, z)) { + reachable(x, y+2, z); + } + + // Elevator + if ($scope.cells[pos(x,y,z)].tile.changeFloorTo != undefined && $scope.cells[pos(x,y,z)].tile.changeFloorTo != z) { + reachable(x, y, $scope.cells[pos(x,y,z)].tile.changeFloorTo); + } + } + + function pos(x, y, z) { + return `${x},${y},${z}`; + } + + function wallExist(x, y, z) { + let cell = $scope.cells[pos(x,y,z)]; + if (!cell) return false; + return cell.isWall == true; + } + + function setReachable(x, y, z) { + if ($scope.cells[pos(x,y,z)]) { + $scope.cells[pos(x,y,z)].tile.reachable = true; + } else { + $scope.cells[pos(x,y,z)] = { + isTile: true, + isLinear: false, + tile: { + reachable: true + } + }; + } + } + function recurs(x, y, z) { if (x < 0 || y < 0 || z < 0) { return; @@ -361,9 +422,11 @@ app.controller('MazeEditorController', ['$scope', '$uibModal', '$log', '$http',' let count = 0; for(let i=1,l=$scope.length*2+1;idiv { + height: 250px; +} + +rzslider.rz-vertical { + height: 250px; +} + +.confirmation { + width: 100%; + border: 1px dashed black; +} + +.plusminus { + box-sizing: content-box; + width: 2em; + padding: 0px 15px; +} + +.count { + font-size: 2em; +} diff --git a/public/templates/maze_editor_modal.html b/public/templates/maze_editor_modal.html index f516c365..1b23f500 100755 --- a/public/templates/maze_editor_modal.html +++ b/public/templates/maze_editor_modal.html @@ -22,6 +22,14 @@
  • +
  • +
    + +
  • diff --git a/routes/api/mazeRuns.js b/routes/api/mazeRuns.js index 34707a55..1c7b28ae 100755 --- a/routes/api/mazeRuns.js +++ b/routes/api/mazeRuns.js @@ -105,7 +105,6 @@ publicRouter.get('/competition/:competitionId', function (req, res, next) { err: err.message, }); } else if (dbRuns) { - console.log("ABCD") // Hide map and field from public dbRuns.map(run => { switch(auth.authViewRun(req.user, run, ACCESSLEVELS.NONE + 1, run.competition.preparation)) { diff --git a/routes/api/ranking.js b/routes/api/ranking.js index d76f6b67..32f726f1 100644 --- a/routes/api/ranking.js +++ b/routes/api/ranking.js @@ -364,7 +364,6 @@ publicRouter.get('/:competitionId/:leagueId', async function (req, res, next) { if (result.modeDetails.technicalChallenge) { let tcResult = await getTechnicalChallengeScore(competition, league); for (let tc of tcResult) { - console.log(tc) if (teamRuns[tc.teamId]) { teamRuns[tc.teamId].technicalChallenge = tc.score; } diff --git a/views/admin/mapEditor/maze_2024.pug b/views/admin/mapEditor/maze_2024.pug index f82c9964..c13b057d 100755 --- a/views/admin/mapEditor/maze_2024.pug +++ b/views/admin/mapEditor/maze_2024.pug @@ -82,11 +82,10 @@ block content button.btn.btn-secondary(type='button', ng-click='saveMapAs(asname)') {{"admin.mazeMapEditor.saveAs" | translate}} hr .input-group.mb-3 - //.input-group-prepend - span.input-group-text {{"admin.mazeMapEditor.height" | translate}} - //input.form-control(type='number', ng-model='height', ng-change='sliderOptions.ceil = height - 1', min='1') - //.input-group-append .input-group-prepend + span.input-group-text {{"admin.mazeMapEditor.height" | translate}} + input.form-control(type='number', ng-model='height', ng-change='sliderOptions.ceil = height - 1', min='1') + .input-group-append span.input-group-text {{"admin.mazeMapEditor.width" | translate}} input.form-control(type='number', ng-model='width', min='1') .input-group-append @@ -130,7 +129,7 @@ block content .error(ng-if='startNotSet()') {{"admin.mazeMapEditor.noStart" | translate}} .row .col-11 - //.btn-group(style='margin-bottom:5px;') + .btn-group(style='margin-bottom:5px;') .input-group-prepend span.input-group-text i.fas.fa-arrows-alt-v(aria-hidden='true') @@ -138,42 +137,37 @@ block content table tbody tr(ng-repeat='r in range(2*length + 1)') - td(ng-repeat='c in range(2*width + 1)', ng-class="{'wallspot': $odd != $parent.$odd, 'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z)") - .tile-image-container(ng-show="cells[c+','+r+','+z].isTile") + td(ng-repeat='c in range(2*width + 1)', ng-class="{'wallspot': $odd != $parent.$odd, 'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].tile.reachable && cells[c+','+r+','+z].isLinear, 'floating': cells[c+','+r+','+z].tile.reachable && !cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z)") + .tile-image-container(ng-show="$odd && $parent.$odd") img.tile-image(ng-src='/images/log.png', ng-show="cells[c+','+r+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == c && startTile.y == r && startTile.z == z') - - div(ng-if="leagueType == 'standard'") - img.tile-image(ng-src='/images/ramp.png', ng-show="cells[c+','+r+','+z].tile.ramp") - img.tile-image(ng-src='/images/steps.png', ng-show="cells[c+','+r+','+z].tile.steps") - img.tile-image(ng-src='/images/h_top.png', ng-show="cells[c+','+r+','+z].tile.victims.top == 'H'") - img.tile-image(ng-src='/images/h_right.png', ng-show="cells[c+','+r+','+z].tile.victims.right == 'H'") - img.tile-image(ng-src='/images/h_bottom.png', ng-show="cells[c+','+r+','+z].tile.victims.bottom == 'H'") - img.tile-image(ng-src='/images/h_left.png', ng-show="cells[c+','+r+','+z].tile.victims.left == 'H'") - img.tile-image(ng-src='/images/s_top.png', ng-show="cells[c+','+r+','+z].tile.victims.top == 'S'") - img.tile-image(ng-src='/images/s_right.png', ng-show="cells[c+','+r+','+z].tile.victims.right == 'S'") - img.tile-image(ng-src='/images/s_bottom.png', ng-show="cells[c+','+r+','+z].tile.victims.bottom == 'S'") - img.tile-image(ng-src='/images/s_left.png', ng-show="cells[c+','+r+','+z].tile.victims.left == 'S'") - img.tile-image(ng-src='/images/u_top.png', ng-show="cells[c+','+r+','+z].tile.victims.top == 'U'") - img.tile-image(ng-src='/images/u_right.png', ng-show="cells[c+','+r+','+z].tile.victims.right == 'U'") - img.tile-image(ng-src='/images/u_bottom.png', ng-show="cells[c+','+r+','+z].tile.victims.bottom == 'U'") - img.tile-image(ng-src='/images/u_left.png', ng-show="cells[c+','+r+','+z].tile.victims.left == 'U'") - img.tile-image(ng-src='/images/red_top.png', ng-show="cells[c+','+r+','+z].tile.victims.top == 'Red'") - img.tile-image(ng-src='/images/red_right.png', ng-show="cells[c+','+r+','+z].tile.victims.right == 'Red'") - img.tile-image(ng-src='/images/red_bottom.png', ng-show="cells[c+','+r+','+z].tile.victims.bottom == 'Red'") - img.tile-image(ng-src='/images/red_left.png', ng-show="cells[c+','+r+','+z].tile.victims.left == 'Red'") - img.tile-image(ng-src='/images/yellow_top.png', ng-show="cells[c+','+r+','+z].tile.victims.top == 'Yellow'") - img.tile-image(ng-src='/images/yellow_right.png', ng-show="cells[c+','+r+','+z].tile.victims.right == 'Yellow'") - img.tile-image(ng-src='/images/yellow_bottom.png', ng-show="cells[c+','+r+','+z].tile.victims.bottom == 'Yellow'") - img.tile-image(ng-src='/images/yellow_left.png', ng-show="cells[c+','+r+','+z].tile.victims.left == 'Yellow'") - img.tile-image(ng-src='/images/green_top.png', ng-show="cells[c+','+r+','+z].tile.victims.top == 'Green'") - img.tile-image(ng-src='/images/green_right.png', ng-show="cells[c+','+r+','+z].tile.victims.right == 'Green'") - img.tile-image(ng-src='/images/green_bottom.png', ng-show="cells[c+','+r+','+z].tile.victims.bottom == 'Green'") - img.tile-image(ng-src='/images/green_left.png', ng-show="cells[c+','+r+','+z].tile.victims.left == 'Green'") - - div(ng-if="leagueType == 'entry'") - img.tile-image(ng-src='/images/red_floor.png', ng-show="cells[c+','+r+','+z].tile.victims.floor == 'Red'") - img.tile-image(ng-src='/images/green_floor.png', ng-show="cells[c+','+r+','+z].tile.victims.floor == 'Green'") + img.tile-image(ng-src='/images/elevator.png', ng-show="!isUndefined(cells[c+','+r+','+z].tile.changeFloorTo) && cells[c+','+r+','+z].tile.changeFloorTo != z") + img.tile-image(ng-src='/images/ramp.png', ng-show="cells[c+','+r+','+z].tile.ramp") + img.tile-image(ng-src='/images/steps.png', ng-show="cells[c+','+r+','+z].tile.steps") + img.tile-image(ng-src='/images/h_top.png', ng-show="cells[c+','+r+','+z].tile.victims.top == 'H'") + img.tile-image(ng-src='/images/h_right.png', ng-show="cells[c+','+r+','+z].tile.victims.right == 'H'") + img.tile-image(ng-src='/images/h_bottom.png', ng-show="cells[c+','+r+','+z].tile.victims.bottom == 'H'") + img.tile-image(ng-src='/images/h_left.png', ng-show="cells[c+','+r+','+z].tile.victims.left == 'H'") + img.tile-image(ng-src='/images/s_top.png', ng-show="cells[c+','+r+','+z].tile.victims.top == 'S'") + img.tile-image(ng-src='/images/s_right.png', ng-show="cells[c+','+r+','+z].tile.victims.right == 'S'") + img.tile-image(ng-src='/images/s_bottom.png', ng-show="cells[c+','+r+','+z].tile.victims.bottom == 'S'") + img.tile-image(ng-src='/images/s_left.png', ng-show="cells[c+','+r+','+z].tile.victims.left == 'S'") + img.tile-image(ng-src='/images/u_top.png', ng-show="cells[c+','+r+','+z].tile.victims.top == 'U'") + img.tile-image(ng-src='/images/u_right.png', ng-show="cells[c+','+r+','+z].tile.victims.right == 'U'") + img.tile-image(ng-src='/images/u_bottom.png', ng-show="cells[c+','+r+','+z].tile.victims.bottom == 'U'") + img.tile-image(ng-src='/images/u_left.png', ng-show="cells[c+','+r+','+z].tile.victims.left == 'U'") + img.tile-image(ng-src='/images/red_top.png', ng-show="cells[c+','+r+','+z].tile.victims.top == 'Red'") + img.tile-image(ng-src='/images/red_right.png', ng-show="cells[c+','+r+','+z].tile.victims.right == 'Red'") + img.tile-image(ng-src='/images/red_bottom.png', ng-show="cells[c+','+r+','+z].tile.victims.bottom == 'Red'") + img.tile-image(ng-src='/images/red_left.png', ng-show="cells[c+','+r+','+z].tile.victims.left == 'Red'") + img.tile-image(ng-src='/images/yellow_top.png', ng-show="cells[c+','+r+','+z].tile.victims.top == 'Yellow'") + img.tile-image(ng-src='/images/yellow_right.png', ng-show="cells[c+','+r+','+z].tile.victims.right == 'Yellow'") + img.tile-image(ng-src='/images/yellow_bottom.png', ng-show="cells[c+','+r+','+z].tile.victims.bottom == 'Yellow'") + img.tile-image(ng-src='/images/yellow_left.png', ng-show="cells[c+','+r+','+z].tile.victims.left == 'Yellow'") + img.tile-image(ng-src='/images/green_top.png', ng-show="cells[c+','+r+','+z].tile.victims.top == 'Green'") + img.tile-image(ng-src='/images/green_right.png', ng-show="cells[c+','+r+','+z].tile.victims.right == 'Green'") + img.tile-image(ng-src='/images/green_bottom.png', ng-show="cells[c+','+r+','+z].tile.victims.bottom == 'Green'") + img.tile-image(ng-src='/images/green_left.png', ng-show="cells[c+','+r+','+z].tile.victims.left == 'Green'") .col-1 button.btn.btn-info(type='button', ng-click='openMaxScore()') @@ -214,19 +208,19 @@ block content color: #e84393; background-color: #e84393; } - table - tbody - tr(ng-repeat='r in range(2*length + 1)') - td(ng-repeat='c in range(2*width + 1)', ng-class="{'wallspot': $odd != $parent.$odd, 'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].isLinear}" , ng-style="wallColor(c,r,z)") - .tile-image-container(ng-show="cells[c+','+r+','+z].isTile" style="position: relative;") - div.maru.size_normal.blue1(style="left:1px;top:1px;position: absolute;border-radius:0%;z-index:3;" ng-if="cells[c+','+r+','+z].tile.checkpoint") - div.letter3(ng-bind="itemNumber('checkpoint',c,r,z)") - img.tile-image(ng-src='/images/log.png', ng-show="cells[c+','+r+','+z].tile.speedbump") - div.maru.size_normal.blue1(style="right:1px;bottom:1px;position: absolute;z-index:3;" ng-if="cells[c+','+r+','+z].tile.speedbump") - div.letter3(ng-bind="itemNumber('speedbump',c,r,z)") - img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == c && startTile.y == r && startTile.z == z') - - div(ng-if="leagueType == 'standard'") + div(ng-repeat='z in range(height)') + table + tbody + tr(ng-repeat='r in range(2*length + 1)' ng-show="showRow(r,z)") + td(ng-repeat='c in range(2*width + 1)', ng-class="{'wallspot': $odd != $parent.$odd, 'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].tile.reachable && cells[c+','+r+','+z].isLinear, 'floating': cells[c+','+r+','+z].tile.reachable && !cells[c+','+r+','+z].isLinear}" , ng-style="wallColor(c,r,z)") + .tile-image-container(ng-show="$odd && $parent.$odd") + div.maru.size_normal.blue1(style="left:1px;top:1px;position: absolute;border-radius:0%;z-index:3;" ng-if="cells[c+','+r+','+z].tile.checkpoint") + div.letter3(ng-bind="itemNumber('checkpoint',c,r,z)") + img.tile-image(ng-src='/images/log.png', ng-show="cells[c+','+r+','+z].tile.speedbump") + div.maru.size_normal.blue1(style="right:1px;bottom:1px;position: absolute;z-index:3;" ng-if="cells[c+','+r+','+z].tile.speedbump") + div.letter3(ng-bind="itemNumber('speedbump',c,r,z)") + img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == c && startTile.y == r && startTile.z == z') + img.tile-image(ng-src='/images/elevator.png', ng-show="!isUndefined(cells[c+','+r+','+z].tile.changeFloorTo) && cells[c+','+r+','+z].tile.changeFloorTo != z") img.tile-image(ng-src='/images/ramp.png', ng-show="cells[c+','+r+','+z].tile.ramp") div.maru.size_normal.blue1(style="right:13px;top:12px;position: absolute;z-index:3;border-radius:25%;" ng-if="cells[c+','+r+','+z].tile.ramp") div.letter3(ng-bind="itemNumber('ramp',c,r,z)") @@ -335,15 +329,6 @@ block content img.tile-image(ng-src='/images/green_bottom.png') div.maru.size_normal.pink1(style="left:5px;bottom:-10px;position: absolute;z-index:3;") div.letter3(ng-bind="victimNumber('Green',c,r,z,'bottom')") - - div(ng-if="leagueType == 'entry'") - div(ng-if="cells[c+','+r+','+z].tile.victims.floor == 'Red'") - img.tile-image(ng-src='/images/red_floor.png') - div.maru.size_normal.pink1(style="right:5px;top:-10px;position: absolute;z-index:3;") - div.letter3(ng-bind="victimNumber('Red',c,r,z,'floor')") - div(ng-if="cells[c+','+r+','+z].tile.victims.floor == 'Green'") - img.tile-image(ng-src='/images/green_floor.png') - div.maru.size_normal.pink1(style="left:5px;bottom:-10px;position: absolute;z-index:3;") - div.letter3(ng-bind="victimNumber('Green',c,r,z,'floor')") + hr(ng-show="!$last" style="border-top: 1px solid black;margin-top:10px;margin-bottom:10px;") diff --git a/views/admin/mapEditor/maze_2024E.pug b/views/admin/mapEditor/maze_2024E.pug index f82c9964..2a924b9b 100755 --- a/views/admin/mapEditor/maze_2024E.pug +++ b/views/admin/mapEditor/maze_2024E.pug @@ -138,8 +138,8 @@ block content table tbody tr(ng-repeat='r in range(2*length + 1)') - td(ng-repeat='c in range(2*width + 1)', ng-class="{'wallspot': $odd != $parent.$odd, 'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z)") - .tile-image-container(ng-show="cells[c+','+r+','+z].isTile") + td(ng-repeat='c in range(2*width + 1)', ng-class="{'wallspot': $odd != $parent.$odd, 'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].tile.reachable && cells[c+','+r+','+z].isLinear, 'floating': cells[c+','+r+','+z].tile.reachable && !cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z)") + .tile-image-container(ng-show="$odd && $parent.$odd") img.tile-image(ng-src='/images/log.png', ng-show="cells[c+','+r+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == c && startTile.y == r && startTile.z == z') @@ -217,8 +217,8 @@ block content table tbody tr(ng-repeat='r in range(2*length + 1)') - td(ng-repeat='c in range(2*width + 1)', ng-class="{'wallspot': $odd != $parent.$odd, 'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].isLinear}" , ng-style="wallColor(c,r,z)") - .tile-image-container(ng-show="cells[c+','+r+','+z].isTile" style="position: relative;") + td(ng-repeat='c in range(2*width + 1)', ng-class="{'wallspot': $odd != $parent.$odd, 'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].tile.reachable && cells[c+','+r+','+z].isLinear, 'floating': cells[c+','+r+','+z].tile.reachable && !cells[c+','+r+','+z].isLinear}" , ng-style="wallColor(c,r,z)") + .tile-image-container(ng-show="$odd && $parent.$odd") div.maru.size_normal.blue1(style="left:1px;top:1px;position: absolute;border-radius:0%;z-index:3;" ng-if="cells[c+','+r+','+z].tile.checkpoint") div.letter3(ng-bind="itemNumber('checkpoint',c,r,z)") img.tile-image(ng-src='/images/log.png', ng-show="cells[c+','+r+','+z].tile.speedbump") diff --git a/views/judge/maze_2024.pug b/views/judge/maze_2024.pug index 29b56251..408b09ba 100755 --- a/views/judge/maze_2024.pug +++ b/views/judge/maze_2024.pug @@ -194,8 +194,9 @@ html(ng-app="ddApp") table.map.mx-auto(ng-if='sRotate == 0')#mapTable tbody tr(ng-repeat='r in range(2*length + 1)') - td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z,0)") - .tile-image-container(ng-show="cells[c+','+r+','+z].isTile") + td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].tile.reachable && cells[c+','+r+','+z].isLinear, 'floating': cells[c+','+r+','+z].tile.reachable && !cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z,0)") + .tile-image-container(ng-show="$odd && $parent.$odd") + img.tile-image(ng-src='/images/elevator.png', ng-show="!isUndefined(cells[c+','+r+','+z].tile.changeFloorTo) && cells[c+','+r+','+z].tile.changeFloorTo != z") img.tile-image(ng-src='/images/log.png', ng-show="cells[c+','+r+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == c && startTile.y == r && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[c+','+r+','+z].tile.ramp") @@ -232,8 +233,9 @@ html(ng-app="ddApp") table.map.mx-auto(ng-if='sRotate == 90')#mapTable tbody tr(ng-repeat='r in range(2*width + 1)') - td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[r+','+(2*length - c)+','+z].isWall, 'checkpoint': cells[r+','+(2*length - c)+','+z].tile.checkpoint, 'black': cells[r+','+(2*length - c)+','+z].tile.black, 'blue': cells[r+','+(2*length - c)+','+z].tile.blue, 'linear': cells[r+','+(2*length - c)+','+z].isLinear}", ng-click='cellClick(r, (2*length - c), z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(r,2*length - c,z,90)") - .tile-image-container(ng-show="cells[r+','+(2*length - c)+','+z].isTile") + td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[r+','+(2*length - c)+','+z].isWall, 'checkpoint': cells[r+','+(2*length - c)+','+z].tile.checkpoint, 'black': cells[r+','+(2*length - c)+','+z].tile.black, 'blue': cells[r+','+(2*length - c)+','+z].tile.blue, 'linear': cells[r+','+(2*length - c)+','+z].tile.reachable && cells[r+','+(2*length - c)+','+z].isLinear, 'floating': cells[r+','+(2*length - c)+','+z].tile.reachable && !cells[r+','+(2*length - c)+','+z].isLinear}", ng-click='cellClick(r, (2*length - c), z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(r,2*length - c,z,90)") + .tile-image-container(ng-show="$odd && $parent.$odd") + img.tile-image(ng-src='/images/elevator.png', ng-show="!isUndefined(cells[r+','+(2*length - c)+','+z].tile.changeFloorTo) && cells[r+','+(2*length - c)+','+z].tile.changeFloorTo != z") img.tile-image(ng-src='/images/log.png', ng-show="cells[r+','+(2*length - c)+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == r && startTile.y == (2*length - c) && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[r+','+(2*length - c)+','+z].tile.ramp") @@ -270,8 +272,9 @@ html(ng-app="ddApp") table.map.mx-auto(ng-if='sRotate == 180')#mapTable tbody tr(ng-repeat='r in range(2*length + 1)') - td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - c+','+(2*length - r)+','+z].isWall, 'checkpoint': cells[2*width - c+','+(2*length - r)+','+z].tile.checkpoint, 'black': cells[2*width - c+','+(2*length - r)+','+z].tile.black, 'blue': cells[2*width - c+','+(2*length - r)+','+z].tile.blue, 'linear': cells[2*width - c+','+(2*length - r)+','+z].isLinear}", ng-click='cellClick(2*width - c, 2*length - r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - c, 2*length - r, z,180)") - .tile-image-container(ng-show="cells[2*width - c+','+(2*length - r)+','+z].isTile") + td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - c+','+(2*length - r)+','+z].isWall, 'checkpoint': cells[2*width - c+','+(2*length - r)+','+z].tile.checkpoint, 'black': cells[2*width - c+','+(2*length - r)+','+z].tile.black, 'blue': cells[2*width - c+','+(2*length - r)+','+z].tile.blue, 'linear': cells[2*width - c+','+(2*length - r)+','+z].tile.reachable && cells[2*width - c+','+(2*length - r)+','+z].isLinear, 'floating': cells[2*width - c+','+(2*length - r)+','+z].tile.reachable && !cells[2*width - c+','+(2*length - r)+','+z].isLinear}", ng-click='cellClick(2*width - c, 2*length - r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - c, 2*length - r, z,180)") + .tile-image-container(ng-show="$odd && $parent.$odd") + img.tile-image(ng-src='/images/elevator.png', ng-show="!isUndefined(cells[2*width - c+','+(2*length - r)+','+z].tile.changeFloorTo) && cells[2*width - c+','+(2*length - r)+','+z].tile.changeFloorTo != z") img.tile-image(ng-src='/images/log.png', ng-show="cells[2*width - c+','+(2*length - r)+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == 2*width - c && startTile.y == 2*length - r && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[2*width - c+','+(2*length - r)+','+z].tile.ramp") @@ -308,8 +311,9 @@ html(ng-app="ddApp") table.map.mx-auto(ng-if='sRotate == 270')#mapTable tbody tr(ng-repeat='r in range(2*width + 1)') - td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - r+','+c+','+z].isWall, 'checkpoint': cells[2*width - r+','+c+','+z].tile.checkpoint, 'black': cells[2*width - r+','+c+','+z].tile.black, 'blue': cells[2*width - r+','+c+','+z].tile.blue, 'linear': cells[2*width - r+','+c+','+z].isLinear}", ng-click='cellClick(2*width - r, c, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - r, c, z,270)") - .tile-image-container(ng-show="cells[2*width - r+','+c+','+z].isTile") + td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - r+','+c+','+z].isWall, 'checkpoint': cells[2*width - r+','+c+','+z].tile.checkpoint, 'black': cells[2*width - r+','+c+','+z].tile.black, 'blue': cells[2*width - r+','+c+','+z].tile.blue, 'linear': cells[2*width - r+','+c+','+z].tile.reachable && cells[2*width - r+','+c+','+z].isLinear, 'floating': cells[2*width - r+','+c+','+z].tile.reachable && !cells[2*width - r+','+c+','+z].isLinear}", ng-click='cellClick(2*width - r, c, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - r, c, z,270)") + .tile-image-container(ng-show="$odd && $parent.$odd") + img.tile-image(ng-src='/images/elevator.png', ng-show="!isUndefined(cells[2*width - r+','+c+','+z].tile.changeFloorTo) && cells[2*width - r+','+c+','+z].tile.changeFloorTo != z") img.tile-image(ng-src='/images/log.png', ng-show="cells[2*width - r+','+c+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == 2*width - r && startTile.y == c && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[2*width - r+','+c+','+z].tile.ramp") diff --git a/views/judge/maze_2024E.pug b/views/judge/maze_2024E.pug index 5a1e78c4..b482d955 100755 --- a/views/judge/maze_2024E.pug +++ b/views/judge/maze_2024E.pug @@ -194,8 +194,8 @@ html(ng-app="ddApp") table.map.mx-auto(ng-if='sRotate == 0')#mapTable tbody tr(ng-repeat='r in range(2*length + 1)') - td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z,0)") - .tile-image-container(ng-show="cells[c+','+r+','+z].isTile") + td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].tile.reachable && cells[c+','+r+','+z].isLinear, 'floating': cells[c+','+r+','+z].tile.reachable && !cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z,0)") + .tile-image-container(ng-show="$odd && $parent.$odd") img.tile-image(ng-src='/images/log.png', ng-show="cells[c+','+r+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == c && startTile.y == r && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[c+','+r+','+z].tile.ramp") @@ -232,8 +232,8 @@ html(ng-app="ddApp") table.map.mx-auto(ng-if='sRotate == 90')#mapTable tbody tr(ng-repeat='r in range(2*width + 1)') - td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[r+','+(2*length - c)+','+z].isWall, 'checkpoint': cells[r+','+(2*length - c)+','+z].tile.checkpoint, 'black': cells[r+','+(2*length - c)+','+z].tile.black, 'blue': cells[r+','+(2*length - c)+','+z].tile.blue, 'linear': cells[r+','+(2*length - c)+','+z].isLinear}", ng-click='cellClick(r, (2*length - c), z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(r,2*length - c,z,90)") - .tile-image-container(ng-show="cells[r+','+(2*length - c)+','+z].isTile") + td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[r+','+(2*length - c)+','+z].isWall, 'checkpoint': cells[r+','+(2*length - c)+','+z].tile.checkpoint, 'black': cells[r+','+(2*length - c)+','+z].tile.black, 'blue': cells[r+','+(2*length - c)+','+z].tile.blue, 'linear': cells[r+','+(2*length - c)+','+z].tile.reachable && cells[r+','+(2*length - c)+','+z].isLinear, 'floating': cells[r+','+(2*length - c)+','+z].tile.reachable && !cells[2*width - r+','+c+','+z].isLinear}", ng-click='cellClick(r, (2*length - c), z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(r,2*length - c,z,90)") + .tile-image-container(ng-show="$odd && $parent.$odd") img.tile-image(ng-src='/images/log.png', ng-show="cells[r+','+(2*length - c)+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == r && startTile.y == (2*length - c) && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[r+','+(2*length - c)+','+z].tile.ramp") @@ -270,8 +270,8 @@ html(ng-app="ddApp") table.map.mx-auto(ng-if='sRotate == 180')#mapTable tbody tr(ng-repeat='r in range(2*length + 1)') - td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - c+','+(2*length - r)+','+z].isWall, 'checkpoint': cells[2*width - c+','+(2*length - r)+','+z].tile.checkpoint, 'black': cells[2*width - c+','+(2*length - r)+','+z].tile.black, 'blue': cells[2*width - c+','+(2*length - r)+','+z].tile.blue, 'linear': cells[2*width - c+','+(2*length - r)+','+z].isLinear}", ng-click='cellClick(2*width - c, 2*length - r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - c, 2*length - r, z,180)") - .tile-image-container(ng-show="cells[2*width - c+','+(2*length - r)+','+z].isTile") + td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - c+','+(2*length - r)+','+z].isWall, 'checkpoint': cells[2*width - c+','+(2*length - r)+','+z].tile.checkpoint, 'black': cells[2*width - c+','+(2*length - r)+','+z].tile.black, 'blue': cells[2*width - c+','+(2*length - r)+','+z].tile.blue, 'linear': cells[2*width - c+','+(2*length - r)+','+z].tile.reachable && cells[2*width - c+','+(2*length - r)+','+z].isLinear, 'floating': cells[2*width - c+','+(2*length - r)+','+z].tile.reachable && !cells[2*width - c+','+(2*length - r)+','+z].isLinear}", ng-click='cellClick(2*width - c, 2*length - r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - c, 2*length - r, z,180)") + .tile-image-container(ng-show="$odd && $parent.$odd") img.tile-image(ng-src='/images/log.png', ng-show="cells[2*width - c+','+(2*length - r)+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == 2*width - c && startTile.y == 2*length - r && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[2*width - c+','+(2*length - r)+','+z].tile.ramp") @@ -308,8 +308,8 @@ html(ng-app="ddApp") table.map.mx-auto(ng-if='sRotate == 270')#mapTable tbody tr(ng-repeat='r in range(2*width + 1)') - td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - r+','+c+','+z].isWall, 'checkpoint': cells[2*width - r+','+c+','+z].tile.checkpoint, 'black': cells[2*width - r+','+c+','+z].tile.black, 'blue': cells[2*width - r+','+c+','+z].tile.blue, 'linear': cells[2*width - r+','+c+','+z].isLinear}", ng-click='cellClick(2*width - r, c, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - r, c, z,270)") - .tile-image-container(ng-show="cells[2*width - r+','+c+','+z].isTile") + td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - r+','+c+','+z].isWall, 'checkpoint': cells[2*width - r+','+c+','+z].tile.checkpoint, 'black': cells[2*width - r+','+c+','+z].tile.black, 'blue': cells[2*width - r+','+c+','+z].tile.blue, 'linear': cells[2*width - r+','+c+','+z].tile.reachable && cells[2*width - r+','+c+','+z].isLinear, 'floating': cells[2*width - r+','+c+','+z].tile.reachable && !cells[2*width - r+','+c+','+z].isLinear}", ng-click='cellClick(2*width - r, c, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - r, c, z,270)") + .tile-image-container(ng-show="$odd && $parent.$odd") img.tile-image(ng-src='/images/log.png', ng-show="cells[2*width - r+','+c+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == 2*width - r && startTile.y == c && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[2*width - r+','+c+','+z].tile.ramp") diff --git a/views/manual/check/line_2024.pug b/views/manual/check/line_2024.pug index 82da82d7..2dde2910 100755 --- a/views/manual/check/line_2024.pug +++ b/views/manual/check/line_2024.pug @@ -175,7 +175,7 @@ html(ng-app="ddApp") .row .col-md-6 button.btn.btn-danger.btn-lg(type='button', ng-click='cancel()', style="margin-bottom:20px;") - i.fas.fa-times.fa-2x(aria-hidden='true') Cancel + i.fas.fa-times.fa-2x(aria-hidden='true') Reject .col-md-6 button.btn.btn-success.btn-lg(type='button', ng-click='approval()', style="margin-bottom:20px;") - i.fas.fa-check.fa-2x(aria-hidden='true') Approval \ No newline at end of file + i.fas.fa-check.fa-2x(aria-hidden='true') Approve \ No newline at end of file diff --git a/views/manual/check/maze_2024.pug b/views/manual/check/maze_2024.pug index 3da2d699..fca3c7c8 100755 --- a/views/manual/check/maze_2024.pug +++ b/views/manual/check/maze_2024.pug @@ -179,7 +179,7 @@ html(ng-app="ddApp") .row(style="text-align:center;") .col-md-6 button.btn.btn-danger.btn-lg(type='button', ng-click='cancel()', style="margin-bottom:20px;") - i.fas.fa-times.fa-2x(aria-hidden='true') Cancel + i.fas.fa-times.fa-2x(aria-hidden='true') Reject .col-md-6 button.btn.btn-success.btn-lg(type='button', ng-click='approval()', style="margin-bottom:20px;") - i.fas.fa-check.fa-2x(aria-hidden='true') Approval \ No newline at end of file + i.fas.fa-check.fa-2x(aria-hidden='true') Approve \ No newline at end of file diff --git a/views/sim_editor/sim_editor_2023.pug b/views/sim_editor/sim_editor_2023.pug index c377e1bc..1c3da858 100644 --- a/views/sim_editor/sim_editor_2023.pug +++ b/views/sim_editor/sim_editor_2023.pug @@ -19,7 +19,7 @@ append scripts script(src="/javascripts/opencv.js") append css - link(href="/stylesheets/maze_edit.css" rel="stylesheet") + link(href="/stylesheets/sim_edit.css" rel="stylesheet") link(href="/components/bootstrap-fileinput/css/fileinput.min.css" rel="stylesheet") block location @@ -98,7 +98,7 @@ block content tbody tr(ng-repeat='r in range(2*length + 1)') td(ng-repeat='c in range(2*width + 1)', ng-class="{'wallspot': $odd != $parent.$odd, 'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="tileColour(c,r,z)") - .tile-image-container(ng-show="cells[c+','+r+','+z].isTile") + .tile-image-container(ng-show="$odd && $parent.$odd") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == c && startTile.y == r && startTile.z == z') img.tile-image(ng-src='/images/h_top.png', ng-show="cells[c+','+r+','+z].tile.victims.top == 'H' || cells[c+','+r+','+z].tile.halfWallVic[0] == 1 || cells[c+','+r+','+z].tile.halfWallVic[4] == 1 || cells[c+','+r+','+z].tile.halfWallVic[1] == 1 || cells[c+','+r+','+z].tile.halfWallVic[7] == 1") img.tile-image(ng-src='/images/h_right.png', ng-show="cells[c+','+r+','+z].tile.victims.right == 'H' || cells[c+','+r+','+z].tile.halfWallVic[5] == 1 || cells[c+','+r+','+z].tile.halfWallVic[13] == 1 || cells[c+','+r+','+z].tile.halfWallVic[6] == 1 || cells[c+','+r+','+z].tile.halfWallVic[12] == 1") @@ -192,7 +192,7 @@ block content tbody tr(ng-repeat='r in range(2*length + 1)') td(ng-repeat='c in range(2*width + 1)', ng-class="{'wallspot': $odd != $parent.$odd, 'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'linear': cells[c+','+r+','+z].isLinear}" , ng-style="wallColor(c,r,z)") - .tile-image-container(ng-show="cells[c+','+r+','+z].isTile" style="position: relative;") + .tile-image-container(ng-show="$odd && $parent.$odd") div.maru.size_normal.blue1(style="left:1px;top:1px;position: absolute;border-radius:0%;z-index:3;" ng-if="cells[c+','+r+','+z].tile.checkpoint") div.letter3(ng-bind="itemNumber('checkpoint',c,r,z)") img.tile-image(ng-src='/images/log.png', ng-show="cells[c+','+r+','+z].tile.speedbump") diff --git a/views/sim_editor/sim_editor_2024.pug b/views/sim_editor/sim_editor_2024.pug index 550ba761..fb74a427 100644 --- a/views/sim_editor/sim_editor_2024.pug +++ b/views/sim_editor/sim_editor_2024.pug @@ -83,7 +83,7 @@ block content tbody tr(ng-repeat='r in range(2*length + 1)') td(ng-repeat='c in range(2*width + 1)', ng-class="{'wallspot': $odd != $parent.$odd, 'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="tileColour(c,r,z)") - .tile-image-container(ng-show="cells[c+','+r+','+z].isTile") + .tile-image-container(ng-show="$odd && $parent.$odd") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == c && startTile.y == r && startTile.z == z') img.tile-image(ng-src='/images/h_top.png', ng-show="cells[c+','+r+','+z].tile.victims.top == 'H' || cells[c+','+r+','+z].tile.halfWallVic[0] == 1 || cells[c+','+r+','+z].tile.halfWallVic[4] == 1 || cells[c+','+r+','+z].tile.halfWallVic[1] == 1 || cells[c+','+r+','+z].tile.halfWallVic[7] == 1") img.tile-image(ng-src='/images/h_right.png', ng-show="cells[c+','+r+','+z].tile.victims.right == 'H' || cells[c+','+r+','+z].tile.halfWallVic[5] == 1 || cells[c+','+r+','+z].tile.halfWallVic[13] == 1 || cells[c+','+r+','+z].tile.halfWallVic[6] == 1 || cells[c+','+r+','+z].tile.halfWallVic[12] == 1") diff --git a/views/view/common/maze_2024.pug b/views/view/common/maze_2024.pug index 6b5a2c51..02c96685 100755 --- a/views/view/common/maze_2024.pug +++ b/views/view/common/maze_2024.pug @@ -71,8 +71,9 @@ table.map.mx-auto(ng-if='sRotate == 0')#mapTable tbody tr(ng-repeat='r in range(2*length + 1)') - td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z,0)") - .tile-image-container(ng-show="cells[c+','+r+','+z].isTile") + td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].tile.reachable && cells[c+','+r+','+z].isLinear, 'floating': cells[c+','+r+','+z].tile.reachable && !cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z,0)") + .tile-image-container(ng-show="$odd && $parent.$odd") + img.tile-image(ng-src='/images/elevator.png', ng-show="!isUndefined(cells[c+','+r+','+z].tile.changeFloorTo) && cells[c+','+r+','+z].tile.changeFloorTo != z") img.tile-image(ng-src='/images/log.png', ng-show="cells[c+','+r+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == c && startTile.y == r && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[c+','+r+','+z].tile.ramp") @@ -108,8 +109,9 @@ table.map.mx-auto(ng-if='sRotate == 90')#mapTable tbody tr(ng-repeat='r in range(2*width + 1)') - td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[r+','+(2*length - c)+','+z].isWall, 'checkpoint': cells[r+','+(2*length - c)+','+z].tile.checkpoint, 'black': cells[r+','+(2*length - c)+','+z].tile.black, 'blue': cells[r+','+(2*length - c)+','+z].tile.blue, 'linear': cells[r+','+(2*length - c)+','+z].isLinear}", ng-click='cellClick(r, (2*length - c), z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(r,2*length - c,z,90)") - .tile-image-container(ng-show="cells[r+','+(2*length - c)+','+z].isTile") + td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[r+','+(2*length - c)+','+z].isWall, 'checkpoint': cells[r+','+(2*length - c)+','+z].tile.checkpoint, 'black': cells[r+','+(2*length - c)+','+z].tile.black, 'blue': cells[r+','+(2*length - c)+','+z].tile.blue, 'linear': cells[r+','+(2*length - c)+','+z].tile.reachable && cells[r+','+(2*length - c)+','+z].isLinear, 'floating': cells[r+','+(2*length - c)+','+z].tile.reachable && !cells[r+','+(2*length - c)+','+z].isLinear}", ng-click='cellClick(r, (2*length - c), z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(r,2*length - c,z,90)") + .tile-image-container(ng-show="$odd && $parent.$odd") + img.tile-image(ng-src='/images/elevator.png', ng-show="!isUndefined(cells[r+','+(2*length - c)+','+z].tile.changeFloorTo) && cells[r+','+(2*length - c)+','+z].tile.changeFloorTo != z") img.tile-image(ng-src='/images/log.png', ng-show="cells[r+','+(2*length - c)+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == r && startTile.y == (2*length - c) && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[r+','+(2*length - c)+','+z].tile.ramp") @@ -145,8 +147,9 @@ table.map.mx-auto(ng-if='sRotate == 180')#mapTable tbody tr(ng-repeat='r in range(2*length + 1)') - td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - c+','+(2*length - r)+','+z].isWall, 'checkpoint': cells[2*width - c+','+(2*length - r)+','+z].tile.checkpoint, 'black': cells[2*width - c+','+(2*length - r)+','+z].tile.black, 'blue': cells[2*width - c+','+(2*length - r)+','+z].tile.blue, 'linear': cells[2*width - c+','+(2*length - r)+','+z].isLinear}", ng-click='cellClick(2*width - c, 2*length - r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - c, 2*length - r, z,180)") - .tile-image-container(ng-show="cells[2*width - c+','+(2*length - r)+','+z].isTile") + td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - c+','+(2*length - r)+','+z].isWall, 'checkpoint': cells[2*width - c+','+(2*length - r)+','+z].tile.checkpoint, 'black': cells[2*width - c+','+(2*length - r)+','+z].tile.black, 'blue': cells[2*width - c+','+(2*length - r)+','+z].tile.blue, 'linear': cells[2*width - c+','+(2*length - r)+','+z].tile.reachable && cells[2*width - c+','+(2*length - r)+','+z].isLinear, 'floating': cells[2*width - c+','+(2*length - r)+','+z].tile.reachable && !cells[2*width - c+','+(2*length - r)+','+z].isLinear}", ng-click='cellClick(2*width - c, 2*length - r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - c, 2*length - r, z,180)") + .tile-image-container(ng-show="$odd && $parent.$odd") + img.tile-image(ng-src='/images/elevator.png', ng-show="!isUndefined(cells[2*width - c+','+(2*length - r)+','+z].tile.changeFloorTo) && cells[2*width - c+','+(2*length - r)+','+z].tile.changeFloorTo != z") img.tile-image(ng-src='/images/log.png', ng-show="cells[2*width - c+','+(2*length - r)+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == 2*width - c && startTile.y == 2*length - r && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[2*width - c+','+(2*length - r)+','+z].tile.ramp") @@ -182,8 +185,9 @@ table.map.mx-auto(ng-if='sRotate == 270')#mapTable tbody tr(ng-repeat='r in range(2*width + 1)') - td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - r+','+c+','+z].isWall, 'checkpoint': cells[2*width - r+','+c+','+z].tile.checkpoint, 'black': cells[2*width - r+','+c+','+z].tile.black, 'blue': cells[2*width - r+','+c+','+z].tile.blue, 'linear': cells[2*width - r+','+c+','+z].isLinear}", ng-click='cellClick(2*width - r, c, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - r, c, z,270)") - .tile-image-container(ng-show="cells[2*width - r+','+c+','+z].isTile") + td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - r+','+c+','+z].isWall, 'checkpoint': cells[2*width - r+','+c+','+z].tile.checkpoint, 'black': cells[2*width - r+','+c+','+z].tile.black, 'blue': cells[2*width - r+','+c+','+z].tile.blue, 'linear': cells[2*width - r+','+c+','+z].tile.reachable && cells[2*width - r+','+c+','+z].isLinear, 'floating': cells[2*width - r+','+c+','+z].tile.reachable && !cells[2*width - r+','+c+','+z].isLinear}", ng-click='cellClick(2*width - r, c, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - r, c, z,270)") + .tile-image-container(ng-show="$odd && $parent.$odd") + img.tile-image(ng-src='/images/elevator.png', ng-show="!isUndefined(cells[2*width - r+','+c+','+z].tile.changeFloorTo) && cells[2*width - r+','+c+','+z].tile.changeFloorTo != z") img.tile-image(ng-src='/images/log.png', ng-show="cells[2*width - r+','+c+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == 2*width - r && startTile.y == c && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[2*width - r+','+c+','+z].tile.ramp") diff --git a/views/view/common/maze_2024E.pug b/views/view/common/maze_2024E.pug index c059e18b..a9b6d86c 100755 --- a/views/view/common/maze_2024E.pug +++ b/views/view/common/maze_2024E.pug @@ -71,8 +71,8 @@ table.map.mx-auto(ng-if='sRotate == 0')#mapTable tbody tr(ng-repeat='r in range(2*length + 1)') - td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z,0)") - .tile-image-container(ng-show="cells[c+','+r+','+z].isTile") + td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].tile.reachable && cells[c+','+r+','+z].isLinear, 'floating': cells[c+','+r+','+z].tile.reachable && !cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z,0)") + .tile-image-container(ng-show="$odd && $parent.$odd") img.tile-image(ng-src='/images/log.png', ng-show="cells[c+','+r+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == c && startTile.y == r && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[c+','+r+','+z].tile.ramp") @@ -110,8 +110,8 @@ table.map.mx-auto(ng-if='sRotate == 90')#mapTable tbody tr(ng-repeat='r in range(2*width + 1)') - td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[r+','+(2*length - c)+','+z].isWall, 'checkpoint': cells[r+','+(2*length - c)+','+z].tile.checkpoint, 'black': cells[r+','+(2*length - c)+','+z].tile.black, 'blue': cells[r+','+(2*length - c)+','+z].tile.blue, 'linear': cells[r+','+(2*length - c)+','+z].isLinear}", ng-click='cellClick(r, (2*length - c), z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(r,2*length - c,z,90)") - .tile-image-container(ng-show="cells[r+','+(2*length - c)+','+z].isTile") + td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[r+','+(2*length - c)+','+z].isWall, 'checkpoint': cells[r+','+(2*length - c)+','+z].tile.checkpoint, 'black': cells[r+','+(2*length - c)+','+z].tile.black, 'blue': cells[r+','+(2*length - c)+','+z].tile.blue, 'linear': cells[r+','+(2*length - c)+','+z].tile.reachable && cells[r+','+(2*length - c)+','+z].isLinear, 'floating': cells[r+','+(2*length - c)+','+z].tile.reachable && !cells[r+','+(2*length - c)+','+z].isLinear}", ng-click='cellClick(r, (2*length - c), z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(r,2*length - c,z,90)") + .tile-image-container(ng-show="$odd && $parent.$odd") img.tile-image(ng-src='/images/log.png', ng-show="cells[r+','+(2*length - c)+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == r && startTile.y == (2*length - c) && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[r+','+(2*length - c)+','+z].tile.ramp") @@ -149,8 +149,8 @@ table.map.mx-auto(ng-if='sRotate == 180')#mapTable tbody tr(ng-repeat='r in range(2*length + 1)') - td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - c+','+(2*length - r)+','+z].isWall, 'checkpoint': cells[2*width - c+','+(2*length - r)+','+z].tile.checkpoint, 'black': cells[2*width - c+','+(2*length - r)+','+z].tile.black, 'blue': cells[2*width - c+','+(2*length - r)+','+z].tile.blue, 'linear': cells[2*width - c+','+(2*length - r)+','+z].isLinear}", ng-click='cellClick(2*width - c, 2*length - r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - c, 2*length - r, z,180)") - .tile-image-container(ng-show="cells[2*width - c+','+(2*length - r)+','+z].isTile") + td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - c+','+(2*length - r)+','+z].isWall, 'checkpoint': cells[2*width - c+','+(2*length - r)+','+z].tile.checkpoint, 'black': cells[2*width - c+','+(2*length - r)+','+z].tile.black, 'blue': cells[2*width - c+','+(2*length - r)+','+z].tile.blue, 'linear': cells[2*width - c+','+(2*length - r)+','+z].tile.reachable && cells[2*width - c+','+(2*length - r)+','+z].isLinear, 'floating': cells[2*width - c+','+(2*length - r)+','+z].tile.reachable && !cells[2*width - c+','+(2*length - r)+','+z].isLinear}", ng-click='cellClick(2*width - c, 2*length - r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - c, 2*length - r, z,180)") + .tile-image-container(ng-show="$odd && $parent.$odd") img.tile-image(ng-src='/images/log.png', ng-show="cells[2*width - c+','+(2*length - r)+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == 2*width - c && startTile.y == 2*length - r && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[2*width - c+','+(2*length - r)+','+z].tile.ramp") @@ -188,8 +188,8 @@ table.map.mx-auto(ng-if='sRotate == 270')#mapTable tbody tr(ng-repeat='r in range(2*width + 1)') - td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - r+','+c+','+z].isWall, 'checkpoint': cells[2*width - r+','+c+','+z].tile.checkpoint, 'black': cells[2*width - r+','+c+','+z].tile.black, 'blue': cells[2*width - r+','+c+','+z].tile.blue, 'linear': cells[2*width - r+','+c+','+z].isLinear}", ng-click='cellClick(2*width - r, c, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - r, c, z,270)") - .tile-image-container(ng-show="cells[2*width - r+','+c+','+z].isTile") + td.cell(ng-repeat='c in range(2*length + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[2*width - r+','+c+','+z].isWall, 'checkpoint': cells[2*width - r+','+c+','+z].tile.checkpoint, 'black': cells[2*width - r+','+c+','+z].tile.black, 'blue': cells[2*width - r+','+c+','+z].tile.blue, 'linear': cells[2*width - r+','+c+','+z].tile.reachable && cells[2*width - r+','+c+','+z].isLinear, 'floating': cells[2*width - r+','+c+','+z].tile.reachable && !cells[2*width - r+','+c+','+z].isLinear}", ng-click='cellClick(2*width - r, c, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(2*width - r, c, z,270)") + .tile-image-container(ng-show="$odd && $parent.$odd") img.tile-image(ng-src='/images/log.png', ng-show="cells[2*width - r+','+c+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == 2*width - r && startTile.y == c && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[2*width - r+','+c+','+z].tile.ramp") diff --git a/views/view_iframe/maze_2024.pug b/views/view_iframe/maze_2024.pug index 5caae3f9..7875d59b 100755 --- a/views/view_iframe/maze_2024.pug +++ b/views/view_iframe/maze_2024.pug @@ -62,8 +62,8 @@ html(ng-app="ddApp") table.map.mx-auto#mapTable tbody tr(ng-repeat='r in range(2*length + 1)') - td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z,0)") - .tile-image-container(ng-show="cells[c+','+r+','+z].isTile") + td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].tile.reachable && cells[c+','+r+','+z].isLinear, 'floating': cells[c+','+r+','+z].tile.reachable && !cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z,0)") + .tile-image-container(ng-show="$odd && $parent.$odd") img.tile-image(ng-src='/images/log.png', ng-show="cells[c+','+r+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == c && startTile.y == r && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[c+','+r+','+z].tile.ramp") diff --git a/views/view_iframe/maze_2024E.pug b/views/view_iframe/maze_2024E.pug index 57968d52..ad37ca60 100755 --- a/views/view_iframe/maze_2024E.pug +++ b/views/view_iframe/maze_2024E.pug @@ -62,8 +62,8 @@ html(ng-app="ddApp") table.map.mx-auto#mapTable tbody tr(ng-repeat='r in range(2*length + 1)') - td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z,0)") - .tile-image-container(ng-show="cells[c+','+r+','+z].isTile") + td.cell(ng-repeat='c in range(2*width + 1)', ng-class="{'tile': $odd && $parent.$odd, 'wall': cells[c+','+r+','+z].isWall, 'checkpoint': cells[c+','+r+','+z].tile.checkpoint, 'black': cells[c+','+r+','+z].tile.black, 'blue': cells[c+','+r+','+z].tile.blue, 'linear': cells[c+','+r+','+z].tile.reachable && cells[c+','+r+','+z].isLinear, 'floating': cells[c+','+r+','+z].tile.reachable && !cells[c+','+r+','+z].isLinear}", ng-click='cellClick(c, r, z, $odd != $parent.$odd, $odd && $parent.$odd)', ng-style="wallColor(c,r,z,0)") + .tile-image-container(ng-show="$odd && $parent.$odd") img.tile-image(ng-src='/images/log.png', ng-show="cells[c+','+r+','+z].tile.speedbump") img.tile-image(ng-src='/images/start.png', ng-show='startTile.x == c && startTile.y == r && startTile.z == z') img.tile-image(ng-src='/images/ramp.png', ng-show="cells[c+','+r+','+z].tile.ramp")