-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathindex.html
114 lines (102 loc) · 6.34 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Next-puzzle</title>
<meta name="description" content="Next puzzle is an implementation of N-puzzle game with an algorithmic solver. N-puzzle size scalable version of the classical 15-puzzle. A-star (A*) and best-first (best-1st) search graph algorithms are implemented in typescript for the auto-solver.">
<meta name="keywords" content="n-puzzle, n puzzle, 15-puzzle, 15 puzzle, game, algorithm, algorithms, A-star, A*, graph, graphs, shortest path, heuristic, heuristics, manhattan distance, linear conflict, hamming, euclidean, time complexity, space complexity, ecole 42, école 42, piscine, school 42, Paris, typescript, computer science, programming, javascript, mobile friendly">
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-179027286-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-179027286-1');
</script>
<!-- Bootstrap CSS-->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="minimal-ui, width=device-width, initial-scale=1 shrink-to-fit=no">
<!-- Style css -->
<link rel='stylesheet' href='./style/style.css' type='text/css' media='all' />
<!-- Main application -->
<script type='module' src='./dist/bundle.js'></script>
</head>
<body>
<div class="main-container">
<div class='above-game'>
<div class='heading'>
<h1 class='title'> [N]ext-puzzle </h1>
<div class='score-container'>0</div>
<button class='help-button btn btn-danger'>?</button>
</div>
<div class='results-container'>
<div class='status-container'>> Ready </div>
<div class='time-container'>NA</div>
<div class='compl-size-container'>NA</div>
<div class='compl-time-container'>NA</div>
</div>
<div class='parameters-container'>
<div class='size-field-container'>
<p class='annotations'>Size:</p>
<input type='number' class='size-field' data-toggle="popover" value='4' min='2' max='100'></input>
</div>
<div class='complexity-field-container'>
<p class='annotations'>Shuffle comp.:</p>
<input type='number' class='complexity-field' value='42' min='0' max='65536'></input>
</div>
<div class='solvable-checkbox-container'>
<!-- <label for='checkbox-solvable'>Solvable:</label> -->
<p class='annotations'>Solvable:</p>
<input type='checkbox' class='checkbox-solvable' checked></input>
</div>
<div class='moves-container'>(MOVES)</div>
</div>
<div class='algorithms-container'>
<div>
<p class='annotations'>Anim. speed:</p>
<select name='speed' class='select-speed'>
<!-- <option disabled value=''>-speed-</option> -->
<option value='Slow'>Slow</option>
<option value='Normal' selected='selected'>Normal</option>
<option value='Fast'>Fast</option>
</select>
</div>
<div>
<p class='annotations'>Algorithm:</p>
<select name='algo' class='select-algo'>
<!-- <option disabled value=''>-algo-</option> -->
<option value='slow-a*'>A*</option>
<option value='a*' selected='selected'>A* opt.</option>
<option value='best-first'>Best-1st</option>
</select>
</div>
<div>
<p class='annotations'>Heuristic:</p>
<select name='heuristic' class='select-heuristic'>
<!-- <option disabled value=''>-heuristic-</option> -->
<option value='hamming'>Hamming</option>
<option value='cartesian'>Euclidean</option>
<option value='manhattan'>Manhattan</option>
<option value='linear-conflict' selected='selected'>Linear conflict</option>
<option value='permutations'>Permutation nb.</option>
</select>
</div>
</div>
<div class='buttons-container' id="buttons">
<button class='shuffle-button btn btn-primary'>New game</button>
<button class='restart-button btn btn-primary'>Replay</button>
<button class='solve-button btn btn-primary'>Solve</button>
</div>
</div>
<div class='game-container'>
<canvas id='boardcanvas' width='500px' height='500px'></canvas>
</div>
<div class='icons-bar'>
<a href="https://github.com/igorgarbuz/n-puzzle" target='_blank'><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512" aria-hidden="true" class="icon"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg>
GitHub
</a>
</div>
</div>
</body>
</html>