HTML · 3453 bytes Raw Blame History
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <link rel="stylesheet" href="css/styles.css">
7 <title>ASCII Sorting Visualizer</title>
8 </head>
9 <body>
10 <div class="container">
11 <header>
12 <div class="ascii-title">
13 ╔═╗╔═╗╔═╗╦╦ ╔═╗╔═╗╦═╗╔╦╗╔═╗╦═╗
14 ╠═╣╚═╗║ ║║ ╚═╗║ ║╠╦╝ ║ ║╣ ╠╦╝
15 ╩ ╩╚═╝╚═╝╩╩ ╚═╝╚═╝╩╚═ ╩ ╚═╝╩╚═
16 </div>
17 <p class="subtitle">&gt;&gt; TERMINAL SORTING VISUALIZATION &lt;&lt;</p>
18 </header>
19
20 <div class="controls">
21 <button onclick="generateArray()">NEW_ARRAY</button>
22 <button class="algorithm-btn" onclick="selectAlgorithm('bubble')">BUBBLE</button>
23 <button class="algorithm-btn" onclick="selectAlgorithm('selection')">SELECTION</button>
24 <button class="algorithm-btn" onclick="selectAlgorithm('insertion')">INSERTION</button>
25 <button class="algorithm-btn" onclick="selectAlgorithm('quick')">QUICK</button>
26 <button class="algorithm-btn" onclick="selectAlgorithm('merge')">MERGE</button>
27 <button class="algorithm-btn" onclick="selectAlgorithm('heap')">HEAP</button>
28 <button class="algorithm-btn" onclick="selectAlgorithm('shell')">SHELL</button>
29 <button class="algorithm-btn" onclick="selectAlgorithm('cocktail')">COCKTAIL</button>
30 <button class="algorithm-btn" onclick="selectAlgorithm('radix')">RADIX</button>
31 <button class="algorithm-btn" onclick="selectAlgorithm('gnome')">GNOME</button>
32 <button class="algorithm-btn" onclick="selectAlgorithm('bogo')">BOGO</button>
33 <button class="algorithm-btn" onclick="selectAlgorithm('comb')">COMB</button>
34 <button class="algorithm-btn" onclick="selectAlgorithm('pancake')">PANCAKE</button>
35 <button class="algorithm-btn" onclick="selectAlgorithm('bitonic')">BITONIC</button>
36 <button id="startBtn" onclick="startSort()">EXECUTE</button>
37 <button id="soundBtn" onclick="toggleSound()">SOUND: ON</button>
38 <div class="speed-control">
39 <span>SPEED:</span>
40 <input type="range" id="speedSlider" min="1" max="100" value="50">
41 </div>
42 </div>
43
44 <div class="visualization-container">
45 <div class="ascii-display" id="visualization"></div>
46 </div>
47
48 <div class="stats">
49 <div class="stat">
50 <div class="stat-label">:: COMPARISONS ::</div>
51 <div class="stat-value glitch" id="comparisons">0</div>
52 </div>
53 <div class="stat">
54 <div class="stat-label">:: SWAPS ::</div>
55 <div class="stat-value glitch" id="swaps">0</div>
56 </div>
57 <div class="stat">
58 <div class="stat-label">:: ARRAY_SIZE ::</div>
59 <div class="stat-value" id="arraySize">20</div>
60 </div>
61 <div class="stat" id="attemptsContainer" style="display: none;">
62 <div class="stat-label">:: ATTEMPTS ::</div>
63 <div class="stat-value" id="attempts">0</div>
64 </div>
65 </div>
66 </div>
67 <script src="js/app.js"></script>
68 </body>
69 </html>