{"id":458,"date":"2026-03-08T17:57:53","date_gmt":"2026-03-08T16:57:53","guid":{"rendered":"http:\/\/cybertest.itbsc.pl\/?page_id=458"},"modified":"2026-03-09T15:08:03","modified_gmt":"2026-03-09T14:08:03","slug":"gra-bee","status":"publish","type":"page","link":"https:\/\/deadnet.itbsc.pl\/?page_id=458","title":{"rendered":"Gra Bee"},"content":{"rendered":"\n<div style=\"height:58px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<style>\r\n\t#container{\r\n\t\tposition: relative;\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t\twidth: 80%;\r\n\t\theight: 80vh;\r\n\t}\r\n\t\r\n\t#gameFrame{\r\n\t\twidth: 100%;\r\n\t\theight: 80vh;\r\n\t\tposition: absolute;\r\n\t\tborder: 15px solid #4df0b0;\r\n\t\tborder-radius: 15px;\r\n\t\tbackground-color: white;\r\n\t\tmargin: 0 auto;\r\n\t}\r\n\t\r\n\t#startGame{\r\n\t\tposition: relative;\r\n\t\tpadding: 30px 40px;\r\n\t\tcursor: pointer;\r\n\t\tbackground-color: #4df0b0;\r\n\t\tborder-color: #4bf0b0;\r\n\t\tborder-radius: 40px;\r\n\t\ttransition: .3s;\r\n\t}\r\n\t\r\n\t#startGame:hover{\r\n\t\tbackground-color: transparent;\r\n\t\tborder: 1px solid #4bf0b0;\r\n\t}\r\n\t\r\n\t#controlInstruction{\r\n\t\tz-index: 111;\r\n\t\tcolor: black;\r\n\t\tfont-size: 1.2em;\r\n\t}\r\n\t\r\n\t#gameInstruction{\r\n\t\tz-index: 111;\r\n\t\tcolor: #22805A;\r\n\t}\r\n<\/style>\r\n<audio id=\"beeSound\" src=\".\/wp-content\/uploads\/bee-sound.mp3\"><\/audio>\r\n<div id=\"container\">\r\n\t<canvas id=\"gameFrame\" tabindex=\"0\"><\/canvas>\r\n\t<h2 id=\"gameInstruction\">\r\n\t\tUnikaj zagro\u017ce\u0144 cybernetycznych!\r\n\t<\/h2>\r\n\t<p id=\"controlInstruction\">\r\n\t\tAby sterowa\u0107 pszczo\u0142\u0105 u\u017cywaj strza\u0142ek na klawiaturze\r\n\t<\/p>\r\n\t<button id=\"startGame\">\r\n\t\tRozpocznij gr\u0119!\r\n\t<\/button>\r\n<\/div>\r\n\r\n\r\n<script>\r\n\tvar canvas = document.getElementById(\"gameFrame\");\r\n\tvar drawingSurface = canvas.getContext(\"2d\");\r\n\tvar skins = [\"malware-\", \"black-hood.png\", \"skull.png\", \"spider-\"];\r\n\tvar beeSound = document.getElementById(\"beeSound\");\r\n\tvar gameIsStarted = false;\r\n\tvar points = 0;\r\n\t\r\n\tvar lastFrameTime = Date.now();\r\n\tvar timeSinceLastSpawn = 0;\r\n\tvar nextSpawnTime = 1000;\r\n\tcanvas.addEventListener('mousedown', () => {\r\n\t\tcanvas.focus();\r\n\t});\r\n\t\r\n\tcanvas.addEventListener('keydown', (e) => {\r\n\t\tconst scrollKeys = [\"ArrowUp\", \"ArrowDown\"];\r\n\r\n\t\tif (scrollKeys.includes(e.code)) {\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\t});\r\n\r\n\tcanvas.width = canvas.offsetWidth;\r\n\tcanvas.height = canvas.offsetHeight;\r\n\tdrawingSurface.font = \"20px Arial\";\r\n\tdrawingSurface.fillText(`Unikaj zagro\u017ce\u0144 cyberbezpiecze\u0144stwa!`,10 ,25);\r\n\tdocument.getElementById(\"startGame\").addEventListener('click', function(){\r\n\t\tcanvas.focus();\r\n\t\tdocument.getElementById(\"startGame\").style.display = \"none\";\r\n\t\tdocument.getElementById(\"gameInstruction\").style.display = \"none\";\r\n\t\tdocument.getElementById(\"controlInstruction\").style.display = \"none\";\r\n\t\tgameIsStarted = true;\r\n\/\/ \t\tsetInterval(() => points += 1, 500);\r\n\t});\r\n\r\n\t\tvar spriteObj = {\r\n\t\t\tx: 0,\r\n\t\t\ty: 0,\r\n\t\t\twidth: 128,\r\n\t\t\theight: 128\r\n\t\t};\r\n\r\n\t\tvar bee = Object.create(spriteObj);\r\n\t\tvar enemiesFromRight = []\r\n\t\tbee.x = canvas.offsetWidth\/2;\r\n\t\tbee.y = canvas.offsetHeight\/2;\r\n\t\tvar imgBee = new Image();\r\n\t\timgBee.addEventListener(\"load\", loadHandler, false);\r\n\t\timgBee.src = \".\/wp-content\/uploads\/bee-2.png\";\r\n\t\tvar Xspeed = 0;\r\n\t\tvar Yspeed = 0;\r\n\t\tvar moveLeft = false;\r\n\t\tvar moveRight = false;\r\n\t\tvar moveUp = false;\r\n\t\tvar moveDown = false;\r\n\r\n\t\twindow.addEventListener('keydown', function(e){\r\n\t\t\tswitch(e.key){\r\n\t\t\t\tcase \"ArrowUp\": \r\n\t\t\t\t\tmoveUp = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"ArrowDown\": \r\n\t\t\t\t\tmoveDown = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"ArrowLeft\": \r\n\t\t\t\t\tmoveLeft = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"ArrowRight\": \r\n\t\t\t\t\tmoveRight = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}, false);\r\n\r\n\t\twindow.addEventListener('keyup', function(e){\r\n\t\t\tswitch(e.key){\r\n\t\t\t\tcase \"ArrowUp\": \r\n\t\t\t\t\tmoveUp = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"ArrowDown\": \r\n\t\t\t\t\tmoveDown = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"ArrowLeft\": \r\n\t\t\t\t\tmoveLeft = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"ArrowRight\": \r\n\t\t\t\t\tmoveRight = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}, false);\r\n\r\n\t\tfunction loadHandler(){\r\n\t\t\tupdate();\r\n\t\t}\r\n\r\n\t\tfunction update(){\r\n\t\t\tdrawingSurface.clearRect(0, 0, canvas.width, canvas.height);\r\n\t\t\tdrawingSurface.drawImage(imgBee, bee.x, bee.y, bee.width, bee.height);\r\n\t\t\twindow.requestAnimationFrame(update);\r\n\t\t\t\r\n\t\t\tif(gameIsStarted){\r\n\t\t\t\t\r\n\t\t\t\tbee.x += Xspeed;\r\n\t\t\t\tbee.y += Yspeed;\r\n\t\t\t\tconst now = Date.now();\r\n\t\t\t\tconst deltaTime = now - lastFrameTime;\r\n\t\t\t\tlastFrameTime = now;\r\n\r\n\t\t\t\ttimeSinceLastSpawn += deltaTime;\r\n\t\t\t\tif(timeSinceLastSpawn >= nextSpawnTime){\r\n\t\t\t\t\tif(points>=0 && points<=80){\r\n\t\t\t\t\t\tgenerateEnemies(2, 4);\r\n\t\t\t\t\t\ttimeSinceLastSpawn = 0;\r\n\t\t\t\t\t\tnextSpawnTime = getRandomInt(5000, 8000);\r\n\t\t\t\t\t}else if(points>=80 && points<=160){\r\n\t\t\t\t\t\tgenerateEnemies(4, 8);\r\n\t\t\t\t\t\ttimeSinceLastSpawn = 0;\r\n\t\t\t\t\t\tnextSpawnTime = getRandomInt(4000, 7000);\r\n\t\t\t\t\t}else if(points>=160 && points<=240){\r\n\t\t\t\t\t\tgenerateEnemies(8, 12);\r\n\t\t\t\t\t\ttimeSinceLastSpawn = 0;\r\n\t\t\t\t\t\tnextSpawnTime = getRandomInt(3000, 5000);\r\n\t\t\t\t\t}else if(points>=240 && points<=320){\r\n\t\t\t\t\t\tgenerateEnemies(12, 16);\r\n\t\t\t\t\t\ttimeSinceLastSpawn = 0;\r\n\t\t\t\t\t\tnextSpawnTime = getRandomInt(3000, 5000);\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tgenerateEnemies(22, 30);\r\n\t\t\t\t\t\ttimeSinceLastSpawn = 0;\r\n\t\t\t\t\t\tnextSpawnTime = getRandomInt(3000, 5000);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tenemiesFromRight.forEach(enemy => {\r\n\t\t\t\t\tenemy.x += enemy.speedX;\r\n\t\t\t\t\tenemy.y += enemy.speedY;\r\n\t\t\t\t\tdrawingSurface.drawImage(enemy.imgElement, enemy.x, enemy.y, enemy.width, enemy.height);\r\n\r\n\t\t\t\t\tif(bee.x < enemy.x + enemy.width &&\r\n\t\t\t\t\t   bee.x + bee.width - 40> enemy.x &&\r\n\t\t\t\t\t   bee.y < enemy.y + enemy.height - 40 &&\r\n\t\t\t\t\t   bee.y + bee.height - 30 > enemy.y\r\n\t\t\t\t\t  ){\r\n\t\t\t\t\t\tbeeSound.pause();\r\n\t\t\t\t\t\tdocument.getElementById(\"gameInstruction\").innerText = \"Jedna pszcz\u00f3\u0142ka nie da rady...\";\r\n\t\t\t\t\t\tdocument.getElementById(\"gameInstruction\").style.display = \"block\";\r\n\t\t\t\t\t\tdocument.getElementById(\"controlInstruction\").innerText = `Tw\u00f3j wynik to: ${points}`;\r\n\t\t\t\t\t\tdocument.getElementById(\"controlInstruction\").style.display = \"block\";\r\n\t\t\t\t\t\tdrawingSurface.clearRect(0, 0, canvas.width, canvas.height);\r\n\t\t\t\t\t\tgameIsStarted = false;\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t});\r\n\t\t\t\t\r\n\t\t\t\tenemiesFromRight = enemiesFromRight.filter(enemy => {\r\n\t\t\t\t\tconst isOnScreen = \r\n\t\t\t\t\t\t  enemy.x + enemy.width > 0 &&\r\n\t\t\t\t\t\t  enemy.x < canvas.width &&\r\n\t\t\t\t\t\t  enemy.y + enemy.height > 0 &&\r\n\t\t\t\t\t\t  enemy.y < canvas.height;\r\n\r\n\t\t\t\t\tif (isOnScreen) {\r\n\t\t\t\t\t\tenemy.hasEntered = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (enemy.hasEntered && !isOnScreen) {\r\n\t\t\t\t\t\tpoints += 1;\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t});\t\t\t\r\n\t\t\t\t\r\n\t\t\t\tdrawingSurface.font = \"20px Arial\";\r\n\t\t\t\tdrawingSurface.fillText(`Tw\u00f3j wynik: ${points}`,10 ,25);\r\n\r\n\t\t\t\tif(Xspeed != 0 || Yspeed != 0){\r\n\t\t\t\t\tbeeSound.play();\r\n\t\t\t\t}else{\r\n\t\t\t\t\tbeeSound.pause();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(moveUp && !moveDown){\r\n\t\t\t\t\tYspeed = -5;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(moveDown && !moveUp){\r\n\t\t\t\t\tYspeed = 5;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(!moveUp && !moveDown){\r\n\t\t\t\t\tYspeed = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(moveLeft && !moveRight){\r\n\t\t\t\t\tXspeed = -5;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(moveRight && !moveLeft){\r\n\t\t\t\t\tXspeed = 5;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(!moveRight && !moveLeft){\r\n\t\t\t\t\tXspeed = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(bee.x < -15){\r\n\t\t\t\t\tXspeed = 0;\r\n\t\t\t\t\tif(moveRight && !moveLeft){\r\n\t\t\t\t\t\tXspeed = 5;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(bee.x >= (canvas.width - bee.width)+15){\r\n\t\t\t\t\tXspeed = 0;\r\n\t\t\t\t\tif(moveLeft && !moveRight){\r\n\t\t\t\t\t\tXspeed = -5;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(bee.y <= -15){\r\n\t\t\t\t\tYspeed = 0;\r\n\t\t\t\t\tif(moveDown && !moveUp){\r\n\t\t\t\t\t\tYspeed = 5;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(bee.y >= (canvas.height - bee.height)+15){\r\n\t\t\t\t\tYspeed = 0;\r\n\t\t\t\t\tif(moveUp && !moveDown){\r\n\t\t\t\t\t\tYspeed = -5;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar getRandomSkin = function () {\r\n\t\t\treturn skins[Math.floor(Math.random() * skins.length)];\r\n\t\t};\r\n\r\n\t\tfunction getRandomInt(min, max) {\r\n\t\t\tmin = Math.ceil(min);\r\n\t\t\tmax = Math.floor(max);\r\n\t\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\r\n\t\t}\r\n\r\n\t\tfunction generateEnemies(min, max){\r\n\t\t\tfor(let i = 0; i<=getRandomInt(min, max); i++){\r\n\t\t\t\tlet skin = getRandomSkin();\r\n\t\t\t\tlet speedX = 0;\r\n\t\t\t\tlet speedY = 0;\r\n\t\t\t\tlet xPosition = getRandomInt(0, canvas.offsetWidth); \r\n\t\t\t\tlet yPosition; \r\n\t\t\t\tlet moveSpeed = 1;\r\n\t\t\t\tif(xPosition == 0 || xPosition == canvas.offsetWidth){ \r\n\t\t\t\t\tyPosition = getRandomInt(0, canvas.offsetHeight); \r\n\t\t\t\t}else{ \r\n\t\t\t\t\tyPosition = Math.random() < 0.5 ? -25 : canvas.offsetHeight; \r\n\t\t\t\t}\r\n\r\n\t\t\t\tif(xPosition == 0){\r\n\t\t\t\t\tspeedX = moveSpeed;\r\n\t\t\t\t\tif(skin == \"malware-\" || skin == \"spider-\"){\r\n\t\t\t\t\t\tskin = skin+\"right.png\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\t}else if(xPosition == canvas.offsetWidth){\r\n\t\t\t\t\t\tspeedX = -moveSpeed;\r\n\t\t\t\t\t\tif(skin == \"malware-\" || skin == \"spider-\"){\r\n\t\t\t\t\t\t\tskin = skin+\"left.png\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif(yPosition <= 0){\r\n\t\t\t\t\t\tif(skin == \"malware-\" || skin == \"spider-\"){\r\n\t\t\t\t\t\t\tskin = skin+\"down.png\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tspeedY = moveSpeed;\r\n\t\t\t\t\t}else if(yPosition == canvas.offsetHeight){\r\n\t\t\t\t\t\tspeedY = -moveSpeed;\r\n\t\t\t\t\t\tif(skin == \"malware-\" || skin == \"spider-\"){\r\n\t\t\t\t\t\t\tskin = skin+\"up.png\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\tlet enemyImage = new Image();\r\n\t\t\t\tenemyImage.src = `.\/wp-content\/uploads\/${skin}`;\r\n\t\t\t\tenemiesFromRight.push({\r\n\t\t\t\t\tx: xPosition,\r\n\t\t\t\t\ty: yPosition,\r\n\t\t\t\t\twidth: 100,\r\n\t\t\t\t\theight: 100,\r\n\t\t\t\t\timgElement: enemyImage,\r\n\t\t\t\t\tspeedX: speedX,\r\n\t\t\t\t\tspeedY: speedY,\r\n\t\t\t\t\thasEntered: false\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\t\r\n<\/script>\r\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","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":"","footer-sml-layout":"","ast-disable-related-posts":"","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-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-opacity":"","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-opacity":"","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-opacity":"","overlay-gradient":""}},"ast-content-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-opacity":"","overlay-gradient":""},"tablet":{"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-opacity":"","overlay-gradient":""},"mobile":{"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-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-458","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/deadnet.itbsc.pl\/index.php?rest_route=\/wp\/v2\/pages\/458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/deadnet.itbsc.pl\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/deadnet.itbsc.pl\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/deadnet.itbsc.pl\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/deadnet.itbsc.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=458"}],"version-history":[{"count":3,"href":"https:\/\/deadnet.itbsc.pl\/index.php?rest_route=\/wp\/v2\/pages\/458\/revisions"}],"predecessor-version":[{"id":468,"href":"https:\/\/deadnet.itbsc.pl\/index.php?rest_route=\/wp\/v2\/pages\/458\/revisions\/468"}],"wp:attachment":[{"href":"https:\/\/deadnet.itbsc.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}