Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions data/projects.json
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,6 @@
"difficulty": "easy"
},
{

"title": "Tip Calculator",
"slug": "Tip Calculator",
"description": "Calculate tips and divide bills accurately in seconds",
Expand All @@ -217,14 +216,12 @@
"difficulty": "easy"
},
{

"title": "Hangman Game",
"slug": "hangman",
"description": "A two player word guessing game where one enters a secret word and the other tries to guess it.",
"category": "Small Games",
"categoryKey": "games",
"difficulty": "medium"

},
{
"title": "Orbit Game",
Expand Down Expand Up @@ -257,5 +254,13 @@
"category": "productivity",
"categoryKey": "productivity",
"difficulty": "intermediate"
},
{
"title": "gravity-flip-pinball",
"slug": "gravity-flip-pinball",
"description": "A simple pinball game where you control gravity to move the ball and score by passing through gates.",
"category": "Small Games",
"categoryKey": "games",
"difficulty": "haed"
}
]
59 changes: 59 additions & 0 deletions projects/gravity-flip-pinball/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Gravity Flip Pinball</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="hud">
<h1>Gravity Flip Pinball</h1>
<div class="hud-row">
<span class="hud-label">Score:</span>
<span class="hud-value" id="score">0</span>
</div>
<div class="hud-row">
<span class="hud-label">Gates:</span>
<span class="hud-value" id="gates">0/3</span>
</div>
<div class="hud-row">
<span class="hud-label">Status:</span>
<span class="hud-value" id="status">Ready</span>
</div>
<div class="controls">
<button id="startBtn" class="btn">Start</button>
<button id="replayBtn" class="btn">Replay</button>
</div>
<p class="hint">
W/A/S/D — change gravity<br />
Double-click canvas to quick reset
</p>
</div>

<div class="mode-toggle">
<label>
<input type="checkbox" id="challengeMode" />
<span>Challenge Mode (60s)</span>
</label>
</div>

<div class="timer-display" id="timer">60</div>

<div class="gravity-indicator">
<button class="gravity-btn" data-key="w">↑</button>
<button class="gravity-btn" data-key="a">←</button>
<button class="gravity-btn" data-key="s">↓</button>
<button class="gravity-btn" data-key="d">→</button>
</div>

<div class="victory-modal" id="victoryModal">
<h2 id="victoryTitle">Victory!</h2>
<p id="victoryMessage">You collected all gates and reached the end!</p>
<button class="btn" onclick="replay()">Play Again</button>
</div>

<canvas id="gameCanvas"></canvas>
<script src="script.js"></script>
</body>
</html>
Loading