{"id":227547,"date":"2014-06-26T00:11:02","date_gmt":"2014-06-25T20:11:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=227547"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=227547","title":{"rendered":"<span class=\"post_title\">\u00ab\u041f\u044f\u0442\u043d\u0430\u0448\u043a\u0438\u00bb \u0432 \u0432\u0438\u0434\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u0438\u043b\u0438 \u0438\u0433\u0440\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u043d\u0430 js<\/span>"},"content":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445 web-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u0438\u043b\u0438 \u0436\u0435 \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0451\u0440\u0441\u0442\u043a\u0443 \u0443\u0447\u0438\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u043a\u0443\u0440\u0441\u0435, \u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u043f\u043e\u043d\u0438\u043c\u0430\u044e\u0442 \u043a\u0430\u043a \u0441 html \u0432\u043e\u043e\u0431\u0449\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0433\u0440\u0430\u0442\u044c.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/acc\/73e\/6f3\/acc73e6f32a9337fe269a9a6aa350c55.jpg\" alt=\"image\"\/><br \/>  <a name=\"habracut\"><\/a><\/p>\n<h4>\u041f\u0440\u0435\u0434\u0438\u0441\u043b\u043e\u0432\u0438\u0435<\/h4>\n<p>  \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u043d\u0430\u0447\u0430\u043b \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u044c \u0432\u0441\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u044b\u0445 \u0438\u0433\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0430 \u0441\u0432\u044f\u0437\u043a\u0435 html+ccs+js. \u0418\u043c\u0435\u043d\u043d\u043e \u0432 \u0442\u0430\u043a\u043e\u0439 \u0441\u0432\u044f\u0437\u043a\u0435, \u0431\u0435\u0437 \u0444\u043b\u0435\u0448\u0430 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439. \u041d\u0435 \u0437\u043d\u0430\u044e, \u043c\u043e\u0436\u0435\u0442 \u0438\u0445 \u0438 \u0440\u0430\u043d\u044c\u0448\u0435 \u0431\u044b\u043b\u043e \u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u044c \u0432\u0441\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0434\u043d\u0451\u043c \u044f \u043d\u0430\u0447\u0430\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0439\u0447\u0430\u0441. \u041e\u0434\u043d\u0430 2048 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0448\u0443\u043c\u0443 \u043d\u0430\u0434\u0435\u043b\u0430\u043b\u0430!<br \/>  \u0412\u043e\u043e\u0431\u0449\u0435\u043c, \u044f \u0431\u044b\u043b \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u043b\u0451\u043d, \u0438 \u0440\u0435\u0448\u0438\u043b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u043e\u0435, \u0437\u0430 \u043f\u0430\u0440\u0443 \u0432\u0435\u0447\u0435\u0440\u043e\u0432, \u0437\u0430\u0442\u043e \u0441\u0432\u043e\u0451. \u0417\u0430 \u0438\u0434\u0435\u044e \u0432\u0437\u044f\u043b \u0441\u0442\u0430\u0440\u044b\u0435 \u0445\u043e\u0440\u043e\u0448\u0438\u0435 \u00ab\u043f\u044f\u0442\u043d\u0430\u0448\u043a\u0438\u00bb. <br \/>  \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435\u043c \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430 javascript (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f, \u043f\u0440\u0430\u0432\u0434\u0430, JQuery), \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f canvas, WebGL, \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 <s>\u043f\u0440\u0438\u0447\u0443\u0434\u044b <\/s>\u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438.<\/p>\n<h4>\u041a\u043e\u043d\u0446\u0435\u043f\u0442<\/h4>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/302\/23d\/c7e\/30223dc7e4e4c13e14897f61a43aa513.jpg\" alt=\"image\"\/><br \/>  \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0434\u0430\u043d\u0430\u044f \u0437\u0430\u0442\u0435\u044f \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u0430\u0441\u044c \u043a\u0430\u043a \u0447\u0438\u0441\u0442\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0449\u044c, \u0431\u0435\u0437 \u0437\u0430\u043b\u0438\u0432\u0430 \u043a\u0443\u0434\u0430-\u043b\u0438\u0431\u043e, \u043d\u043e \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435 \u044f \u0437\u0430\u043c\u0435\u0442\u0438\u043b \u043d\u0435\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043a \u0434\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0432 \u043e\u0444\u0438\u0441\u0435, \u0438 \u0440\u0435\u0448\u0438\u043b \u0447\u0442\u043e \u043d\u0430\u0434\u043e \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c. \u041f\u0435\u0440\u0432\u0430\u044f \u0438\u0434\u0435\u044f, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435 \u2014 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0441\u0430\u0439\u0442. \u0418 \u0432\u043a\u043e\u043d\u0446\u0435-\u043a\u043e\u043d\u0446\u043e\u0432 \u044d\u0442\u043e \u0431\u044b\u043b\u043e <a href=\"http:\/\/15game.tk\">\u0441\u0434\u0435\u043b\u0430\u043d\u043e<\/a>, \u0438 \u043d\u0430 \u044d\u0442\u043e\u043c \u0431\u044b \u0432\u0441\u0451 \u0438 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u043e\u0441\u044c, \u0435\u0441\u043b\u0438 \u0431\u044b \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u0440\u0443 \u0434\u043d\u0435\u0439 \u043a\u043e\u043b\u043b\u0435\u0433\u0430 \u043d\u0435 \u0441\u043f\u0440\u043e\u0441\u0438\u043b \u0443 \u043c\u0435\u043d\u044f: \u00ab\u0442\u044b \u043f\u0438\u0441\u0430\u043b \u043a\u043e\u0433\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0445\u0440\u043e\u043c\u0430?\u00bb. \u041d\u043e \u043e\u0431\u043e \u0432\u0441\u0451\u043c \u043f\u043e\u043f\u043e\u0440\u044f\u0434\u043a\u0443.<\/p>\n<h4>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0430\u043c\u043e\u0439 \u0438\u0433\u0440\u044b<\/h4>\n<p>  <\/p>\n<h5>\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434<\/h5>\n<p>  \u041f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u0434\u0435\u0435\u0439 \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 html-\u0442\u0430\u0431\u043b\u0438\u0446\u0435 4\u04454. \u0422\u0443\u0442 \u0438 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u044f\u0447\u0435\u0439\u043a\u0438, \u0438 \u0432\u0441\u0451 \u0442\u0430\u043a\u043e\u0435. \u041d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434. \u041f\u0440\u0438 \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u0434\u0443\u043c\u043a\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0447\u0442\u043e \u043f\u043b\u044e\u0441\u043e\u0432 \u0443 \u0434\u0430\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0443\u043c\u043a\u0438 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043d\u0435\u0442, \u0438 \u043e\u0442 \u0438\u0434\u0435\u0438 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435, \u044f \u043f\u0440\u0438\u0448\u0451\u043b \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0431\u043b\u043e\u043a\u0443, \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0435\u0449\u0451 15, \u0438 \u0443 \u0432\u0441\u0435\u0445 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e  <\/p>\n<pre><code class=\"css\">float:left; <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0442\u0430\u043a:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/d2d\/12f\/4b9\/d2d12f4b9e9a9b104061abf136c02813.jpg\" alt=\"image\"\/>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0418\u0433\u0440\u043e\u0432\u043e\u0435 \u043f\u043e\u043b\u0435, \u0438 \u0431\u043b\u043e\u043a\u0438 (\u0441ss)<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"css\">.game_field{ \tposition: absolute; \tleft: 50%; \ttop: 50%; \tmargin-top: -128px; \tmargin-left: -128px; \twidth: 256px; \theight: 256px; \tborder-radius: 4px; } .block{ \t-ms-user-select:none; \t-moz-user-select:none; \t-khtml-user-select:none; \t-webkit-user-select:none; \t-user-select:none; \tfloat: left; \twidth: 60px; \theight: 60px; \tmargin: 2px 2px 2px 2px; \tbackground-color: #F3EDD6; \tborder-radius: 4px; \ttext-align: center; \tfont-size: 250%; \tfont-weight: bold; \tcursor: pointer; } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<h5>\u041b\u043e\u0433\u0438\u043a\u0430<\/h5>\n<p>  <\/p>\n<h6>\u0414\u0432\u0438\u0436\u0435\u043d\u0438\u0435<\/h6>\n<p>  \u0421\u0430\u043c\u043e\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0435 \u0434\u043b\u044f \u043c\u0435\u043d\u044f \u044d\u0442\u043e \u0431\u044b\u043b\u0430 \u043b\u043e\u0433\u0438\u043a\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0431\u043b\u043e\u043a\u043e\u0432. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0434\u043b\u044f \u043e\u043f\u044b\u0442\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0432\u0441\u0451 \u043f\u0440\u043e\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c \u0431\u044b \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e, \u043d\u043e \u0443 \u043c\u0435\u043d\u044f \u043d\u0430 \u044d\u0442\u043e \u0443\u0448\u0451\u043b \u0446\u0435\u043b\u044b\u0439 \u0432\u0435\u0447\u0435\u0440. \u041f\u0435\u0440\u0432\u043e\u0439 \u0438\u0434\u0435\u0435\u0439 \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0442\u043e\u043b\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0439: \u0435\u0441\u043b\u0438 \u043f\u0443\u0441\u0442\u043e, \u0442\u043e \u0431\u043b\u043e\u043a \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0435\u0442\u0441\u044f, \u0430 \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u2014 \u0442\u043e \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u043d\u0430 \u043c\u0435\u0441\u0442\u0435. \u0423\u0436\u0435 \u0441\u043f\u0443\u0441\u0442\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0444\u043e\u0440\u0443\u043c\u043e\u0432, \u044f \u043f\u043e\u043d\u044f\u043b \u0447\u0442\u043e \u0434\u0432\u0438\u0433\u0430\u044e\u0441\u044c \u0432 \u043a\u0430\u043a\u043e\u043c-\u0442\u043e \u043d\u0435 \u0442\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u044f \u043f\u0440\u0438\u0448\u0451\u043b \u043a \u0442\u0430\u043a\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438: \u043c\u0430\u0441\u0441\u0438\u0432 \u043d\u0430 16 \u044f\u0447\u0435\u0435\u043a \u0441 \u0431\u0443\u043b\u0435\u0432\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c. 0 \u2014 \u0437\u0430\u043d\u044f\u0442\u043e, 1 \u2014 \u043f\u0443\u0441\u0442\u043e. \u041d\u0443 \u0430 \u0434\u0430\u043b\u0435\u0435 \u0432\u0441\u0451 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u2014 \u0434\u0430\u0451\u043c \u0431\u043b\u043e\u043a\u0430\u043c id \u0441 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u0435\u0439, \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c \u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c \u043d\u043e\u043c\u0435\u0440\u043e\u043c, \u0434\u043b\u044f \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u0432\u043b\u0435\u0432\u043e \u043e\u0442\u043d\u0438\u043c\u0430\u0435\u043c 1, \u0432\u043f\u0440\u0430\u0432\u043e \u2014 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c 1, \u0432\u0432\u0435\u0440\u0445 \u2014 \u043c\u0438\u043d\u0443\u0441 4. \u0415\u0441\u043b\u0438 \u044f\u0447\u0435\u0439\u043a\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c \u0432 \u0432\u0438\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u2014 true, \u0437\u043d\u0430\u0447\u0438\u0442 \u0434\u0432\u0438\u0433\u0430\u0435\u043c, \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u043d\u0430 true, \u0430 \u043d\u043e\u0432\u0443\u044e \u043d\u0430 false.<\/p>\n<h6>\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/h6>\n<p>  \u041f\u043e\u043d\u044f\u0442\u043d\u043e\u0435 \u0434\u0435\u043b\u043e, \u0447\u0442\u043e \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u0432\u043e \u0447\u0442\u043e \u0438\u0433\u0440\u0430\u0442\u044c. \u0412 \u0442\u0435\u043e\u0440\u0438\u0438: \u0441\u0442\u0430\u0432\u0438\u043c \u0432\u0441\u0435 \u0431\u043b\u043e\u043a\u0438 \u043d\u0430 15 \u043f\u043e\u0437\u0438\u0446\u0438\u0439, \u043f\u043e\u0442\u043e\u043c \u0440\u0430\u043d\u0434\u043e\u043c\u043d\u043e \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u0438\u043c \u043d\u043e\u043c\u0435\u0440\u0430, \u0440\u0430\u0434\u0443\u0435\u043c\u0441\u044f \u0436\u0438\u0437\u043d\u0438. \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435: \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u0439 \u0431\u0430\u0433. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043a\u0430\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0432 \u043f\u044f\u0442\u043d\u0430\u0448\u043a\u0430\u0445 \u2014 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043c\u044b\u0435. \u0422\u043e\u0435\u0441\u0442\u044c \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0438\u0433\u0440\u0443 \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0432\u044b\u0438\u0433\u0440\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u042f \u0443\u0432\u0435\u0440\u0435\u043d \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u044d\u0442\u043e \u0438 \u0442\u0430\u043a \u0437\u043d\u0430\u0435\u0442, \u043d\u043e \u043b\u0438\u0447\u043d\u043e \u044f \u2014 \u043d\u0435 \u0437\u043d\u0430\u043b. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0432\u0438\u0434\u0435 \u0441\u043e\u0432\u0435\u0442\u0430 \u043e\u0442 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043a\u043e\u043b\u043b\u0435\u0433\u0438: \u00ab\u0440\u0430\u0441\u0441\u0442\u0430\u0432\u043b\u044f\u0439 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0430 \u043f\u043e\u0442\u043e\u043c \u0440\u0430\u043d\u0434\u043e\u043c\u043d\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0448\u0438\u0432\u0430\u0439, \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439 \u043d\u0430 400\u00bb. \u0418\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a \u0438 \u0431\u044b\u043b\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u043a\u043e\u043d\u0446\u0435-\u043a\u043e\u043d\u0446\u043e\u0432.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043f\u0435\u0440\u0435\u043c\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u044f (js)<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">mix : function(){  \t\tcore.check_win = false;  \t\tfor(var i = 0; i &lt; 600; i++){  \t\t\tvar num = Math.floor(Math.random() * (4 - 1 + 1)) + 1; \t\t\tvar free_pos = 0;  \t\t\tfor(var j = 1; j&lt;=16;j++){ \t\t\t\tif(core.table_of_emptify[j] == true){ \t\t\t\t\tfree_pos = j; \t\t\t\t\tbreak; \t\t\t\t} \t\t\t}  \t\t\tswitch (num) { \t\t\t\tcase 1: \t\t\t\t\t$('#'+(free_pos-4)).trigger('click'); \t\t\t\t\tbreak; \t\t\t\tcase 2: \t\t\t\t\t$('#'+(free_pos+4)).trigger('click'); \t\t\t\t\tbreak; \t\t\t\tcase 3: \t\t\t\t\t$('#'+(free_pos-1)).trigger('click'); \t\t\t\t\tbreak; \t\t\t\tcase 4: \t\t\t\t\t$('#'+(free_pos+1)).trigger('click'); \t\t\t\t\tbreak; \t\t\t\tdefault: \t\t\t\t\tbreak; \t\t\t}  \t\t}  \t\tcore.check_win = true;  \t} <\/code><\/pre>\n<\/div>\n<\/div>\n<h4>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0434\u043b\u044f Chrome<\/h4>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0442\u0430\u0442\u0435\u0439 \u043d\u0430 \u0445\u0430\u0431\u0440\u0435, \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0447\u0442\u043e \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u043e 2 \u0432\u0435\u0449\u0438 \u2014 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 manifest.json, \u0438\u2026 5$. \u042f \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u044e \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u043b\u043e\u0433\u0438\u043a\u0438, \u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043d\u0430 web \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0435 \u0445\u0440\u043e\u043c\u0430, \u043d\u0430\u0434\u043e \u0435\u0434\u0438\u043d\u043e\u0440\u0430\u0437\u043e\u0432\u043e \u0443\u043f\u043b\u0430\u0442\u0438\u0442\u044c 5$.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 manifest.json<\/b><\/p>\n<div class=\"spoiler_text\"><code> {   &quot;manifest_version&quot;: 2,   &quot;name&quot;: &quot;Fifteen puzzle&quot;,   &quot;version&quot;: &quot;1.0&quot;,   &quot;description&quot;: &quot;A famous fifteen puzzle now in you browser!&quot;,   &quot;icons&quot;: {     &quot;32&quot;: &quot;32x32.png&quot;,     &quot;48&quot;: &quot;48x48.png&quot;,     &quot;64&quot;: &quot;64x64.png&quot;,     &quot;128&quot;: &quot;128x128.png&quot;   },     &quot;browser_action&quot;: {         &quot;default_title&quot;: &quot;Game of 15&quot;,         &quot;default_icon&quot;: &quot;48x48.png&quot;,         &quot;default_popup&quot;: &quot;popup.html&quot;     }      } <\/code>  <\/div>\n<\/div>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u043a\u043e\u0434\u0430 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e, \u0442\u043e \u0441\u043c\u044b\u0441\u043b\u0430 \u0437\u0430\u043b\u0438\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431 \u044f \u043d\u0435 \u0432\u0438\u0436\u0443, \u0438 \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e \u043f\u0440\u044f\u043c\u043e \u0437\u0434\u0435\u0441\u044c:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">HTML \u0444\u0430\u0439\u043b<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"html\">&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text\/html; charset=UTF-8&quot;&gt; &lt;link rel=&quot;stylesheet&quot; href=&quot;css\/style.css&quot;&gt; &lt;meta name=&quot;description&quot; content=&quot;game v 0.001 alpha&quot;&gt; &lt;meta name=&quot;author&quot; content=&quot;vlreshet&quot;&gt; &lt;script type=&quot;text\/javascript&quot; src=&quot;js\/jquery.js&quot;&gt;&lt;\/script&gt; &lt;script type=&quot;text\/javascript&quot; src=&quot;js\/timer.jquery.minified.js&quot;&gt;&lt;\/script&gt; &lt;script type=&quot;text\/javascript&quot; src=&quot;js\/game.min.js&quot;&gt;&lt;\/script&gt; &lt;\/head&gt; &lt;body style=&quot;width:386px; height:266px; background-color:#CFF2DE;&quot;&gt; \t&lt;div class=&quot;game_field_backdiv&quot;&gt;&lt;\/div&gt; \t&lt;div class=&quot;game_field&quot; border=&quot;10&quot; onselectstart=&quot;return false&quot;&gt; \t\t\t&lt;div class=&quot;block&quot; id=&quot;1&quot;&gt;1 &lt;\/div&gt; \t\t\t&lt;div class=&quot;block&quot; id=&quot;2&quot;&gt;2 &lt;\/div&gt; \t\t\t&lt;div class=&quot;block&quot; id=&quot;3&quot;&gt;3 &lt;\/div&gt; \t\t\t&lt;div class=&quot;block&quot; id=&quot;4&quot;&gt;4 &lt;\/div&gt;   \t\t\t&lt;div class=&quot;block&quot; id=&quot;5&quot;&gt;5 &lt;\/div&gt; \t\t\t&lt;div class=&quot;block&quot; id=&quot;6&quot;&gt;6 &lt;\/div&gt; \t\t\t&lt;div class=&quot;block&quot; id=&quot;7&quot;&gt;7 &lt;\/div&gt; \t\t\t&lt;div class=&quot;block&quot; id=&quot;8&quot;&gt;8 &lt;\/div&gt;    \t\t\t&lt;div class=&quot;block&quot; id=&quot;9&quot;&gt;9 &lt;\/div&gt; \t\t\t&lt;div class=&quot;block&quot; id=&quot;10&quot;&gt;10&lt;\/div&gt; \t\t\t&lt;div class=&quot;block&quot; id=&quot;11&quot;&gt;11&lt;\/div&gt; \t\t\t&lt;div class=&quot;block&quot; id=&quot;12&quot;&gt;12&lt;\/div&gt;  \t\t\t&lt;div class=&quot;block&quot; id=&quot;13&quot;&gt;13&lt;\/div&gt; \t\t\t&lt;div class=&quot;block&quot; id=&quot;14&quot;&gt;14&lt;\/div&gt; \t\t\t&lt;div class=&quot;block&quot; id=&quot;15&quot;&gt;15&lt;\/div&gt; \t&lt;\/div&gt; \t&lt;div class = &quot;start_button_field&quot;&gt; \t\t&lt;div class=&quot;button start&quot; id=&quot;button&quot;&gt;START&lt;\/div&gt; \t\t&lt;div class=&quot;win&quot; style=&quot;display:none;&quot;&gt;YOU WIN!&lt;\/div&gt; \t\t&lt;div class='timer_place timer' id=&quot;win_time&quot;&gt;&lt;\/div&gt; \t&lt;\/div&gt; \t&lt;div class=&quot;driver_button_background&quot;&gt;&lt;\/div&gt; \t&lt;div class = &quot;driver_button_field&quot;&gt; \t\t&lt;div class=&quot;button&quot; id=&quot;pause&quot;&gt;PAUSE&lt;\/div&gt; \t\t&lt;div class=&quot;button&quot; id=&quot;reset&quot;&gt;RESET&lt;\/div&gt; \t\t&lt;div class=&quot;timer&quot; id=&quot;timer&quot;&gt;&lt;\/div&gt; \t&lt;\/div&gt; &lt;\/body&gt; &lt;\/html&gt; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<div class=\"spoiler\"><b class=\"spoiler_title\">css<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"css\">.html{ \t-ms-user-select:none; \t-moz-user-select:none; \t-khtml-user-select:none; \t-webkit-user-select:none; \t-user-select:none; }  .game_field{ \tposition: absolute; \tleft: 50%; \ttop: 50%; \tmargin-top: -128px; \tmargin-left: -128px; \twidth: 256px; \theight: 256px; \tborder-radius: 4px; }  .game_field_backdiv{ \tposition: absolute; \tleft: 50%; \ttop: 50%; \tmargin-top: -133px; \tmargin-left: -133px; \twidth: 266px; \theight: 266px; \tborder-radius: 10px; \tbackground-color: #20C0D9; \topacity: 0.7; }  .block{ \t-ms-user-select:none; \t-moz-user-select:none; \t-khtml-user-select:none; \t-webkit-user-select:none; \t-user-select:none; \tfloat: left; \twidth: 60px; \theight: 60px; \tmargin: 2px 2px 2px 2px; \tbackground-color: #F3EDD6; \tborder-radius: 4px; \ttext-align: center; \tfont-size: 250%; \tfont-weight: bold; \tcursor: pointer; }  table{ \ttext-align: center; }   .false{ \tbackground-color: #F7A603; }  .true{ \tbackground-image: -webkit-gradient( \t\tlinear, \t\tleft top, \t\tleft bottom, \t\tcolor-stop(0, #39F046), \t\tcolor-stop(1, #76ED7E), \t\tcolor-stop(1, #9AFFA4) \t); \tbackground-image: -o-linear-gradient(bottom, #39F046 0%, #76ED7E 100%, #9AFFA4 100%); \tbackground-image: -moz-linear-gradient(bottom, #39F046 0%, #76ED7E 100%, #9AFFA4 100%); \tbackground-image: -webkit-linear-gradient(bottom, #39F046 0%, #76ED7E 100%, #9AFFA4 100%); \tbackground-image: -ms-linear-gradient(bottom, #39F046 0%, #76ED7E 100%, #9AFFA4 100%); \tbackground-image: linear-gradient(to bottom, #39F046 0%, #76ED7E 100%, #9AFFA4 100%); }  .start_button_field{ \ttop: 50%; \tmargin-top: -132px; \tbackground-color: #E4DDE4; \topacity: .9; \tposition: absolute; \tleft: 50%; \tmargin-left: -132px; \twidth: 264px; \theight: 264px; \tborder-radius: 4px; }  .button { \t-ms-user-select:none; \t-moz-user-select:none; \t-khtml-user-select:none; \t-webkit-user-select:none; \t-user-select:none; \t-moz-box-shadow:inset 0px 0px 9px 0px #c1ed9c; \t-webkit-box-shadow:inset 0px 0px 9px 0px #c1ed9c; \tbox-shadow:inset 0px 0px 9px 0px #c1ed9c; \tbackground:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #9dce2c), color-stop(1, #8cb82b) ); \tbackground:-moz-linear-gradient( center top, #9dce2c 5%, #8cb82b 100% ); \tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#9dce2c', endColorstr='#8cb82b'); \tbackground-color:#9dce2c; \tborder-radius: 8px; \tborder-bottom-left-radius:8px; \ttext-indent:0px; \tdisplay:inline-block; \tcolor:#ffffff; \tfont-family:Arial; \tfont-size:20px; \tfont-weight:bold; \tfont-style:normal; \theight:35px; \tline-height:35px; \twidth:96px; \ttext-decoration:none; \ttext-align:center; \ttext-shadow:1px 1px 0px #689324; }  .button:hover { \tbackground:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #8cb82b), color-stop(1, #9dce2c) ); \tbackground:-moz-linear-gradient( center top, #8cb82b 5%, #9dce2c 100% ); \tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#8cb82b', endColorstr='#9dce2c'); \tbackground-color:#8cb82b; \tcursor: pointer; }  .start{ \tposition: relative; \tleft: 50%; \tmargin-left: -48px; \ttop:40%; \tmargin-top: 9px; }  #win_time{ \tdisplay: none; }  .timer_place{ \tcolor:#19FE0B; \tfont-family:Arial; \tfont-size:20px; \tfont-weight:bold; \tfont-style:normal; \theight:35px; \tline-height:35px; \twidth:96px; \tposition: relative; \ttext-decoration:none; \ttext-align:center; \tleft: 50%; \ttop:40%; \tmargin-left: -48px; \tmargin-top: -10px; }  .win{ \tdisplay: none; \tcolor:#19FE0B; \tfont-family:Arial; \tfont-size:20px; \tfont-weight:bold; \tfont-style:normal; \theight:35px; \tline-height:35px; \twidth:96px; \tposition: relative; \ttext-decoration:none; \ttext-align:center; \tleft: 50%; \ttop:40%; \tmargin-left: -48px; \tmargin-top: -25px; }  .driver_button_field{ \tdisplay: none; \tposition: absolute; \tborder-radius: 4px; \twidth: 105px; \theight: 110px; \tborder-radius: 8px; \tleft: 60%; \ttop: 50%; \tmargin-top: -133px; }  .driver_button_background{ \tdisplay: none; \tposition: absolute; \tborder-radius: 4px; \tbackground-color: #20C0D9; \topacity: 0.7; \twidth: 115px; \theight: 130px; \tborder-radius: 8px; \tleft: 60%; \ttop: 50%; \tmargin-top: -133px; }  #pause{ \tmargin-left: 10px; \tmargin-top: 5px; }  #reset{ \tmargin-left: 10px; \tmargin-top: 5px; }  #timer{   \tbox-shadow: 0px 0px 14px 0px #5D6FE5 inset; \t-ms-user-select:none; \t-moz-user-select:none; \t-khtml-user-select:none; \t-webkit-user-select:none; \t-user-select:none; \tborder: 1px #22C3DD solid; \tbackground:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #20C0D9), color-stop(1, #22C3DD) ); \tbackground:-moz-linear-gradient( center top, #20C0D9 5%, #22C3DD 100% ); \tfilter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#20C0D9', endColorstr='#22C3DD'); \tbackground-color:#20C0D9; \tborder-radius: 8px; \ttext-indent:0px; \tdisplay:inline-block; \tcolor:#ffffff; \tfont-family:Arial; \tfont-size:20px; \tfont-weight:bold; \tfont-style:normal; \theight:35px; \tline-height:35px; \twidth:96px; \ttext-decoration:none; \ttext-align:center; \ttext-shadow:1px 1px 0px #689324; \tmargin-left: 10px; \tmargin-top: 5px; } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">JavaScript<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">var handlersSetter = {  \tsetHandlers : function(){ \t\t$('#button').on('click', function(){ \t\t$('.start_button_field').hide('fast'); \t\t$('.driver_button_background').show('fast'); \t\t$('.driver_button_field').show('fast'); \t});  \t$('.start').on('click', function(){         $('.timer').timer('start');         $(this).addClass('hidden');         $('.start_button').hide();         handlersSetter.paused = false;     });      $('#reset').on('click', function(){     \tcore.set_default();     \t$('.timer').timer('start');     \t$('.timer').timer('reset');     \t$('.start_button_field').hide('fast');     \t$('.start').show(); \t\t$('.win').hide(); \t\t$('#win_time').hide();     });      $('#pause').on('click', function(){     \tif(!handlersSetter.paused){     \t\t$('.timer').timer('pause');     \t\thandlersSetter.paused = true;     \t\t$('.start_button_field').show();\t     \t}     });      $(&quot;body&quot;).on(&quot;click&quot;,&quot;.block&quot;,function(e){  \t\tvar position = parseFloat(e.currentTarget['id']); \t\t  \t\tif(core.check_top(position)){ \t\t\tcore.replace(position, -64, 0, -4); \t\t}  \t\tif(core.check_bottom(position)){ \t\t\tcore.replace(position, 64, 0, 4); \t\t}   \t\tif(core.check_right(position)){ \t\t\tcore.replace(position, 0, 64, 1); \t\t}\t   \t\tif(core.check_left(position)){ \t\t\tcore.replace(position, 0, -64, -1); \t\t}  \t});  \t}  }    var core = {  \tcheck_win : false,  \treplace : function(position, func_top, func_left, func_position){  \t\tvar obj = $('#'+position); \t\tvar left = obj.offset().left; \t\tvar top = obj.offset().top;  \t\tnew_position = new Object(); \t\tnew_position.top = top + func_top; \t\tnew_position.left = left + func_left; \t\tcore.table_of_emptify[position] = true; \t\tcore.table_of_emptify[position+func_position] = false; \t\tobj.attr(&quot;id&quot;,(position+func_position)); \t\tnew_position.left = left + func_left; \t\tobj.offset(new_position); \t\tcore.check_pos(position+func_position);  \t},  \tsetEmptifyTable : function(func){ \t\tcore.table_of_emptify = [false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true]; \t\tfunc(); \t},  \tmix : function(){  \t\tcore.check_win = false;  \t\tfor(var i = 0; i &lt; 600; i++){  \t\t\tvar num = Math.floor(Math.random() * (4 - 1 + 1)) + 1; \t\t\tvar free_pos = 0;  \t\t\tfor(var j = 1; j&lt;=16;j++){ \t\t\t\tif(core.table_of_emptify[j] == true){ \t\t\t\t\tfree_pos = j; \t\t\t\t\tbreak; \t\t\t\t} \t\t\t}  \t\t\tswitch (num) { \t\t\t\tcase 1: \t\t\t\t\t$('#'+(free_pos-4)).trigger('click'); \t\t\t\t\tbreak; \t\t\t\tcase 2: \t\t\t\t\t$('#'+(free_pos+4)).trigger('click'); \t\t\t\t\tbreak; \t\t\t\tcase 3: \t\t\t\t\t$('#'+(free_pos-1)).trigger('click'); \t\t\t\t\tbreak; \t\t\t\tcase 4: \t\t\t\t\t$('#'+(free_pos+1)).trigger('click'); \t\t\t\t\tbreak; \t\t\t\tdefault: \t\t\t\t\tbreak; \t\t\t}  \t\t}  \t\tcore.check_win = true;  \t},  \tcheck_top : function (position){  \t\ttarget_position = parseFloat(position) - 4;  \t\tif(target_position &gt; 0){ \t\t\treturn(core.table_of_emptify[target_position]); \t\t}else{ \t\t\treturn false; \t\t}  \t},   \tcheck_bottom : function (position){  \t\ttarget_position = parseFloat(position) + 4;  \t\tif(target_position &lt;= 16){ \t\t\treturn(core.table_of_emptify[target_position]); \t\t}else{ \t\t\treturn false; \t\t}  \t},  \tcheck_left : function (position){  \t\ttarget_position = parseFloat(position) - 1;  \t\tif((target_position != 0)&&(target_position != 4)&&(target_position != 8)&&(target_position != 12)){ \t\t\treturn(core.table_of_emptify[target_position]); \t\t}else{ \t\t\treturn false; \t\t}  \t},  \tcheck_right : function (position){  \t\ttarget_position = parseFloat(position) + 1;  \t\tif((target_position != 1)&&(target_position != 5)&&(target_position != 9)&&(target_position != 13)){ \t\t\treturn(core.table_of_emptify[target_position]); \t\t}else{ \t\t\treturn false; \t\t}  \t},  \tcheck_pos : function (pos){  \t\tvar obj = $('#'+pos); \t\tif(obj.html() == pos){ \t\t\tobj.attr('class','block true'); \t\t}else{ \t\t\tobj.attr('class','block false'); \t\t}   \t\tif(!core.check_win){ \t\t\treturn; \t\t}  \t\tif($('#15').html() == '15'){  \t\t\tvar flag = true;  \t\t\tfor(var i = 1; i &lt;= 15; i++){  \t\t\t\tif($('#'+i).html() != i){ \t\t\t\t\tflag = false; \t\t\t\t\tbreak; \t\t\t\t}  \t\t\t}  \t\t\tif(flag){  \t\t\t\t$('.start').hide(); \t\t\t\t$('.start_button_field').show(); \t\t\t\t$('.win').show(); \t\t\t\t$('#win_time').show(); \t\t\t\t$('.timer').timer('pause');  \t\t\t}  \t\t}  \t},  \tset_default : function(){  \t\t$('.game_field').html('&lt;div class=&quot;block&quot; id=&quot;1&quot;&gt;1 &lt;\/div&gt;&lt;div class=&quot;block&quot; id=&quot;2&quot;&gt;2 &lt;\/div&gt;&lt;div class=&quot;block&quot; id=&quot;3&quot;&gt;3 &lt;\/div&gt;&lt;div class=&quot;block&quot; id=&quot;4&quot;&gt;4 &lt;\/div&gt;&lt;div class=&quot;block&quot; id=&quot;5&quot;&gt;5 &lt;\/div&gt;&lt;div class=&quot;block&quot; id=&quot;6&quot;&gt;6 &lt;\/div&gt;&lt;div class=&quot;block&quot; id=&quot;7&quot;&gt;7 &lt;\/div&gt;&lt;div class=&quot;block&quot; id=&quot;8&quot;&gt;8 &lt;\/div&gt;&lt;div class=&quot;block&quot; id=&quot;9&quot;&gt;9 &lt;\/div&gt;&lt;div class=&quot;block&quot; id=&quot;10&quot;&gt;10&lt;\/div&gt;&lt;div class=&quot;block&quot; id=&quot;11&quot;&gt;11&lt;\/div&gt;&lt;div class=&quot;block&quot; id=&quot;12&quot;&gt;12&lt;\/div&gt;&lt;div class=&quot;block&quot; id=&quot;13&quot;&gt;13&lt;\/div&gt;&lt;div class=&quot;block&quot; id=&quot;14&quot;&gt;14&lt;\/div&gt;&lt;div class=&quot;block&quot; id=&quot;15&quot;&gt;15&lt;\/div&gt;'); \t\t \t\tfor(var i = 1; i &lt;= 15; i++){  \t\t\tif($('#'+i).html() == i){ \t\t\t\t$('#'+i).attr('class','block true'); \t\t\t}else{ \t\t\t\t$('#'+i).attr('class','block false'); \t\t\t}  \t\t} \t\t \t\tcore.setEmptifyTable(core.mix); \t\t  \t},  \tinit : function(){  \t\thandlersSetter.setHandlers(); \t\tcore.setEmptifyTable(core.mix);  \t}  } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <a href=\"https:\/\/chrome.google.com\/webstore\/detail\/fifteen-puzzle\/bmmdhlggcmenmfpgngflkfejddjcplff\">\u0421\u0441\u044b\u043b\u043a\u0430<\/a> \u043d\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435<br \/>  <a href=\"http:\/\/walmik.info\/demos\/timer.jquery\/\">\u0421\u0441\u044b\u043b\u043a\u0430 <\/a> \u043d\u0430 \u0447\u0435\u0441\u043d\u043e \u0437\u0430\u044e\u0437\u0430\u043d\u044b\u0439 js-\u043f\u043b\u0430\u0433\u0438\u043d \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0430\u0439\u043c\u0435\u0440\u0430<br \/>  <a href=\"http:\/\/15game.tk\">\u0421\u0441\u044b\u043b\u043a\u0430<\/a> \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442<\/p>\n<h6>P.S. \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u043e\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 Opera 20+, \u0438 \u043e\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c (chromium \u0436\u0435). \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0432 Opera Store \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0430 \u043c\u043e\u0434\u0435\u0440\u0430\u0446\u0438\u0438<\/h6>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/227547\/\"> http:\/\/habrahabr.ru\/post\/227547\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445 web-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u0438\u043b\u0438 \u0436\u0435 \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0451\u0440\u0441\u0442\u043a\u0443 \u0443\u0447\u0438\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u043a\u0443\u0440\u0441\u0435, \u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u043f\u043e\u043d\u0438\u043c\u0430\u044e\u0442 \u043a\u0430\u043a \u0441 html \u0432\u043e\u043e\u0431\u0449\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0433\u0440\u0430\u0442\u044c.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/acc\/73e\/6f3\/acc73e6f32a9337fe269a9a6aa350c55.jpg\" alt=\"image\"\/>  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-227547","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/227547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=227547"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/227547\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=227547"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=227547"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=227547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}