Bu kod, bir şans çarkı oluşturur ve kullanıcı "Çevir!" butonuna tıkladığında çark döner. Döndükten sonra hangi renge denk geldiyse, bir uyarı kutusunda şanslı metni gösterilir.
Rich (BB code):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Şans Çarkı</title>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
}
.wheel {
margin: 50px auto;
width: 300px;
height: 300px;
border-radius: 50%;
border: 5px solid #333;
position: relative;
overflow: hidden;
}
.wheel div {
width: 50%;
height: 50%;
position: absolute;
top: 50%;
left: 50%;
transform-origin: 0% 0%;
}
.wheel div:nth-child(1) { transform: rotate(0deg) skewY(-60deg); background-color: #FF0000; }
.wheel div:nth-child(2) { transform: rotate(60deg) skewY(-60deg); background-color: #00FF00; }
.wheel div:nth-child(3) { transform: rotate(120deg) skewY(-60deg); background-color: #0000FF; }
.wheel div:nth-child(4) { transform: rotate(180deg) skewY(-60deg); background-color: #FFFF00; }
.wheel div:nth-child(5) { transform: rotate(240deg) skewY(-60deg); background-color: #FF00FF; }
.wheel div:nth-child(6) { transform: rotate(300deg) skewY(-60deg); background-color: #00FFFF; }
#spinButton {
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
margin-top: 20px;
}
</style>
</head>
<body>
<h1>Şans Çarkı</h1>
<div class="wheel" id="wheel">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<button id="spinButton">Çevir!</button>
<script>
const wheel = document.getElementById('wheel');
const button = document.getElementById('spinButton');
button.addEventListener('click', () => {
const randomDegree = Math.floor(Math.random() * 360) + 720; // 720 to ensure at least two full spins
wheel.style.transition = 'transform 4s ease-out';
wheel.style.transform = `rotate(${randomDegree}deg)`;
setTimeout(() => {
const normalizedDegree = randomDegree % 360;
let result = '';
let message = '';
if (normalizedDegree >= 0 && normalizedDegree < 60) {
result = 'Kırmızı';
message = 'Bugün cesur adımlar atacaksın!';
} else if (normalizedDegree >= 60 && normalizedDegree < 120) {
result = 'Yeşil';
message = 'Sakin kal ve iyi haberler bekle!';
} else if (normalizedDegree >= 120 && normalizedDegree < 180) {
result = 'Mavi';
message = 'Hayallerine bir adım daha yaklaştın!';
} else if (normalizedDegree >= 180 && normalizedDegree < 240) {
result = 'Sarı';
message = 'Enerjik bir gün seni bekliyor!';
} else if (normalizedDegree >= 240 && normalizedDegree < 300) {
result = 'Pembe';
message = 'Bugün aşkta şanslısın!';
} else if (normalizedDegree >= 300 && normalizedDegree < 360) {
result = 'Turkuaz';
message = 'Bugün mutlu bir haber alacaksın!';
}
alert(`Kazandığınız renk: ${result}\nMesaj: ${message}`);
}, 4000);
});
</script>
</body>
</html>