padrino commited on
Commit
d5ecfd0
·
verified ·
1 Parent(s): ae2f4d1

Add 2 files

Browse files
Files changed (2) hide show
  1. README.md +7 -5
  2. index.html +313 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Pierre
3
- emoji: 🏢
4
- colorFrom: indigo
5
- colorTo: yellow
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: pierre
3
+ emoji: 🐳
4
+ colorFrom: pink
5
+ colorTo: green
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,313 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ <title>Quake II Remastered</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ @import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');
11
+
12
+ body {
13
+ font-family: 'Press Start 2P', cursive;
14
+ background-color: #000;
15
+ color: #e0e0e0;
16
+ overflow: hidden;
17
+ height: 100vh;
18
+ }
19
+
20
+ .quake-logo {
21
+ text-shadow: 0 0 10px #ff3d00, 0 0 20px #ff3d00;
22
+ animation: pulse 1.5s infinite alternate;
23
+ }
24
+
25
+ .menu-item {
26
+ transition: all 0.3s ease;
27
+ position: relative;
28
+ }
29
+
30
+ .menu-item:hover {
31
+ color: #ff3d00;
32
+ transform: scale(1.05);
33
+ }
34
+
35
+ .menu-item:hover::before {
36
+ content: '>';
37
+ position: absolute;
38
+ left: -20px;
39
+ color: #ff3d00;
40
+ }
41
+
42
+ .menu-item:hover::after {
43
+ content: '<';
44
+ position: absolute;
45
+ right: -20px;
46
+ color: #ff3d00;
47
+ }
48
+
49
+ .pixel-border {
50
+ border: 4px solid #333;
51
+ box-shadow:
52
+ 0 0 0 4px #222,
53
+ 0 0 0 8px #111;
54
+ }
55
+
56
+ .blood-effect {
57
+ position: absolute;
58
+ width: 100%;
59
+ height: 100%;
60
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADgQGXKf9B1wAAAABJRU5ErkJggg==') repeat;
61
+ opacity: 0;
62
+ pointer-events: none;
63
+ transition: opacity 0.3s;
64
+ }
65
+
66
+ .blood-effect.active {
67
+ opacity: 0.2;
68
+ }
69
+
70
+ @keyframes pulse {
71
+ 0% { transform: scale(1); }
72
+ 100% { transform: scale(1.05); }
73
+ }
74
+
75
+ @keyframes scanlines {
76
+ 0% { background-position: 0 0; }
77
+ 100% { background-position: 0 10px; }
78
+ }
79
+
80
+ .scanlines {
81
+ position: absolute;
82
+ top: 0;
83
+ left: 0;
84
+ width: 100%;
85
+ height: 100%;
86
+ background:
87
+ linear-gradient(to bottom,
88
+ rgba(0,0,0,0) 0%,
89
+ rgba(255,255,255,0.05) 50%,
90
+ rgba(0,0,0,0) 100%);
91
+ background-size: 100% 2px;
92
+ animation: scanlines 0.5s linear infinite;
93
+ pointer-events: none;
94
+ }
95
+
96
+ .weapon {
97
+ position: absolute;
98
+ bottom: 20px;
99
+ right: 20px;
100
+ transform: translateY(100px);
101
+ transition: transform 0.3s ease;
102
+ }
103
+
104
+ .weapon.active {
105
+ transform: translateY(0);
106
+ }
107
+
108
+ .health-bar {
109
+ width: 200px;
110
+ height: 20px;
111
+ background-color: #333;
112
+ border: 2px solid #555;
113
+ }
114
+
115
+ .health-fill {
116
+ height: 100%;
117
+ background-color: #ff3d00;
118
+ transition: width 0.3s ease;
119
+ }
120
+
121
+ .ammo-count {
122
+ font-size: 24px;
123
+ color: #ff3d00;
124
+ text-shadow: 0 0 5px #ff3d00;
125
+ }
126
+
127
+ .enemy {
128
+ position: absolute;
129
+ width: 100px;
130
+ height: 100px;
131
+ background-color: #333;
132
+ border: 2px solid #ff3d00;
133
+ display: flex;
134
+ justify-content: center;
135
+ align-items: center;
136
+ font-size: 24px;
137
+ cursor: pointer;
138
+ transition: all 0.2s ease;
139
+ }
140
+
141
+ .enemy:hover {
142
+ background-color: #ff3d00;
143
+ color: #000;
144
+ }
145
+
146
+ .game-container {
147
+ display: none;
148
+ position: relative;
149
+ width: 100%;
150
+ height: 100vh;
151
+ background-color: #111;
152
+ }
153
+
154
+ .menu-container {
155
+ display: flex;
156
+ flex-direction: column;
157
+ justify-content: center;
158
+ align-items: center;
159
+ height: 100vh;
160
+ gap: 30px;
161
+ }
162
+ </style>
163
+ </head>
164
+ <body>
165
+ <div class="scanlines"></div>
166
+ <div class="blood-effect"></div>
167
+
168
+ <div class="menu-container" id="menu">
169
+ <h1 class="quake-logo text-6xl md:text-8xl mb-10">QUAKE II</h1>
170
+
171
+ <div class="flex flex-col gap-6 text-xl md:text-2xl text-center">
172
+ <div class="menu-item cursor-pointer" onclick="startGame()">NEW GAME</div>
173
+ <div class="menu-item cursor-pointer" onclick="showSettings()">SETTINGS</div>
174
+ <div class="menu-item cursor-pointer" onclick="showMultiplayer()">MULTIPLAYER</div>
175
+ <div class="menu-item cursor-pointer" onclick="showCredits()">CREDITS</div>
176
+ <div class="menu-item cursor-pointer" onclick="quitGame()">QUIT</div>
177
+ </div>
178
+
179
+ <div class="mt-10 text-sm opacity-70">
180
+ © 2023 id Software. All rights reserved.
181
+ </div>
182
+ </div>
183
+
184
+ <div class="game-container" id="game">
185
+ <div class="absolute top-5 left-5">
186
+ <div class="health-bar">
187
+ <div class="health-fill" id="health" style="width: 100%"></div>
188
+ </div>
189
+ <div class="ammo-count mt-2" id="ammo">50</div>
190
+ </div>
191
+
192
+ <div class="weapon" id="weapon">
193
+ <img src="https://www.quakewiki.net/q2wpics/shotgun.jpg" alt="Shotgun" class="h-32">
194
+ </div>
195
+
196
+ <div class="enemy" id="enemy1" style="top: 20%; left: 20%;" onclick="shootEnemy(this)">👹</div>
197
+ <div class="enemy" id="enemy2" style="top: 30%; left: 70%;" onclick="shootEnemy(this)">👹</div>
198
+ <div class="enemy" id="enemy3" style="top: 60%; left: 40%;" onclick="shootEnemy(this)">👹</div>
199
+ </div>
200
+
201
+ <script>
202
+ // Menu functions
203
+ function startGame() {
204
+ document.getElementById('menu').style.display = 'none';
205
+ document.getElementById('game').style.display = 'block';
206
+ document.getElementById('weapon').classList.add('active');
207
+
208
+ // Play sound
209
+ playSound('start');
210
+ }
211
+
212
+ function showSettings() {
213
+ alert('Settings menu would appear here');
214
+ playSound('select');
215
+ }
216
+
217
+ function showMultiplayer() {
218
+ alert('Multiplayer menu would appear here');
219
+ playSound('select');
220
+ }
221
+
222
+ function showCredits() {
223
+ alert('Quake II Credits\n\nDeveloped by id Software\n\nJohn Carmack\nAdrian Carmack\nKevin Cloud\nTim Willits\n...and many more');
224
+ playSound('select');
225
+ }
226
+
227
+ function quitGame() {
228
+ if (confirm('Are you sure you want to quit?')) {
229
+ window.close();
230
+ }
231
+ playSound('select');
232
+ }
233
+
234
+ // Game functions
235
+ function shootEnemy(enemy) {
236
+ // Damage enemy
237
+ enemy.style.backgroundColor = '#ff3d00';
238
+ enemy.style.color = '#000';
239
+ enemy.innerHTML = '💀';
240
+
241
+ // Show blood effect
242
+ document.querySelector('.blood-effect').classList.add('active');
243
+ setTimeout(() => {
244
+ document.querySelector('.blood-effect').classList.remove('active');
245
+ }, 300);
246
+
247
+ // Update ammo
248
+ const ammoElement = document.getElementById('ammo');
249
+ let ammo = parseInt(ammoElement.textContent);
250
+ ammo--;
251
+ ammoElement.textContent = ammo;
252
+
253
+ if (ammo <= 0) {
254
+ ammoElement.textContent = '0';
255
+ alert('Out of ammo! Game over!');
256
+ location.reload();
257
+ }
258
+
259
+ // Play sound
260
+ playSound('shoot');
261
+
262
+ // Remove enemy after delay
263
+ setTimeout(() => {
264
+ enemy.style.display = 'none';
265
+
266
+ // Check if all enemies are dead
267
+ const enemies = document.querySelectorAll('.enemy');
268
+ const aliveEnemies = Array.from(enemies).filter(e => e.style.display !== 'none');
269
+
270
+ if (aliveEnemies.length === 0) {
271
+ setTimeout(() => {
272
+ alert('Level Complete!');
273
+ location.reload();
274
+ }, 500);
275
+ }
276
+ }, 500);
277
+ }
278
+
279
+ // Sound effects
280
+ function playSound(type) {
281
+ // In a real implementation, we would play actual sound files
282
+ console.log(`Playing ${type} sound`);
283
+ }
284
+
285
+ // Simulate taking damage
286
+ document.addEventListener('keydown', (e) => {
287
+ if (e.key === 'h') {
288
+ const healthElement = document.getElementById('health');
289
+ let width = parseInt(healthElement.style.width);
290
+ width = Math.max(0, width - 10);
291
+ healthElement.style.width = `${width}%`;
292
+
293
+ if (width <= 0) {
294
+ alert('You died! Game over!');
295
+ location.reload();
296
+ }
297
+ }
298
+ });
299
+
300
+ // Weapon animation
301
+ setInterval(() => {
302
+ const weapon = document.getElementById('weapon');
303
+ weapon.style.transform = 'translateY(0) translateX(5px)';
304
+ setTimeout(() => {
305
+ weapon.style.transform = 'translateY(0) translateX(-5px)';
306
+ setTimeout(() => {
307
+ weapon.style.transform = 'translateY(0) translateX(0)';
308
+ }, 50);
309
+ }, 50);
310
+ }, 5000);
311
+ </script>
312
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=padrino/pierre" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
313
+ </html>