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