Skip to content

Commit f7e8a2d

Browse files
amandeeep02virajbhartiyaTanuj-A06dhruvwarriorrVinayak314
authored
Hack X v2 (#147)
* init: hack x * feat: Add last year FAQs * feat: Add logo to the header page * fix: left align FAQs * feat: add images and links section for team (#130) * add images and links section for team * added pictures and link for team * About section updates (#135) * update: added about-tags and changed tiles and button * reformatting and scroll animations * fix: remove tracks * hack X: red color refactored to navy blue color - amrit (#140) * refactor: update styles and structure for Hack X website * add:vignette edge --------- Co-authored-by: Viraj Bhartiya <vlbhartiya@gmail.com> Co-authored-by: Aditi Singh <aditi.singh0205@gmail.com> * feat: Load and display a logo image * feat: add the music dance experince (#131) * feat: add the music dance experince * add escape functionality to mde --------- Co-authored-by: omikacharya <omikacharya@gmail.com> Co-authored-by: Omik Acharya <148583486+OmikAcharya@users.noreply.github.com> * Redesigned the What you get section, and added a hint in the game (#138) * ui: redesigned what you get section * ui: Hint for users to know how to play the game * ui: added responsiveness for what you get section --------- Co-authored-by: omikacharya <omikacharya@gmail.com> * feat: integrate 3D model viewer and enhance visual effects * feat: implement custom cursor and enhance text display in Bin class * refactor: update apply button styling and script loading in index.html; remove unused cursor glow initialization in sections.js * refactor: Use external URLs for team member photos and remove local image assets. * chore: update event location name and share URL * feat: implement full-screen mirror effect for About section canvas and enhance canvas rendering logic in sections.js * feat: add previous year faqs again (#143) * chore: remove registration links from index.html and sections.js; update config.js to reflect changes * fix: remove 1st faq (#144) * feat: add previous year faqs again * fix: remove 2 problem statements * feat: add konami easter eggs * add: social links (#132) * add: social links * merged branch hackx into samagra * 3d model fix, music dance experience fix (#145) * added sponsor logos and navbar (#142) * added sponsor logos * added navbar * fixed navbar * slowed the past sponsor carousel * removed navbar * fixed gajshield logo and slowed down scroll * changed font size, fixed alignment * square border for title sponsor --------- Co-authored-by: happypeepo <bhoumiksangle@gmai.com> --------- Co-authored-by: Viraj Bhartiya <vlbhartiya@gmail.com> Co-authored-by: �Tanuj-A06 <tanuj.adarkar06@gmail.com> Co-authored-by: Dhruv Kumar <dhruvkumar31712@gmail.com> Co-authored-by: Vinayak Pai <vinayakpai2006@gmail.com> Co-authored-by: Omik Acharya <148583486+OmikAcharya@users.noreply.github.com> Co-authored-by: Aditi Singh <aditi.singh0205@gmail.com> Co-authored-by: omikacharya <omikacharya@gmail.com> Co-authored-by: Anmol Rai <168467734+spooodieman@users.noreply.github.com> Co-authored-by: Shantanav Mukherjee <shantanav7@gmail.com> Co-authored-by: amrit-nigam <amritnigam2005@gmail.com> Co-authored-by: Samagra Agarwal <185402698+Samagra78@users.noreply.github.com> Co-authored-by: Bhoumik <204089736+happypeepo@users.noreply.github.com> Co-authored-by: happypeepo <bhoumiksangle@gmai.com>
1 parent a85ec1d commit f7e8a2d

96 files changed

Lines changed: 1222 additions & 322 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.DS_Store

0 Bytes
Binary file not shown.

hackx/3dmodel/3D Asset Final.glb

-8 Bytes
Binary file not shown.

hackx/audio-assets/cheetah.opus

4.87 KB
Binary file not shown.

hackx/audio-assets/sher.opus

5.24 KB
Binary file not shown.

hackx/audio.js

Lines changed: 128 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -2,84 +2,149 @@ let audioCtx = null;
22
let droneOsc = null;
33

44
function initAudio() {
5-
if (audioCtx) return;
6-
try {
7-
audioCtx = new (window.AudioContext || window.webkitAudioContext)();
8-
startDrone();
9-
} catch (e) {
10-
audioCtx = null;
11-
}
5+
if (audioCtx) return;
6+
try {
7+
audioCtx = new (window.AudioContext || window.webkitAudioContext)();
8+
startDrone();
9+
} catch (e) {
10+
audioCtx = null;
11+
}
1212
}
1313

1414
function startDrone() {
15-
if (!audioCtx) return;
16-
droneOsc = audioCtx.createOscillator();
17-
const gain = audioCtx.createGain();
18-
droneOsc.type = 'sine';
19-
droneOsc.frequency.setValueAtTime(60, audioCtx.currentTime);
20-
gain.gain.setValueAtTime(0.03, audioCtx.currentTime);
21-
droneOsc.connect(gain);
22-
gain.connect(audioCtx.destination);
23-
droneOsc.start();
15+
if (!audioCtx) return;
16+
droneOsc = audioCtx.createOscillator();
17+
const gain = audioCtx.createGain();
18+
droneOsc.type = "sine";
19+
droneOsc.frequency.setValueAtTime(60, audioCtx.currentTime);
20+
gain.gain.setValueAtTime(0.03, audioCtx.currentTime);
21+
droneOsc.connect(gain);
22+
gain.connect(audioCtx.destination);
23+
droneOsc.start();
2424
}
2525

2626
function playClick() {
27-
if (!audioCtx) return;
28-
const osc = audioCtx.createOscillator();
29-
const gain = audioCtx.createGain();
30-
osc.type = 'sine';
31-
osc.frequency.setValueAtTime(440, audioCtx.currentTime);
32-
gain.gain.setValueAtTime(0.1, audioCtx.currentTime);
33-
gain.gain.exponentialRampToValueAtTime(0.001, audioCtx.currentTime + 0.05);
34-
osc.connect(gain);
35-
gain.connect(audioCtx.destination);
36-
osc.start();
37-
osc.stop(audioCtx.currentTime + 0.05);
27+
if (!audioCtx) return;
28+
const osc = audioCtx.createOscillator();
29+
const gain = audioCtx.createGain();
30+
osc.type = "sine";
31+
osc.frequency.setValueAtTime(440, audioCtx.currentTime);
32+
gain.gain.setValueAtTime(0.1, audioCtx.currentTime);
33+
gain.gain.exponentialRampToValueAtTime(0.001, audioCtx.currentTime + 0.05);
34+
osc.connect(gain);
35+
gain.connect(audioCtx.destination);
36+
osc.start();
37+
osc.stop(audioCtx.currentTime + 0.05);
3838
}
3939

4040
function playRefine() {
41-
if (!audioCtx) return;
42-
const osc = audioCtx.createOscillator();
43-
const gain = audioCtx.createGain();
44-
osc.type = 'sine';
45-
osc.frequency.setValueAtTime(200, audioCtx.currentTime);
46-
osc.frequency.exponentialRampToValueAtTime(800, audioCtx.currentTime + 0.2);
47-
gain.gain.setValueAtTime(0.08, audioCtx.currentTime);
48-
gain.gain.exponentialRampToValueAtTime(0.001, audioCtx.currentTime + 0.2);
49-
osc.connect(gain);
50-
gain.connect(audioCtx.destination);
51-
osc.start();
52-
osc.stop(audioCtx.currentTime + 0.2);
41+
if (!audioCtx) return;
42+
const osc = audioCtx.createOscillator();
43+
const gain = audioCtx.createGain();
44+
osc.type = "sine";
45+
osc.frequency.setValueAtTime(200, audioCtx.currentTime);
46+
osc.frequency.exponentialRampToValueAtTime(800, audioCtx.currentTime + 0.2);
47+
gain.gain.setValueAtTime(0.08, audioCtx.currentTime);
48+
gain.gain.exponentialRampToValueAtTime(0.001, audioCtx.currentTime + 0.2);
49+
osc.connect(gain);
50+
gain.connect(audioCtx.destination);
51+
osc.start();
52+
osc.stop(audioCtx.currentTime + 0.2);
5353
}
5454

5555
function playNope() {
56-
if (!audioCtx) return;
57-
const osc = audioCtx.createOscillator();
58-
const gain = audioCtx.createGain();
59-
osc.type = 'sawtooth';
60-
osc.frequency.setValueAtTime(100, audioCtx.currentTime);
61-
gain.gain.setValueAtTime(0.08, audioCtx.currentTime);
62-
gain.gain.exponentialRampToValueAtTime(0.001, audioCtx.currentTime + 0.15);
63-
osc.connect(gain);
64-
gain.connect(audioCtx.destination);
65-
osc.start();
66-
osc.stop(audioCtx.currentTime + 0.15);
67-
}
68-
69-
function playMilestone() {
70-
if (!audioCtx) return;
71-
const freqs = [200, 267, 333];
72-
freqs.forEach((freq, i) => {
56+
if (!audioCtx) return;
7357
const osc = audioCtx.createOscillator();
7458
const gain = audioCtx.createGain();
75-
osc.type = 'sawtooth';
76-
osc.frequency.setValueAtTime(freq + (i * 2), audioCtx.currentTime);
77-
osc.detune.setValueAtTime(i * 10, audioCtx.currentTime);
78-
gain.gain.setValueAtTime(0.15, audioCtx.currentTime);
79-
gain.gain.exponentialRampToValueAtTime(0.001, audioCtx.currentTime + 0.5);
59+
osc.type = "sawtooth";
60+
osc.frequency.setValueAtTime(100, audioCtx.currentTime);
61+
gain.gain.setValueAtTime(0.08, audioCtx.currentTime);
62+
gain.gain.exponentialRampToValueAtTime(0.001, audioCtx.currentTime + 0.15);
8063
osc.connect(gain);
8164
gain.connect(audioCtx.destination);
8265
osc.start();
83-
osc.stop(audioCtx.currentTime + 0.5);
84-
});
66+
osc.stop(audioCtx.currentTime + 0.15);
67+
}
68+
69+
function playMilestone() {
70+
if (!audioCtx) return;
71+
const freqs = [200, 267, 333];
72+
freqs.forEach((freq, i) => {
73+
const osc = audioCtx.createOscillator();
74+
const gain = audioCtx.createGain();
75+
osc.type = "sawtooth";
76+
osc.frequency.setValueAtTime(freq + i * 2, audioCtx.currentTime);
77+
osc.detune.setValueAtTime(i * 10, audioCtx.currentTime);
78+
gain.gain.setValueAtTime(0.15, audioCtx.currentTime);
79+
gain.gain.exponentialRampToValueAtTime(
80+
0.001,
81+
audioCtx.currentTime + 0.5,
82+
);
83+
osc.connect(gain);
84+
gain.connect(audioCtx.destination);
85+
osc.start();
86+
osc.stop(audioCtx.currentTime + 0.5);
87+
});
8588
}
89+
90+
// Global Konami Code / Easter Egg Listener
91+
(function () {
92+
let keys = [];
93+
const MAX_KEYS = Math.max(
94+
"codecell".length,
95+
"cheetah".length,
96+
"sher".length,
97+
);
98+
99+
window.addEventListener("keydown", (e) => {
100+
keys.push(e.key.toLowerCase());
101+
if (keys.length > MAX_KEYS) {
102+
keys.shift();
103+
}
104+
105+
const sequence = keys.join("");
106+
107+
// Check codecell
108+
if (sequence.endsWith("codecell")) {
109+
// You can add logic for the visual easter egg here similar to the React one,
110+
// or simply log/play a sound.
111+
console.log("CODECELL Easter Egg triggered!");
112+
// Example visual implementation using a temporary overlay:
113+
let overlay = document.getElementById("codecell-easter-egg");
114+
if (!overlay) {
115+
overlay = document.createElement("div");
116+
overlay.id = "codecell-easter-egg";
117+
overlay.style.cssText =
118+
"display:flex; position:fixed; top:0; left:0; width:100vw; height:100vh; z-index:9999; justify-content:center; align-items:center; opacity:0; transition:all 0.5s ease-out; pointer-events:none; transform:scale(0.5);";
119+
overlay.innerHTML =
120+
'<img src="images/codecell.jpeg" style="width: 1000px; height: 600px; max-width: 80vw; max-height: 80vw; object-contain: cover; border-radius: 10%; box-shadow: 0 0 150px rgba(255,255,255,0.6);" />';
121+
document.body.appendChild(overlay);
122+
}
123+
setTimeout(() => {
124+
overlay.style.opacity = "1";
125+
overlay.style.transform = "scale(1)";
126+
}, 50);
127+
setTimeout(() => {
128+
overlay.style.opacity = "0";
129+
overlay.style.transform = "scale(0.5)";
130+
}, 4500);
131+
setTimeout(() => {
132+
if (overlay && overlay.parentNode) {
133+
overlay.parentNode.removeChild(overlay);
134+
}
135+
}, 5000);
136+
}
137+
138+
// Check sher
139+
if (sequence.endsWith("sher")) {
140+
const audio = new Audio("audio-assets/sher.opus");
141+
audio.play().catch(console.error);
142+
}
143+
144+
// Check cheetah
145+
if (sequence.endsWith("cheetah")) {
146+
const audio = new Audio("audio-assets/cheetah.opus");
147+
audio.play().catch(console.error);
148+
}
149+
});
150+
})();

hackx/config.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ const HACKX_CONFIG = {
33
eventName: 'HACK X',
44
tagline: 'CHANGING THE WORLD, ONE BIT AT A TIME',
55
date: 'APRIL 11-12, 2026',
6-
location: 'KJ SOMAIYA COLLEGE OF ENGINEERING',
7-
registerUrl: 'https://hackx.codecell.io/register',
6+
location: 'KJ SOMAIYA SCHOOL OF ENGINEERING',
7+
88
tracks: ['NEXUS', 'SPECTRA'],
99

1010
bootLines: [
1111
'CODECELL v10.0.0 // EST. 2016 // 10 YEARS',
1212
'HACK X PROTOCOL INIT...',
1313
'> APRIL 11-12 // 24HR HACKATHON',
14-
'> KJ SOMAIYA COLLEGE OF ENGINEERING',
14+
'> KJ SOMAIYA SCHOOL OF ENGINEERING',
1515
'> STATUS: ONLINE',
1616
],
1717

@@ -38,7 +38,7 @@ const HACKX_CONFIG = {
3838
'HACK X // APRIL 11-12 // REGISTER BEFORE APRIL 8',
3939
'CODECELL // 10 YEARS // CHANGING THE WORLD ONE BIT AT A TIME',
4040
'PRIZE POOL: ₹3,00,000+ // WHAT WILL YOU BUILD?',
41-
'KJ SOMAIYA COLLEGE OF ENGINEERING // 24 HOURS // NO LIMITS',
41+
'KJ SOMAIYA SCHOOL OF ENGINEERING // 24 HOURS // NO LIMITS',
4242
'YOUR REFINEMENT SCORE HAS BEEN NOTED',
4343
'CODECELL APPRECIATES YOUR DEDICATION',
4444
'THE DATA MUST FLOW',
@@ -59,6 +59,6 @@ const HACKX_CONFIG = {
5959
'QUANTUM',
6060
],
6161

62-
shareUrl: 'hackx.codecell.io',
62+
shareUrl: 'hack.kjsse.com',
6363
shareHashtags: '#HackX #CodeCell',
6464
};

hackx/images/codecell.jpeg

998 KB
Loading

0 commit comments

Comments
 (0)