-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
115 lines (105 loc) · 5.52 KB
/
Copy pathindex.html
File metadata and controls
115 lines (105 loc) · 5.52 KB
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
115
<!DOCTYPE html>
<html data-bg-style="clean">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Alien Invasion</title>
</head>
<body>
<div class="page-shell">
<div class="page-frame">
<header class="hero">
<h1>Alien Invasion</h1>
</header>
<section class="status-panel" aria-label="Game status">
<div class="status-copy">
<p id="status-subtitle">Press S or Launch to begin.</p>
</div>
<div class="status-actions">
<label class="callsign-field" for="player-name-input">
<span>Callsign</span>
<input id="player-name-input" type="text" maxlength="16" value="PILOT-1" autocomplete="nickname" spellcheck="false">
</label>
<button id="settings-toggle-button" class="cog-button" type="button" aria-controls="settings-panel" aria-expanded="false" aria-label="Open settings" title="Open settings">⚙</button>
<button id="stats-toggle-button" type="button" aria-controls="telemetry-panel" aria-expanded="false" aria-label="Show telemetry" title="Show telemetry">Stats</button>
<button id="leaderboard-toggle-button" type="button" aria-controls="leaderboard-panel" aria-expanded="false" aria-label="Show high scores" title="Show high scores">Scores</button>
<button id="start-button" type="button">Launch</button>
<button id="pause-button" type="button">Pause</button>
<button id="restart-button" type="button">Restart Run</button>
<button id="mute-button" type="button">Mute Audio</button>
</div>
</section>
<section id="settings-panel" class="settings-panel" aria-label="Settings" hidden>
<div class="settings-header">
<h2>Settings</h2>
<p>Tune the run without leaving the game.</p>
</div>
<div class="settings-grid">
<label class="setting-control" for="difficulty-select">
<span>Difficulty</span>
<select id="difficulty-select">
<option value="rookie">Rookie</option>
<option value="pilot" selected>Pilot</option>
<option value="ace">Ace</option>
</select>
</label>
<label class="setting-control" for="volume-range">
<span>Volume</span>
<div class="range-group">
<input id="volume-range" type="range" min="0" max="100" step="1" value="70">
<output id="volume-display" for="volume-range">70%</output>
</div>
</label>
</div>
</section>
<section id="telemetry-panel" class="telemetry-panel" aria-label="Telemetry" hidden>
<div class="telemetry-item"><strong>Score</strong><span id="score-value">0</span></div>
<div class="telemetry-item"><strong>Lives</strong><span id="lives-value">3</span></div>
<div class="telemetry-item"><strong>Level</strong><span id="level-value">1</span></div>
<div class="telemetry-item"><strong>Phase</strong><span id="phase-value">Ready</span></div>
<div class="telemetry-item"><strong>Warp</strong><span id="warp-value">Cruise</span></div>
<div class="telemetry-item"><strong>Audio</strong><span id="audio-value">Live</span></div>
<div class="telemetry-item"><strong>Best</strong><span id="best-score-value">0</span></div>
</section>
<section id="leaderboard-panel" class="leaderboard-panel" aria-label="High scores" hidden>
<div class="settings-header">
<h2>Local High Scores</h2>
<p>Your top five runs stay on this browser.</p>
</div>
<ol id="leaderboard-list" class="leaderboard-list">
<li class="leaderboard-empty">No runs logged yet.</li>
</ol>
</section>
<main class="game-layout">
<aside class="side-card">
<img src="/images/player.png" alt="Player marker">
<h2>Pilot</h2>
<p>Hold the line, manage warp, and keep the lane clear.</p>
</aside>
<section class="canvas-card">
<canvas id="game" width="600" height="400" aria-label="Alien Invasion game"></canvas>
</section>
<aside class="side-card">
<img src="/images/monsterBig.png" alt="Alien marker">
<h2>Threat</h2>
<p>Aliens accelerate when warp is active, so mobility has a cost.</p>
</aside>
</main>
<section class="control-panel" aria-label="Controls">
<h2>Controls</h2>
<p class="controls-hint">Quick reference</p>
<div class="controls-legend">
<div class="control-row"><span class="control-key">S</span><span class="control-action">Launch / Continue</span></div>
<div class="control-row"><span class="control-key">P</span><span class="control-action">Pause / Resume</span></div>
<div class="control-row"><span class="control-key">R</span><span class="control-action">Restart Run</span></div>
<div class="control-row"><span class="control-key">M</span><span class="control-action">Mute / Unmute</span></div>
<div class="control-row"><span class="control-key">↑ ↓</span><span class="control-action">Move Ship</span></div>
<div class="control-row"><span class="control-key">← →</span><span class="control-action">Warp Off / On</span></div>
<div class="control-row"><span class="control-key">Space</span><span class="control-action">Fire Lasers</span></div>
</div>
</section>
</div>
</div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>