{"id":404,"date":"2024-04-30T11:13:21","date_gmt":"2024-04-30T09:13:21","guid":{"rendered":"https:\/\/zaverecne-prace.ucimesaweby.sk\/baricova\/?page_id=404"},"modified":"2024-04-30T11:57:50","modified_gmt":"2024-04-30T09:57:50","slug":"generator-bludiska-2","status":"publish","type":"page","link":"https:\/\/zaverecne-prace.ucimesaweby.sk\/baricova\/generator-bludiska-2\/","title":{"rendered":"Zadanie 3"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"404\" class=\"elementor elementor-404\">\n\t\t\t\t<div class=\"elementor-element elementor-element-631b085 e-flex e-con-boxed e-con e-parent\" data-id=\"631b085\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a4806ae elementor-widget elementor-widget-heading\" data-id=\"a4806ae\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.21.0 - 15-04-2024 *\/\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><h2 class=\"elementor-heading-title elementor-size-default\">Gener\u00e1tor bludisko<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1802d91 elementor-widget elementor-widget-text-editor\" data-id=\"1802d91\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.21.0 - 15-04-2024 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<p style=\"text-align: center;\"><span style=\"color: #ffffff;\"><a style=\"color: #ffffff;\" href=\"https:\/\/zaverecne-prace.ucimesaweby.sk\/baricova\/wp-content\/uploads\/2024\/04\/Zadanie_3_POKYNY-1.xlsx\">Zadanie \u010d. 3<\/a><\/span><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6d3d3a1 elementor-widget elementor-widget-shortcode\" data-id=\"6d3d3a1\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-shortcode\"><!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Rie\u0161ite\u013en\u00e9 bludisko s gener\u00e1torom<\/title>\n    <style>\n        .maze {\n            display: grid;\n            grid-template-columns: repeat(8, 40px); \/* 8 st\u013apcov *\/\n            grid-template-rows: repeat(8, 40px); \/* 8 riadkov *\/\n        }\n\n        .cell {\n            width: 40px;\n            height: 40px;\n            position: relative;\n            border: 1px solid transparent; \/* Zabezpe\u010d\u00ed priestor pre steny *\/\n        }\n\n        .wall {\n            background-color: black; \/* stena *\/\n        }\n\n        .path {\n            background-color: white; \/* cesta *\/\n        }\n\n        .start {\n            background-color: green; \/* \u0161tartovac\u00ed bod *\/\n        }\n\n        .goal {\n            background-color: red; \/* cie\u013eov\u00fd bod *\/\n        }\n\n        .top, .bottom, .left, .right {\n            position: absolute;\n            background-color: black;\n        }\n\n        .top {\n            width: 100%;\n            height: 2px;\n            top: 0;\n        }\n\n        .bottom {\n            width: 100%;\n            height: 2px;\n            bottom: 0;\n        }\n\n        .left {\n            width: 2px;\n            height: 100%;\n            left: 0;\n        }\n\n        .right {\n            width: 2px;\n            height: 100%;\n            right: 0;\n        }\n    <\/style>\n<\/head>\n<body>\n    <form style=\"display: flex; flex-direction: column; align-items: center;\">\n        <h2 style=\"color: white; font-size: 24px; margin-bottom: 20px;\">Meno:<\/h2>\n        <input type=\"text\" id=\"meno\" name=\"meno\"><br><br>\n        <button type=\"button\" onclick=\"generateAndDownloadMaze()\">Generuj<\/button>\n    <\/form>\n    <div class=\"maze\" id=\"maze\"><\/div>\n\n    <script>\n        function generateAndDownloadMaze() {\n            generateMaze(); \/\/ Generuj bludisko\n            downloadMaze(); \/\/ Stiahni bludisko\n        }\n\n        function generateMaze() {\n            var rows = 8;\n            var cols = 8;\n            var startX = 1; \/\/ Upraven\u00e9 \u0161tartovacie poz\u00edcie\n            var startY = 1; \/\/ Upraven\u00e9 \u0161tartovacie poz\u00edcie\n            var goalX = cols - 1;\n            var goalY = rows - 1;\n\n            var maze = [];\n            for (var i = 0; i < rows; i++) {\n                maze[i] = [];\n                for (var j = 0; j < cols; j++) {\n                    maze[i][j] = 1;\n                }\n            }\n\n            function generate(x, y) {\n                maze[y][x] = 0;\n\n                var directions = [\n                    [0, -2], \/\/ hore\n                    [0, 2],  \/\/ dole\n                    [-2, 0], \/\/ do\u013eava\n                    [2, 0]   \/\/ doprava\n                ];\n                shuffle(directions);\n\n                for (var i = 0; i < directions.length; i++) {\n                    var dx = directions[i][0];\n                    var dy = directions[i][1];\n                    var nx = x + dx;\n                    var ny = y + dy;\n\n                    if (nx >= 0 && nx < cols && ny >= 0 && ny < rows) {\n                        if (maze[ny][nx] == 1) {\n                            maze[y + dy \/ 2][x + dx \/ 2] = 0;\n                            generate(nx, ny);\n                        }\n                    }\n                }\n            }\n\n            function shuffle(array) {\n                for (var i = array.length - 1; i > 0; i--) {\n                    var j = Math.floor(Math.random() * (i + 1));\n                    var temp = array[i];\n                    array[i] = array[j];\n                    array[j] = temp;\n                }\n            }\n\n            generate(startX, startY);\n\n            var mazeElement = document.getElementById(\"maze\");\n            mazeElement.innerHTML = \"\";\n\n            for (var i = 0; i < rows; i++) {\n                for (var j = 0; j < cols; j++) {\n                    var cell = document.createElement(\"div\");\n                    cell.className = \"cell\";\n\n                    if (i == 0) {\n                        var topWall = document.createElement(\"div\");\n                        topWall.className = \"top wall\";\n                        cell.appendChild(topWall);\n                    }\n\n                    if (i == rows - 1) {\n                        var bottomWall = document.createElement(\"div\");\n                        bottomWall.className = \"bottom wall\";\n                        cell.appendChild(bottomWall);\n                    }\n\n                    if (j == 0) {\n                        var leftWall = document.createElement(\"div\");\n                        leftWall.className = \"left wall\";\n                        cell.appendChild(leftWall);\n                    }\n\n                    if (j == cols - 1) {\n                        var rightWall = document.createElement(\"div\");\n                        rightWall.className = \"right wall\";\n                        cell.appendChild(rightWall);\n                    }\n\n                    if (maze[i][j] == 1) {\n                        cell.className += \" wall\";\n                    } else {\n                        cell.className += \" path\";\n                    }\n\n                    if (i == startY && j == startX) {\n                        cell.className += \" start\";\n                    } else if (i == goalY && j == goalX) {\n                        cell.className += \" goal\";\n                    }\n                    mazeElement.appendChild(cell);\n                }\n            }\n        }\n\n        function downloadMaze() {\n            var meno = document.getElementById(\"meno\").value;\n            \n            \/\/ Vytvor pl\u00e1tno na vykreslenie bludiska\n            var canvas = document.createElement(\"canvas\");\n            canvas.width = 320;\n            canvas.height = 320;\n            var context = canvas.getContext(\"2d\");\n\n            \/\/ Vygeneruj bludisko na pl\u00e1tne\n            var rows = 8;\n            var cols = 8;\n            context.fillStyle = \"white\"; \/\/ pozadie\n            context.fillRect(0, 0, 320, 320); \/\/ Vypln pl\u00e1tno bielym farbou\n\n            var maze = [];\n            for (var i = 0; i < rows; i++) {\n                maze[i] = [];\n                for (var j = 0; j < cols; j++) {\n                    maze[i][j] = 1;\n                }\n            }\n\n            function generate(x, y) {\n                maze[y][x] = 0;\n\n                var directions = [\n                    [0, -2], \/\/ hore\n                    [0, 2],  \/\/ dole\n                    [-2, 0], \/\/ do\u013eava\n                    [2, 0]   \/\/ doprava\n                ];\n                shuffle(directions);\n\n                for (var i = 0; i < directions.length; i++) {\n                    var dx = directions[i][0];\n                    var dy = directions[i][1];\n                    var nx = x + dx;\n                    var ny = y + dy;\n\n                    if (nx >= 0 && nx < cols && ny >= 0 && ny < rows) {\n                        if (maze[ny][nx] == 1) {\n                            maze[y + dy \/ 2][x + dx \/ 2] = 0;\n                            generate(nx, ny);\n                        }\n                    }\n                }\n            }\n\n            function shuffle(array) {\n                for (var i = array.length - 1; i > 0; i--) {\n                    var j = Math.floor(Math.random() * (i + 1));\n                    var temp = array[i];\n                    array[i] = array[j];\n                    array[j] = temp;\n                }\n            }\n\n            generate(1, 1); \/\/ Upraven\u00e9 \u0161tartovacie poz\u00edcie\n\n            for (var i = 0; i < rows; i++) {\n                for (var j = 0; j < cols; j++) {\n                    var x = j * 40;\n                    var y = i * 40;\n\n                    if (maze[i][j] == 1) {\n                        context.fillStyle = \"black\"; \/\/ stena\n                    } else {\n                        context.fillStyle = \"white\"; \/\/ cesta\n                    }\n                    context.fillRect(x, y, 40, 40); \/\/ Vykresli\u0165 bunku\n\n                    if (i == 0) {\n                        context.fillRect(x, y, 40, 2); \/\/ horn\u00e1 stena\n                    }\n\n                    if (i == rows - 1) {\n                        context.fillRect(x, y + 38, 40, 2); \/\/ doln\u00e1 stena\n                    }\n\n                    if (j == 0) {\n                        context.fillRect(x, y, 2, 40); \/\/ \u013eav\u00e1 stena\n                    }\n\n                    if (j == cols - 1) {\n                        context.fillRect(x + 38, y, 2, 40); \/\/ prav\u00e1 stena\n                    }\n                }\n            }\n\n            var dataURL = canvas.toDataURL(\"image\/jpeg\"); \/\/ Zmenen\u00e9 na JPEG\n            var text = meno + \"\\n\" + dataURL; \/\/ Prid\u00e1me meno na za\u010diatok s\u00faboru\n\n            \/\/ Vytvor a stiahni s\u00fabor vo form\u00e1te .jpg\n            var a = document.createElement(\"a\");\n            a.href = dataURL;\n            a.download = meno + \"_bludisko.jpg\";\n            document.body.appendChild(a);\n            a.click();\n        }\n    <\/script>\n<\/body>\n<\/html>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Gener\u00e1tor bludisko Zadanie \u010d. 3 Rie\u0161ite\u013en\u00e9 bludisko s gener\u00e1torom Meno: Generuj<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-404","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/zaverecne-prace.ucimesaweby.sk\/baricova\/wp-json\/wp\/v2\/pages\/404","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zaverecne-prace.ucimesaweby.sk\/baricova\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/zaverecne-prace.ucimesaweby.sk\/baricova\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/zaverecne-prace.ucimesaweby.sk\/baricova\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/zaverecne-prace.ucimesaweby.sk\/baricova\/wp-json\/wp\/v2\/comments?post=404"}],"version-history":[{"count":15,"href":"https:\/\/zaverecne-prace.ucimesaweby.sk\/baricova\/wp-json\/wp\/v2\/pages\/404\/revisions"}],"predecessor-version":[{"id":435,"href":"https:\/\/zaverecne-prace.ucimesaweby.sk\/baricova\/wp-json\/wp\/v2\/pages\/404\/revisions\/435"}],"wp:attachment":[{"href":"https:\/\/zaverecne-prace.ucimesaweby.sk\/baricova\/wp-json\/wp\/v2\/media?parent=404"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}