في البداية ، أردت تسمية هذه المشاركة "لعبة في 0 سطر من HTML و JS و CSS" ، مستوحاة من
هذا المنشور ، ولكنها ستكون عالية جدًا. بطريقة أو بأخرى ، مما أدى إلى تدهور كبير في تجربة المستخدم ، حصلت على تيك تاك تو ، وأعمل حصريًا بقوة بروتوكول DNS.

يبدو الأمر مخيفًا بالنسبة لمستخدم غير مستعد ، ولكن حتى المتصفح ليس ضروريًا للعبة.
للدخول إلى اللعبة ، تحتاج إلى تشغيل أمر يتضمن الوصول إلى خادم DNS الخاص بي:
$ dig @ns.f1remoon.com game.f1remoon.com. TXT
لقد قدمت أيضًا القليل من المساعدة ، والتي تتوفر في سجلات TXT لنطاق
help.game.f1remoon.com
:

كيف يعمل؟
في البداية حاولت فقط تكوين bind9 بشكل صحيح ، لكنني شعرت بخيبة أمل كبيرة: كان ترتيب إصدار سجلات TXT عشوائيًا. هذا ، بالطبع ، جلب بعض الغريبة للعبة ، لكنه كان غير مقبول على الإطلاق. كان علي أن أسقط الفكرة وأنظر إلى خادم DNS مكتوب ذاتيًا. مسلحين بالرغبة في تعلم شيء جديد ، أخذت golang ومكتبة Go DNS وحصلت على خادم بسيط ، لا يختلف كثيرًا عن الأمثلة.
كان التحدي التالي هو كل تركيبات اللعبة. إليكم شكرًا كبيرًا لـ
Sirion : لقد أخذت ملفات html الخاصة بي وترجمتها إلى تنسيق أعجبني.
نظرًا لأن الأمر dig ، على عكس المتصفح ، لا يخزن عنوان url ولا يسمح بدس الحقل ، سيتعين على المستخدم ترك هذا. بالنسبة للعبة ، تم وضع علامة على الحقل على أنه numpad:
7 8 9 4 5 6 1 2 3
عند طلب خطوة ، تحتاج دائمًا إلى إعطاء السجل الكامل للتحركات في الاتجاه المعاكس ، على سبيل المثال ، سيبدو الأمر الخاص بالحركة الثالثة في الخلية "9" كما يلي:
$ dig @ns.f1remoon.com 9.4.5.game.f1remoon.com. TXT
اختتام كامل لثلاث حركات $ dig @ns.f1remoon.com 5.game.f1remoon.com. TXT ; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> @ns.f1remoon.com 5.game.f1remoon.com. TXT ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12656 ;; flags: qr rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;5.game.f1remoon.com. IN TXT ;; ANSWER SECTION: 5.game.f1remoon.com. 0 IN TXT "o" "_" "_" 5.game.f1remoon.com. 0 IN TXT "_" "x" "_" 5.game.f1remoon.com. 0 IN TXT "_" "_" "_" ;; Query time: 135 msec ;; SERVER: 159.65.145.145
مستودع برمز:
github.com/Firemoon777/tic-tac-toe-dnsUPD: يقترح
Prototik استخدام خيار أكثر ملاءمة للعبة مع مفتاح + قصير:
$ dig +short TXT @ns.f1remoon.com 9.4.5.game.f1remoon.com. "o" "_" "x" "x" "x" "o" "o" "_" "_"