<!doctype html>
<html lang="ar">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>محاكاة لعبة التفاحة — تعليمية</title>
<style>
body{font-family: system-ui,Segoe UI,Roboto,"Helvetica Neue",Arial; background:#f6f7fb;color:#111;margin:0;padding:20px;direction:rtl}
.container{max-width:820px;margin:0 auto;background:#fff;border-radius:12px;padding:18px;box-shadow:0 6px 24px rgba(12,20,40,0.08)}
h1{margin:0 0 12px;font-size:22px}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.apples{display:flex;gap:10px;margin:16px 0}
.apple{width:96px;height:96px;border-radius:12px;background:#ffefef;display:flex;align-items:center;justify-content:center;font-size:26px;cursor:pointer;box-shadow:0 6px 14px rgba(0,0,0,0.06);user-select:none}
.apple.locked{opacity:0.45;cursor:default}
input[type=number]{padding:8px;border-radius:8px;border:1px solid #e0e4ef;width:120px}
button{padding:10px 14px;border-radius:10px;border:0;background:#0b79f7;color:#fff;cursor:pointer}
button.secondary{background:#6b7280}
.status{margin-top:12px;padding:12px;border-radius:8px;background:#fbfbff;border:1px solid #eef2ff}
.stats{margin-top:10px;font-size:14px;color:#374151}
.small{font-size:13px;color:#6b7280}
</style>
</head>
<body>
<div class="container">
<h1>محاكاة لعبة "التفاحة" — تجريبي وآمن</h1>
<div class="row">
<div>
<div>الرصيد الافتراضي: <strong id="balance">1000</strong> وحدة</div>
<div class="small">*هذا محاكي تعليمي فقط، لا يتصل بأي منصة مراهنات</div>
</div>
<div style="margin-left:auto">
<label>اختر عدد التفاحات:
<select id="appleCount">
<option value="3">3</option>
<option value="5" selected>5</option>
<option value="7">7</option>
<option value="9">9</option>
</select>
</label>
</div>
</div>
<div style="margin-top:12px" class="row">
<label>مقدار الرهان:
<input id="betAmount" type="number" min="1" value="50" />
</label>
<label>مضاعف الفوز (تقريبي):
<input id="payout" type="number" min="1" value="4" />
</label>
<button id="startBtn">ابدأ جولة</button>
<button id="resetBtn" class="secondary">إعادة ضبط</button>
</div>
<div class="apples" id="applesArea" aria-live="polite"></div>
<div class="status" id="status">اضغط "ابدأ جولة" لاختيار التفاحات وعرضها.</div>
<div class="stats" id="stats">جولات: 0 — فوز: 0 — خسارة: 0</div>
</div>
<script>
(function(){
// عناصر
const balanceEl = document.getElementById('balance');
const applesArea = document.getElementById('applesArea');
const startBtn = document.getElementById('startBtn');
const resetBtn = document.getElementById('resetBtn');
const appleCountSelect = document.getElementById('appleCount');
const betAmountInput = document.getElementById('betAmount');
const payoutInput = document.getElementById('payout');
const statusEl = document.getElementById('status');
const statsEl = document.getElementById('stats');
// حالة اللعبة
let state = {
balance: 1000,
rounds: 0,
wins: 0,
losses: 0,
active: false,
winningIndex: null,
appleCount: parseInt(appleCountSelect.value,10)
};
function renderApples(n){
applesArea.innerHTML = '';
for(let i=0;i<n;i++){
const d = document.createElement('div');
d.className='apple';
d.dataset.index = i;
d.innerText = '🍎';
applesArea.appendChild(d);
d.addEventListener('click', onAppleClick);
}
}
function updateUI(){
balanceEl.innerText = state.balance;
statsEl.innerText = `جولات: ${state.rounds} — فوز: ${state.wins} — خسارة: ${state.losses}`;
const apples = applesArea.querySelectorAll('.apple');
apples.forEach((a)=>{
a.classList.toggle('locked', !state.active);
});
}
function startRound(){
const bet = Number(betAmountInput.value) || 0;
if(state.active){
statusEl.innerText = 'الجولة شغالة حاليًّا — اختَر تفاحة أو أعد تشغيل.';
return;
}
if(bet<=0){ statusEl.innerText='اكتب قيمة رهان أكبر من صفر.'; return; }
if(bet>state.balance){ statusEl.innerText='الرصيد غير كافي للرهان.'; return; }
state.appleCount = parseInt(appleCountSelect.value,10);
state.active = true;
state.winningIndex = Math.floor(Math.random()*state.appleCount);
// عرض التفاحات
renderApples(state.appleCount);
statusEl.innerText = `تم خصم ${bet} من رصيدك. اختَر تفاحة (1 من ${state.appleCount}).`;
state.balance -= bet;
updateUI();
}
function onAppleClick(e){
if(!state.active) return;
const pick = Number(e.currentTarget.dataset.index);
revealResult(pick);
}
function revealResult(pick){
const bet = Number(betAmountInput.value) || 0;
const payoutMult = Number(payoutInput.value) || 1;
state.rounds += 1;
// إظهار كل التفاحات: علامة الفوز ×
const apples = applesArea.querySelectorAll('.apple');
apples.forEach((a,idx)=>{
a.innerText = (idx===state.winningIndex) ? '🍏' : '🍎';
a.style.transform = (idx===pick) ? 'scale(1.06)' : 'none';
});
if(pick === state.winningIndex){
// فوز
const winAmount = Math.floor(bet * payoutMult);
state.balance += winAmount;
state.wins += 1;
statusEl.innerText = `فزت! حصلت على ${winAmount} (مضاعف ${payoutMult}).`;
} else {
// خسارة
state.losses += 1;
statusEl.innerText = `خسرت الجولة — التفاحة الصحيحة كانت رقم ${state.winningIndex+1}.`;
}
state.active = false;
updateUI();
}
function resetAll(){
state.balance = 1000;
state.rounds = 0;
state.wins = 0;
state.losses = 0;
state.active = false;
state.winningIndex = null;
appleCountSelect.value = '5';
betAmountInput.value = 50;
payoutInput.value = 4;
renderApples(state.appleCount);
statusEl.innerText = 'تم إعادة الضبط. افتح جولة جديدة.';
updateUI();
}
// أحداث
startBtn.addEventListener('click', startRound);
resetBtn.addEventListener('click', resetAll);
appleCountSelect.addEventListener('change', ()=> renderApples(parseInt(appleCountSelect.value,10)));
// تهيئة
renderApples(state.appleCount);
updateUI();
})();
</script>
</body>
</html>