CANVAS рдХрджрдо рд╕реЗ рдХрджрдо:- рдореВрд▓ рдмрд╛рддреЗрдВ
- рдЫрд╡рд┐
- рдкреЛрдВрдЧ
- рдЯреИрдЧ
рдПрдХ рдмрдЪреНрдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдкреЙрдЯ рдереЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕ рдкрд╣реЗрд▓реА рдХреЛ рдЬрд╛рдирддрд╛ рд╣реИред рдЯреИрдЧ рдХреЛ рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдХреЗ рдмрдХреНрд╕реЗ рдореЗрдВ рддрдм рддрдХ рдШреБрдорд╛рдирд╛ рдЬрдм рддрдХ рдХрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдкреЛрд╖рд┐рдд рдХреНрд░рдо рдПрдХ рдмрд╣реБрдд рд╣реА рд░реЛрдЪрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рдереАред рдФрд░ рдЕрднреА рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдЦреЗрд▓ рд░реБрдЪрд┐ рдХреЗ рдХреНрд░рдо рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдЯреИрдЧ рд▓рд┐рдЦреЗ рдЬреЛ рди рдХреЗрд╡рд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рд╕реЗ рдЦреЗрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдпрд╛ рдЖрдИрдУрдПрд╕ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рд╕реЗ рднреАред
рд╣рдорд╛рд░реЗ рдЦреЗрд▓ рдореЗрдВ рдПрдХ рдбреИрдбреА рдореЗрдВ рдкрдбрд╝реА рджреЛ рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреА, рдкрд╣рд▓реЗ рд╣рдо index.htm рдХрд╛ рдирд╛рдо рд▓реЗрдВрдЧреЗ, рдФрд░ рджреВрд╕рд░рд╛ Puzzle15.js
HTML рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдкреВрд░реЗ рдкреЛрд╕реНрдЯ рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓реЗрдЧреА, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
<html> <head> <meta charset="utf-8"> <title></title> <script src="puzzle15.js"></script> </head> <body> <canvas id="puzzle15"> - </canvas> <script>init();</script> </body> </html>
рд╣рдо рджреВрд╕рд░реА рдлрд╛рдЗрд▓ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╡реНрдпрд╕реНрдд рд╣реЛрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП, рд╢реБрд░реВ рдореЗрдВ рд╣рдо рдЗрдирд┐рдЯ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВрдЧреЗ, рдЬреЛ рд╣рдорд╛рд░реЗ рдХреИрдирд╡рд╛рд╕ рдХреЛ рдЖрдХрд╛рд░ рджреЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдПрдХ рд╕рдорд╛рди рд░рдВрдЧ рдХреЗ рд╕рд╛рде рдкреЗрдВрдЯ рдХрд░реЗрдЧрд╛, рдЕрд░реНрдерд╛рддред Puzzle15.js рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:
function init() { var canvas = document.getElementById("puzzle15"); canvas.width = 320;
рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕рд╛рде index.htm рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдЧрд╣рд░реЗ рдЧреНрд░реЗ рдЖрдпрдд рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЯреИрдЧ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╡рд░реНрдЧ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдЦреЗрд▓ рддрд░реНрдХ рдирд┐рдХрд╛рд▓реЗ рдЧрдП, рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
function game15() { var cellView = null; var numView = null; var arr = [[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,0]]; var clicks = 0; function getNull() {
рдЕрдм рд╣рдорд╛рд░реЗ рдЦреЗрд▓ рдХреЛ рд╕реНрдереИрддрд┐рдХ рдЖрдпрдд рд╕реЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
function init() { var canvas = document.getElementById("puzzle15"); canvas.width = 320; canvas.height = 320; var cellSize = canvas.width / 4; var context = canvas.getContext("2d"); var field = new game15();
рдЦреИрд░, рдпрд╣ рдХреЗрд╡рд▓ рдорд╛рдЙрд╕ рдФрд░ рд╕реНрдкрд░реНрд╢ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдЯреИрдЧ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдорд┐рд▓рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП, init рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдлрд╝реАрд▓реНрдб рдХреА рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ (рд╕рдВрджрд░реНрдн, рд╕реЗрд▓рд╕рд╛рдЗрдЬрд╝) рдХреЗ рдмрд╛рдж, рдереЛрдбрд╝рд╛ рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ:
function event(x, y) {
рдЬреЛ рдЙрд╕
рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред
рдХреЛрдб рдореЗрдВ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЬрд▓реНрджреА рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЗрдкреЙрдб рдкрд░ рд╕реНрдкреЙрдЯ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдФрд░ рдлреЛрдЯреЛ рдХреЗ рд▓рд┐рдП
рд╣реЙрдмреАрдмреАрдЯ рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред