أنشئ شبكة بحث عن الكلمات قابلة لإعادة الإنتاج
حوّلوا قائمة كلمات إلى شبكة بحث كاملة من دون ترتيب كل حرف يدويا. أدخلوا الكلمات وحجم الشبكة المربعة وبذرة صحيحة؛ فيضع المولد كل كلمة أفقيا أو عموديا أو قطريا، ويسمح بتقاطع الحروف المتوافقة، ويملأ الخلايا الباقية بحروف قابلة لإعادة الإنتاج.
شغّل الأداة مجانًا
تتضمن الاستجابة الصفوف النهائية وإحداثيات المواضع الدقيقة، ولذلك تصلح للأنشطة المطبوعة والاختبارات الآلية والمواد التعليمية والتطبيقات التي تحتاج إلى أحجية ثابتة مع مفتاح إجابة موثوق.
جهّزوا قائمة الكلمات واختاروا أبعاد الشبكة
ابدؤوا بكلمة واحدة إلى عشرين كلمة مختلفة مكوّنة من الحروف الإنجليزية من A إلى Z. لا يغيّر اختلاف حالة الحروف النتيجة، لأن المولد يحوّل كل كلمة مقبولة إلى حروف كبيرة قبل وضعها. حدّدوا <code>grid_size</code> ليكون عدد الصفوف والأعمدة في الشبكة المربعة، من 2 إلى 25. يجب ألا يتجاوز طول أطول كلمة هذا الحجم؛ فالكلمة ذات الحروف الستة تحتاج إلى ست خلايا على الأقل، لأن كل كلمة تسير في خط مستقيم ولا تنعطف عند الحواف. تمنح الشبكة الأكبر مسافات وحروف ملء أكثر، بينما تشجّع الشبكة المتراصة التقاطعات. إذا لم تتسع القائمة كاملة، فزيدوا الحجم أو قلّلوا الكلمات. تُرفض الكلمات المكررة بعد توحيد حالة الحروف حتى لا يصبح مفتاح الإجابة ملتبسا. كما تُرفض المسافات والشرطات وعلامات التشكيل والأرقام وعلامات الترقيم، وبذلك تحتوي كل خلية على حرف كبير واحد يمكن عرضه ومقارنته بسهولة.
استخدموا بذرة لإعادة المواضع وحروف الملء
يتحكم الحقل <code>seed</code> في كل اختيار قد يبدو عشوائيا لولا ذلك. يحصي المولد لكل كلمة جميع المواضع الصالحة شرقا وغربا وشمالا وجنوبا وفي الاتجاهات القطرية الأربعة، ثم يرتبها بسلسلة شبه عشوائية مشتقة من البذرة. يعالج الكلمات الأطول أولا، ويرجع بصورة حتمية إلى خيار سابق إذا منع موضع ما وضع كلمة لاحقة. لا تتشارك كلمتان خلية واحدة إلا عندما تتطلبان الحرف نفسه، ولذلك تظل التقاطعات مقروءة. بعد وضع القائمة كاملة، تنتج السلسلة ذاتها حروف ملء الخلايا الفارغة. وهكذا تعيد الكلمات نفسها بالترتيب نفسه، مع الحجم والبذرة نفسيهما، الشبكة والمواضع ذاتها تماما. يفيد ذلك في إعادة إنشاء المواد وبيانات الاختبار من إعداد صغير. البذرة وسيلة لإعادة الإنتاج وليست وسيلة للسرية أو للعشوائية الآمنة من ناحية التشفير.
اقرؤوا الشبكة وأنشئوا مفتاح الإجابة
تعيد الاستجابة <code>grid</code> على هيئة مصفوفة من سلاسل متساوية الطول، سلسلة واحدة لكل صف. يمكنكم عرضها بخط ثابت العرض أو تقسيم كل سلسلة إلى حروف لإنشاء خلايا منفردة. تبدأ إحداثيات <code>placements</code> من الصفر؛ إذ يشير <code>row: 0</code> و<code>column: 0</code> إلى الزاوية العليا اليسرى. يرمز <code>E</code> و<code>W</code> إلى الاتجاه الأفقي، و<code>N</code> و<code>S</code> إلى الاتجاه العمودي، بينما ترمز <code>NE</code> و<code>NW</code> و<code>SE</code> و<code>SW</code> إلى الاتجاهات القطرية. تبقى المواضع بترتيب قائمة الإدخال رغم أن البحث يعالج الكلمات الأطول أولا. أخفوا هذه البيانات عن اللاعبين واحتفظوا بها مفتاحا للإجابة، أو استخدموها لإبراز الكلمات المحلولة في واجهة تفاعلية. إذا تعذر إيجاد ترتيب كامل، تعيد الأداة خطأ إدخال بدلا من حذف كلمة أو تقديم شبكة جزئية.
حالات الاستخدام
أنشئوا أوراق عمل تعليمية
ولّدوا أحجية ثابتة للمتعلمين واحتفظوا ببيانات المواضع منفصلة بوصفها مفتاح الإجابة.
طوّروا ألعاب كلمات تفاعلية
اعرضوا الشبكة في خلايا قابلة للتحديد وتحققوا من كل كلمة محددة باستخدام الإحداثيات والاتجاهات.
أعدّوا بيانات اختبار قابلة للتكرار
احفظوا قائمة صغيرة وبذرة ثم أعيدوا إنشاء الشبكة نفسها تماما عند كل تشغيل للاختبار.
الأسئلة الشائعة
ما تكلفة طلب API واحد؟
سعر API هو $0.002 لكل شبكة، ويمكنكم تشغيل المولد نفسه مجانا داخل المتصفح.
هل تنتج البذرة نفسها الأحجية نفسها دائما؟
نعم، عندما تتطابق الكلمات وترتيبها وحجم الشبكة والبذرة تطابقا كاملا.
ما الاتجاهات التي يمكن أن تتبعها الكلمات؟
يمكن أن تسير في الاتجاهين أفقيا وعموديا وقطريا، أي في ثمانية اتجاهات إجمالا.
هل يمكن أن تتشارك كلمتان بعض الحروف؟
نعم، يمكنهما التقاطع عندما تحتاج كلتاهما إلى الحرف نفسه في الخلية المشتركة.
ماذا يحدث إذا لم تتسع الشبكة للكلمات؟
يعيد المولد خطأ إدخال ولا يعيد شبكة جزئية؛ زيدوا الحجم أو قلّلوا القائمة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/game/word-search-grid-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"words":["ORBIT","MOON","STAR"],"grid_size":8,"seed":42}'const res = await fetch("https://api.kit.forhosting.com/game/word-search-grid-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"words": [
"ORBIT",
"MOON",
"STAR"
],
"grid_size": 8,
"seed": 42
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/word-search-grid-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"words": [
"ORBIT",
"MOON",
"STAR"
],
"grid_size": 8,
"seed": 42
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/word-search-grid-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"words":["ORBIT","MOON","STAR"],"grid_size":8,"seed":42}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"words":["ORBIT","MOON","STAR"],"grid_size":8,"seed":42}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/word-search-grid-generate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"words": [
"ORBIT",
"MOON",
"STAR"
],
"grid_size": 8,
"seed": 42
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.word_search_grid_generate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_grid_size | 25 |
max_words | 20 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |