Meta Description" name="description" />
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>SOUMEN PRO RACER HD</title>
<style>
* { box-sizing: border-box; user-select: none; -webkit-user-select: none; }
body, html { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; background: #000; font-family: 'Arial Black', sans-serif; }
#gameCanvas { width: 100%; height: 100%; display: block; }
.ui-screen { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle, #1a1a2e, #000); display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 10; }
.title { font-size: 4rem; color: #fff; text-transform: uppercase; letter-spacing: 5px; text-shadow: 0 0 20px #00d2ff, 0 0 40px #00d2ff; }
.mode-btn { margin-top: 20px; padding: 20px 50px; font-size: 20px; color: #fff; border: 2px solid #00d2ff; background: transparent; border-radius: 50px; cursor: pointer; transition: 0.3s; }
.mode-btn:hover { background: #00d2ff; color: #000; }
</style>
</head>
<body>
<canvas id="gameCanvas"></canvas>
<div id="mainMenu" class="ui-screen">
<div class="title">SOUMEN</div>
<div style="color: #00d2ff; margin-bottom: 40px;">ULTIMATE RACING HD</div>
<button class="mode-btn" onclick="startGame('solo')">SOLO MODE</button>
<button class="mode-btn" onclick="startGame('medium')">MEDIUM MODE</button>
<button class="mode-btn" onclick="startGame('fast')">FAST MODE</button>
</div>
<script>
const canvas = document.getElementById("gameCanvas");
const ctx = canvas.getContext("2d");
let w, h, bikeX, gameSpeed, score, gameState = 'MENU', obstacles = [];
function resize() { w = canvas.width = window.innerWidth; h = canvas.height = window.innerHeight; }
window.addEventListener('resize', resize);
resize();
function startGame(mode) {
document.getElementById('mainMenu').style.display = 'none';
gameSpeed = mode === 'solo' ? 5 : (mode === 'medium' ? 10 : 16);
gameState = 'PLAYING';
bikeX = w/2; score = 0; obstacles = [];
}
function draw() {
ctx.fillStyle = "#000"; ctx.fillRect(0,0,w,h);
if(gameState === 'PLAYING') {
// ROAD DRAWING (Wide 3D Perspective)
ctx.fillStyle = "#222";
ctx.beginPath();
ctx.moveTo(w*0.1, h); ctx.lineTo(w*0.9, h);
ctx.lineTo(w*0.55, h*0.3); ctx.lineTo(w*0.45, h*0.3);
ctx.fill();
// 3D SOUMEN Text in Background
ctx.save();
ctx.font = "bold 200px Arial Black";
ctx.fillStyle = "rgba(255,255,255,0.05)";
ctx.textAlign = "center";
ctx.fillText("SOUMEN", w/2, h*0.4);
ctx.restore();
// BIKE
ctx.fillStyle = "#00d2ff";
ctx.fillRect(bikeX-30, h-100, 60, 40);
score++;
ctx.fillStyle = "#fff";
ctx.font = "30px Arial";
ctx.fillText("SCORE: " + Math.floor(score/10), 50, 50);
}
requestAnimationFrame(draw);
}
// Simple Touch Controls
window.addEventListener('touchstart', e => {
bikeX = e.touches[0].clientX;
});
window.addEventListener('touchmove', e => {
bikeX = e.touches[0].clientX;
});
draw();
</script>
</body>
</html>
1
1
4KB
4KB
134.0ms
208.0ms
135.0ms