-
Notifications
You must be signed in to change notification settings - Fork 0
/
Homework1.html
110 lines (94 loc) · 5.21 KB
/
Homework1.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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Maze Generation Visualization</title>
<link rel="stylesheet" href="style.css">
</head>
<style>
.checkbox-wrapper {
display: inline-block;
cursor: pointer;
font-size: 20px;
font-weight: bold;
}
.checkbox-custom {
opacity: 0;
position: absolute;
cursor: pointer;
}
.checkbox-wrapper label {
position: relative;
padding-left: 35px;
cursor: pointer;
display: inline-block;
line-height: 25px;
}
.checkbox-wrapper label::before {
content: '';
position: absolute;
left: 0;
top: 0;
width: 25px;
height: 25px;
background-color: #fff;
border: 2px solid #555;
border-radius: 5px;
}
.checkbox-wrapper label {
position: relative;
padding-left: 35px; /* Space for the custom checkbox */
cursor: pointer;
display: inline-block;
line-height: 30px; /* Adjust this value to change the line height */
font-size: 16px; /* Adjust font size as needed */
}
.checkbox-custom:checked + label::before {
background-color: lightgrey; /* Checked color */
/* Here you can add a checkmark with a background-image or other CSS */
}
</style>
<body>
<h1 style="font-size:70px;">Intro to AI - Homework 1</h1>
<h1 style="font-size: 50px;">Single Maze Display</h1>
<h2>Generating</h2>
<button id="regenerateSingle" style="padding: 10px 20px; background-color: lightblue; color: black; border: none; border-radius: 5px; font-size: 16px; cursor: pointer;font-weight: bold;">New Maze</button>
<button id="generateStep" style="padding: 10px 20px; background-color: lightblue; color: black; border: none; border-radius: 5px; font-size: 16px; cursor: pointer;font-weight: bold;">Single Step</button>
<button id="generateFull" style="padding: 10px 20px; background-color: lightblue; color: black; border: none; border-radius: 5px; font-size: 16px; cursor: pointer;font-weight: bold;">Fast Forward</button>
<button id="generateInstant" style="padding: 10px 20px; background-color: lightblue; color: black; border: none; border-radius: 5px; font-size: 16px; cursor: pointer;font-weight: bold;">Instant Generate</button>
<div class="checkbox-wrapper">
<input type="checkbox" id="autoGenerateCheckbox" name="autoGenerateCheckbox" class="checkbox-custom">
<label for="autoGenerateCheckbox">Auto Generate</label>
</div>
<h2>Solving</h2>
<button id="unsolve" style="padding: 10px 20px; background-color: lightcoral; color: black; border: none; border-radius: 5px; font-size: 16px; cursor: pointer;font-weight: bold;">Unsolve</button>
<button id="swapGoal" style="padding: 10px 20px; background-color: lightcoral; color: black; border: none; border-radius: 5px; font-size: 16px; cursor: pointer;font-weight: bold;">Swap Goal/Start</button>
<button id="generateStep2" style="padding: 10px 20px; background-color: lightcoral; color: black; border: none; border-radius: 5px; font-size: 16px; cursor: pointer;font-weight: bold;">Single Step</button>
<button id="generateFull2" style="padding: 10px 20px; background-color: lightcoral; color: black; border: none; border-radius: 5px; font-size: 16px; cursor: pointer;font-weight: bold;">Fast Forward</button>
<button id="instantSolve" style="padding: 10px 20px; background-color: lightcoral; color: black; border: none; border-radius: 5px; font-size: 16px; cursor: pointer;font-weight: bold;">Instant Solve</button>
<div class="checkbox-wrapper">
<input type="checkbox" id="adaptiveCheckbox" name="adaptiveCheckbox" class="checkbox-custom">
<label for="adaptiveCheckbox">Adaptive Heuristic</label>
</div>
<!-- <div class="checkbox-wrapper">
<input type="checkbox" id="higherG" name="higherG" class="checkbox-custom">
<label for="higherG">Favor Higher G</label>
</div> -->
<br><br>
<canvas id="mazeCanvas" width="500" height="500"></canvas>
<br>
<h1 style="font-size:60px;">Custom 50 Maze Display</h1>
<!-- <div id="averageExplored">Average Tiles Explored: <span id="avgTiles">0</span></div> -->
<button id="generateButton" style="padding: 20px 30px; background-color: lightblue; color: black; border: none; border-radius: 5px; font-size: 24px; cursor: pointer;font-weight: bold;">Regenerate Mazes</button>
<button id="flipButton" style="padding: 20px 30px; background-color: lightblue; color: black; border: none; border-radius: 5px; font-size: 24px; cursor: pointer;font-weight: bold;">Swap Start and Goal</button>
<br><br>
<button id="solveMaze1" style="padding: 20px 30px; background-color: lightgreen; color: black; border: none; border-radius: 5px; font-size: 24px; cursor: pointer;font-weight: bold;">Repeated A*: Tiebreaking favors lower g_values</button>
<br><br>
<button id="solveMaze2" style="padding: 20px 30px; background-color: lightcoral; color: black; border: none; border-radius: 5px; font-size: 24px; cursor: pointer;font-weight: bold;">Repeated A*: Tiebreaking favors higher g_values</button>
<br><br>
<div id="maze-container"></div>
<div id="maze-container2"></div>
<script type="module" src="./Homework1.js"></script>
</body>
</html>