محاكي رمي العملة ببذرة
يولّد محاكي رمي العملة ببذرة تسلسلاً يشبه رميات العملة العادلة مع بقائه قابلاً لإعادة الإنتاج تماماً.
شغّل الأداة مجانًا
أدخلوا عدد الرميات وأي بذرة نصية، فتحصلون على نتيجة كل رمية، وجهاً أو كتابة، مع مجموع كل جانب. يؤدي استخدام العدد والبذرة نفسيهما دائماً إلى الاستجابة نفسها، مما يفيد في الألعاب والعروض والاختبارات الآلية والتمارين التعليمية وتصحيح الأخطاء. لا تعتمد العملية على الساعة أو عشوائية المتصفح أو خدمة شبكية أو حالة مخفية، ولذلك يمكنكم مشاركة النتائج والتحقق منها لاحقاً بثقة.
أنشئوا تسلسلاً قابلاً لإعادة الإنتاج
يصعب تكرار رميات العملة العادية، لكن قابلية التكرار مفيدة عند اختبار القواعد أو مشاركة مثال. أدخلوا flip_count عدداً صحيحاً من 1 إلى 10,000، وأدخلوا seed نصاً. يحوّل المحاكي البذرة إلى حالة بداية ثابتة، ثم يتقدم مرة لكل رمية. تحتفظ الاستجابة بالترتيب الكامل بدلاً من عرض المجاميع فقط. عند تكرار المدخلين تحصلون على القائمة والحصيلة نفسيهما. ويؤدي تغيير حرف واحد إلى اختيار تسلسل مختلف، كما يختلف الحرف الكبير عن الصغير. تُقبل البذرة النصية الفارغة أيضاً، لكن البذرة الوصفية أسهل في التعرف والمشاركة. وهكذا تصبح البذرة وصفة موجزة يستطيع الآخرون بها إعادة بناء التجربة من دون نسخ قائمة طويلة من النتائج.
اقرؤوا النتائج والحصيلة
تتضمن المخرجات البذرة ومصفوفة النتائج وكائن الحصيلة. اقرؤوا المصفوفة من اليسار إلى اليمين بوصفها الرمية الأولى ثم الثانية وما بعدها. يذكر كل عنصر «وجه» أو «كتابة» بوضوح، من دون ترميز رقمي غير موثق. تعرض الحصيلة عدد الوجه والكتابة والإجمالي. يساوي الإجمالي دائماً عدد الرميات المقبول، كما يساويه مجموع الجانبين. تساعد هذه العلاقات في التحقق من استجابة محفوظة. لا تضمن المحاكاة العادلة تساوي الجانبين في سلسلة قصيرة؛ فظهور الوجه ثلاث مرات من أربع نتيجة طبيعية. استخدموا المصفوفة حين يكون ترتيب الأدوار مهماً، واستخدموا الحصيلة عند الحاجة إلى ملخص أو نسبة أو نقاط أو مقارنة سريعة بين التجارب.
اختاروا النوع المناسب من العشوائية
صُمم هذا المحاكي لقابلية التكرار لا للسرية. وهو مناسب لنماذج الألعاب الأولية والإعادات الحتمية وأمثلة التوثيق ودروس الاحتمالات واختبارات اللقطات وتصحيح الشفرة التي تتفاعل مع جانبي العملة. سجّلوا المدخلين كي يستطيع شخص آخر إعادة بناء التشغيل نفسه. لا تستخدموه للمقامرة أو مفاتيح التشفير أو رموز الأمان أو سحوبات الجوائز أو أي حالة يجب فيها تعذر توقع النتيجة التالية. البذرة مدخل علني، والخوارزمية ثابتة وقابلة للفحص عمداً وليست آمنة تشفيرياً. يحافظ حد 10,000 رمية على سهولة معالجة المصفوفة؛ قسموا التجارب الأكبر إلى دفعات ببذور مختلفة. وللأسئلة النظرية عن الاحتمال استخدموا حاسبة احتمالات، لأن هذه القدرة تنشئ تجربة محددة وتخبركم بما وقع فيها.
حالات الاستخدام
اختبروا منطق الألعاب
مرروا تسلسلاً ثابتاً من الوجه والكتابة إلى الاختبارات كي تتمكنوا من إعادة إنتاج العطل بدقة.
شاركوا تجربة تعليمية
قدموا بذرة وعدد رميات للطلاب كي يتحقق الجميع من التجربة نفسها قبل مقارنة بذور أخرى.
أنشئوا إعادات حتمية
احفظوا مدخلات موجزة وأعيدوا بناء كل قرار قائم على العملة أثناء التصحيح أو إعادة التشغيل.
الأسئلة الشائعة
ما تكلفة محاكاة واحدة؟
تكلف كل مطالبة API مقدار $0.002. ويشغّل إصدار المتصفح الخوارزمية النقية نفسها محلياً.
هل تعيد البذرة نفسها الرميات نفسها دائماً؟
نعم. إذا لم تتغير البذرة وعدد الرميات فلن يتغير ترتيب النتائج ولا الحصيلة.
هل يمكن استخدام بذرة فارغة؟
نعم. السلسلة الفارغة بذرة صالحة وقابلة للتكرار، لكن البذرة الوصفية أسهل عند المشاركة.
لماذا لا يتساوى عدد الوجه والكتابة تماماً؟
لا تضمن العملة العادلة التوازن في تجربة محدودة. ومن الطبيعي ظهور سلاسل قصيرة غير متساوية.
هل يصلح هذا للأمان أو المقامرة؟
لا. المولد حتمي وغير تشفيري، لذا استخدموا عشوائية آمنة ومدققة للأمان أو الأموال أو الجوائز.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/game/coin-flip-seeded \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"flip_count":12,"seed":"demo-2026"}'const res = await fetch("https://api.kit.forhosting.com/game/coin-flip-seeded", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"flip_count": 12,
"seed": "demo-2026"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/coin-flip-seeded",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"flip_count": 12,
"seed": "demo-2026"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/coin-flip-seeded", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"flip_count":12,"seed":"demo-2026"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"flip_count":12,"seed":"demo-2026"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/coin-flip-seeded", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"flip_count": 12,
"seed": "demo-2026"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.coin_flip_seeded",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_items | 10000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |