لعبة الطاولة هي لعبة ألغاز مألوفة لدى الجميع، وهناك العديد من برامج الألعاب ذات الصلة. هنا أقدم لك رسميًا إصدارًا جديدًا نقيًا عبر الإنترنت من لعبة الطاولة، وهي تستخدم ASP كبيئة تطوير، لذا فهي تحظى بشعبية كبيرة على الإنترنت ليست هناك حاجة لتنزيل برنامج العميل عند لعب المعارك، طالما أن لديك متصفحًا. يمكنك أيضًا لعب هذه اللعبة على شبكة محلية.
بالنسبة لـ ASP، لا أريد أن أشرح الكثير، لقد قلت الكثير بالفعل في المقالات السابقة.
عملية اللعبة على هذا النحو. نقوم أولاً بتسجيل الدخول، ثم يمكننا اختيار ساحة المعركة. هناك خمس ساحات معركة مثل كوكب الزهرة، والمشتري، وعطارد، والمريخ، وزحل. إذا كنت تعتقد أنك سيد، فيمكنك الاختيار كوكب الزهرة، وإلا يمكنك اختيار الكواكب الأخرى بالتسلسل، فالكوكب بمثابة ساحة معركة. إذا لم يكن هناك منافس على هذا الكوكب، فيجب عليك الدخول كمنافس، ومن ثم يمكن للآخرين التنافس معك. وبطبيعة الحال، إذا بدأت الحرب على جميع الكواكب، فسيتعين عليك الانتظار لبعض الوقت.
إذا قمت بتسجيل الدخول كمنافس، فيمكنك الانتظار حتى يقاتلك الآخرون. إذا قمت بتسجيل الدخول كمهاجم، فيمكنك بدء معركة مع المنافس بسرعة. بعد أن تبدأ المعركة، يتولى قائد الحلقة القيادة باللون الأسود، ثم يقوم المهاجم بالتحرك، وهكذا. عند اتخاذ القرار النهائي، ستكون هناك مطالبات مقابلة.
يحتوي الموقع على عدة ملفات رئيسية:
ملف تسجيل الدخول Index.asp:
الملف الوسيط Index0.asp:
ملف المباراة Match.asp:
Back0.jpg White0.jpg black0.jpg تشير الملفات الرسومية المستخدمة في المنتصف إلى رقعة الشطرنج والأحجار البيضاء والأحجار السوداء على التوالي، كما هو موضح أدناه:
أثناء تهيئة البرنامج، قم بتقسيم رقعة الشطرنج إلى عدة جداول، ووضع صورة الخلفية فيها لتكوين رقعة الشطرنج، ثم بعد وضع قطعة الشطرنج، استبدل الصورة بالقطعة البيضاء أو السوداء المقابلة.
دعونا نلقي نظرة على ملف تسجيل الدخول أولاً:
<%@ اللغة=VBScript %>
<أتش تي أم أل>
<الرأس>
< اسم META = محتوى المولد = Microsoft Visual Studio 6.0 >
<العنوان> حرب النجوم: مسابقة الأبناء الخمسة! </العنوان>
</الرأس>
<الجسم>
<p محاذاة=المركز><حجم الخط=6>حرب النجوم</font></P>
< حد الجدول = عرض 1 = محاذاة بنسبة 80% = المركز >
<tr><td>كوكب</td><td>التحدي</td><td>معركة</td><td>هجوم</td></tr>
<tr>
<td>الزهرة</td>
<تد>
<%
إذا كان التطبيق (first1) = إذن
%>
<إجراء النموذج=index0.asp?flag=First1 الطريقة=post>
<معرف الإدخال=اسم النص1=حجم txtFirst1=10><معرف الإدخال=اسم الإرسال1=الإرسال1
اكتب = إرسال القيمة = أدخل>
</النموذج>
<%
آخر
تطبيق الاستجابة.الكتابة (الأول 1)
نهاية إذا
%>
</تد>
<td>الحرب</td>
<تد>
<%
إذا كان التطبيق (الثانية 1) = إذن
%>
<إجراء النموذج=index0.asp?flag=ثاني1 طريقة=post>
<معرف الإدخال=اسم النص1=حجم txtSecond1=10><معرف الإدخال=إرسال1
الاسم = نوع الإرسال 1 = قيمة الإرسال = أدخل>
</النموذج>
<%
آخر
تطبيق الاستجابة.الكتابة (الثاني 1)
نهاية إذا
%>
</تد>
</tr>
<tr>
<td>المشتري</td>
<تد>
<%
إذا كان التطبيق (first2) = إذن
%>
<إجراء النموذج=index0.asp?flag=طريقة First2=post>
<معرف الإدخال=اسم النص1=حجم txtFirst2=10><معرف الإدخال=اسم الإرسال1=الإرسال1
اكتب = إرسال القيمة = أدخل>
</النموذج>
<%
آخر
تطبيق الاستجابة.الكتابة (الأول 2)
نهاية إذا
%>
</تد>
<td>الحرب</td>
<تد>
<%
إذا كان التطبيق (الثانية 2) = إذن
%>
<إجراء النموذج=index0.asp?flag=ثانية2 طريقة=post>
<معرف الإدخال=اسم النص1=حجم txtSecond2=10><معرف الإدخال=إرسال1
الاسم = نوع الإرسال 1 = قيمة الإرسال = أدخل>
</النموذج>
<%
آخر
تطبيق استجابة.كتابة (Second2)
نهاية إذا
%>
</تد>
</tr>
<tr>
<td>الزهرة</td>
<تد>
<%
إذا كان التطبيق (first3) = إذن
%>
<إجراء النموذج=index0.asp?flag=طريقة First3=post>
<معرف الإدخال=اسم النص1=حجم txtFirst3=10><معرف الإدخال=اسم الإرسال1=الإرسال1
اكتب = إرسال القيمة = أدخل>
</النموذج>
<%
آخر
تطبيق الاستجابة.الكتابة (الأول 3)
نهاية إذا
%>
</تد>
<td>الحرب</td>
<تد>
<%
إذا كان التطبيق (الثاني 3) = إذن
%>
<إجراء النموذج=index0.asp?flag=ثانية3 طريقة=post>
<معرف الإدخال=اسم النص1=حجم txtSecond3=10><معرف الإدخال=إرسال1
الاسم = نوع الإرسال 1 = قيمة الإرسال = أدخل>
</النموذج>
<%
آخر
تطبيق الاستجابة.الكتابة (Second3)
نهاية إذا
%>
</تد>
</tr>
<tr>
<td>الزهرة</td>
<تد>
<%
إذا كان التطبيق (first4) = إذن
%>
<إجراء النموذج=index0.asp?flag=طريقة First4=post>
<معرف الإدخال=اسم النص1=حجم txtFirst4=10><معرف الإدخال=اسم الإرسال1=الإرسال1
اكتب = إرسال القيمة = أدخل>
</النموذج>
<%
آخر
تطبيق الاستجابة.الكتابة (first4)
نهاية إذا
%>
</تد>
<td>الحرب</td>
<تد>
<%
إذا كان التطبيق (الثاني 4) = إذن
%>
<إجراء النموذج=index0.asp?flag= Second4 أسلوب=post>
<معرف الإدخال=اسم النص1=حجم txtSecond4=10><معرف الإدخال=إرسال1
الاسم = نوع الإرسال 1 = قيمة الإرسال = أدخل>
</النموذج>
<%
آخر
تطبيق الاستجابة.الكتابة (Second4)
نهاية إذا
%>
</تد>
</tr>
<tr>
<td>الزهرة</td>
<تد>
<%
إذا كان التطبيق (first5) = إذن
%>
<إجراء النموذج=index0.asp?flag=First5 الطريقة=post>
<معرف الإدخال=اسم النص1=حجم txtFirst5=10><معرف الإدخال=اسم الإرسال1=الإرسال1
اكتب = إرسال القيمة = أدخل>
</النموذج>
<%
آخر
تطبيق الاستجابة.الكتابة (الأول 5)
نهاية إذا
%>
</تد>
<td>الحرب</td>
<تد>
<%
إذا كان التطبيق (الثانية 5) = إذن
%>
<إجراء النموذج=index0.asp?flag=ثانية5 طريقة=post>
<معرف الإدخال=اسم النص1=حجم txtSecond5=10><معرف الإدخال=إرسال1
الاسم = نوع الإرسال 1 = قيمة الإرسال = أدخل>
</النموذج>
<%
آخر
تطبيق الاستجابة.الكتابة (Second5)
نهاية إذا
%>
</تد>
</tr>
</الجدول>
</الجسم>
</HTML>
لا يحتاج هذا الملف إلى شرح أكثر من اللازم، فهو مجرد جدول كبير يمكن للجميع الدخول إليه من هناك. إذا تم استخدام موقع معين، فسيصبح اسم البطل، ولا يُسمح بتسجيل الدخول المتكرر. أدخل بعد تسجيل الدخول
Index0.asp، وهو ملف تبادل وسيط، حيث تتم معالجة بعض المتغيرات وتعيينها، ثم يتم إدخال match.asp للمطابقة الرسمية. دعونا نلقي نظرة على محتويات Index0.asp:
<%@ اللغة=VBScript %>
<%
إذا Request.Form(txt & request.querystring(flag))<> إذن
"الرد. اكتب!
جلسة(لطيفة)=Request.Form(txt & request.querystring(flag))
"جلسة الاستجابة.الكتابة (لطيفة) &
'تطبيق الاستجابة.كتابة(request.querystring(flag))
إذا كان التطبيق (request.querystring(flag))= إذن
التطبيق(request.querystring(flag))=الجلسة(لطيفة)
جلسة (فئة) = حق (request.querystring (علم)،1)
إذا بقي (request.querystring(flag)،1)=f ثم
application(session(nice))=false
elseif left(request.querystring(flag),1)=s إذن
application(session(nice))=false
application(application(first & session(class))=true
نهاية إذا
الاستجابة. إعادة توجيه match.asp
نهاية إذا
نهاية إذا
%>
<أتش تي أم أل>
</HTML>
في هذا البرنامج، يتم استخدام الجلسة (اللطيفة) لتسجيل اسم تسجيل الدخول الخاص بك وسيتم استخدامه في العديد من العمليات المستقبلية لتمييز العديد من المستخدمين. إذا دخلت من منصب مدير الحلبة، فإن حقوقك هي
أولاً، وإلا ثانيًا، استخدم الجلسة (الفئة) لتسجيل ساحة المعركة التي تقع فيها، Jinmu
يتم تمثيل الماء والنار والأرض بالأرقام 1 و2 و3 و4 و5 على التوالي، نظرًا لوجود ساحات قتال متعددة قد تتقاتل في نفس الوقت، إذا لم يكن من الممكن التمييز بينها بشكل صحيح، فقد يؤدي ذلك إلى الفوضى. application(session(nice)) هو متغير منطقي يستخدم صواب أو خطأ للإشارة إلى ما إذا كان بإمكانك لعب الشطرنج. إذا كان خطأ، عليك الانتظار حتى يكون صحيحًا، يمكنك لعب الشطرنج. فقط بعد دخول شخصين إلى ساحة المعركة، يمكن للمنافس لعب الشطرنج، وفقط بعد أن ينتج المنافس قطعة، يمكن للمهاجم لعب الشطرنج. بعد أن تصبح جاهزًا، أدخل إلى حقل المنافسة، برجاء الاطلاع على ملف match.asp
<أتش تي أم أل>
<الرأس>
<meta http-equiv=Content-Type content=text/html;
<اسم التعريف = محتوى المولد = Microsoft FrontPage 4.0>
<اسم التعريف=محتوى معرف البرنامج=FrontPage.Editor.Document>
<META http-equiv=تحديث المحتوى=3>
<عنوان>مسابقة رينجو...</العنوان>
</الرأس>
<%
الاستجابة.اكتب تشالنجر: والتطبيق (الأولى والجلسة (الفصل))
& الهجوم: & التطبيق (الثانية & الجلسة
(فصل))
إذا Request.QueryString(pos)<> إذن
التطبيق (بوس وجلسة (فئة) وRequest.QueryString (بوس))
=صحيح
نهاية إذا
%>
<الجسم>
<%
'الاستجابة.كتابة التطبيق (aaa)
إذا كان التطبيق (الأول والجلسة (الفئة)) = الجلسة (لطيفة) إذن
اللون = أسود
إذا Request.QueryString(pos)<> إذن
إذا كانت الجلسة (الأخيرة) = ثم الجلسة (الأخيرة) = abc
إذا كانت الجلسة (الأخيرة)<> Request.QueryString(pos) إذن
application(application(first & session(class))=false
إذا كان التطبيق (الثاني والجلسة (الفئة))<> ثم application
(التطبيق(الثاني والجلسة(الفئة))=صحيح
الجلسة(الأخيرة)=Request.QueryString(pos)
نهاية إذا
نهاية إذا
آخر
إذا كان التطبيق (الثاني والجلسة (الفئة)) = الجلسة (لطيفة) إذن
اللون = أبيض
إذا Request.QueryString(pos)<> إذن
'إذا كانت الجلسة (الأخيرة) = ثم الجلسة (الأخيرة) = abc
إذا كانت الجلسة (الأخيرة)<> Request.QueryString(pos) إذن
application(application(first & session(class))=true
application(application( Second & session(class))=false
الجلسة(الأخيرة)=Request.QueryString(pos)
نهاية إذا
نهاية إذا
آخر
إذا كان التطبيق (الثاني والجلسة (الفئة)) = إذن
التطبيق (الثاني والجلسة (الفئة)) = الجلسة (لطيفة)
اللون = أبيض
إذا Request.QueryString(pos)<> إذن
إذا كانت الجلسة (الأخيرة) = ثم الجلسة (الأخيرة) = abc
إذا كانت الجلسة (الأخيرة)<> Request.QueryString(pos) إذن
application(application(first & session(class))=true
application(application( Second & session(class))=false
الجلسة(الأخيرة)=Request.QueryString(pos)
نهاية إذا
نهاية إذا
آخر
اللون =
نهاية إذا
نهاية إذا
نهاية إذا
الاستجابة.اكتب <عرض الجدول = ارتفاع 400 = حد 400 = 0 تباعد الخلايا = 0
الحشو الخلوي = 0>
لأني = 1 إلى 16
الاستجابة.اكتب <tr>
ل ي = 1 إلى 16
إذا كان التطبيق (pos & session(class) & cstr(i) & _ & cstr(j))=
ثم
application(color & session(class) & _ & Request.QueryString
(نقاط البيع)) = اللون
الاستجابة.اكتب <عرض td = 25 ارتفاع = 25>
'تطبيق الاستجابة.كتابة (التطبيق (الأول والجلسة (الفئة)))
إذا كان التطبيق (جلسة (لطيفة)) = صحيحًا إذن
Response.write <a href=match.asp?pos= & cstr(i) & _ & cstr(j)
& ><img border=0 src=back0.jpg العرض=25 الارتفاع=25></a>
آخر
Response.write <img border=0 src=back0.jpg width=25 height=25>
نهاية إذا
استجابة.كتابة </td>
آخر
الاستجابة.اكتب <td width=25 height=25><img border=0 src= &
application(color & session(class) & _ & cstr(i) & _ & cstr
(ي)) & 0.jpg العرض=25 الارتفاع=25></td> & chr(13)
نهاية إذا
التالي
الرد.اكتب </tr>
التالي
الاستجابة.اكتب </جدول>
"الحكم على الفوز أو الخسارة."
إذا كان التطبيق (الأول والجلسة (الفئة)) = الجلسة (لطيفة) إذن
م = أسود
ح=أبيض
آخر
ح=أسود
م = أبيض
نهاية إذا
'الحكم الأفقي-
لأني = 1 إلى 15
win=false
الخسارة = خطأ
five_me=0
خمسة_هي=0
ل ي = 1 إلى 15
إذا كان التطبيق (اللون والجلسة (الفئة) & _ & cstr(i) & _ & cstr
(ي))=م إذن
five_me=five_me+1
خمسة_هي=0
تطبيق elseif(color & session(class) & _ & cstr(i) & _ &
cstr(j))=h إذن
five_me=0
five_he=five_he+1
آخر
five_me=0
خمسة_هي=0
نهاية إذا
إذا five_me=5 ثم
فوز = صحيح
الخسارة = خطأ
الخروج ل
وإلا if five_he=5 إذن
win=false
الخسارة = صحيح
الخروج ل
نهاية إذا
التالي
إذا الفوز أو الخسارة ثم الخروج ل
التالي
إذا الفوز ثم
استجابة.اكتب أنت تفوز!
application(application(first & session(class))=false
application(application(first & session(class))=false
نهاية إذا
إذا الخسارة ثم
استجابة.اكتب آسف، لقد فقدت!
application(application(first & session(class))=false
application(application(first & session(class))=false
نهاية إذا
'حكم اتجاه العمود|
ل ي = 1 إلى 15
win=false
الخسارة = خطأ
five_me=0
خمسة_هي=0
لأني = 1 إلى 15
إذا كان التطبيق (اللون والجلسة (الفئة) & _ & cstr(i) & _ & cstr
(ي))=م إذن
five_me=five_me+1
خمسة_هي=0
تطبيق elseif(color & session(class) & _ & cstr(i) & _ &
cstr(j))=h إذن
five_me=0
five_he=five_he+1
آخر
five_me=0
خمسة_هي=0
نهاية إذا
إذا five_me=5 ثم
فوز = صحيح
الخسارة = خطأ
الخروج ل
وإلا if five_he=5 إذن
win=false
الخسارة = صحيح
الخروج ل
نهاية إذا
التالي
إذا الفوز أو الخسارة ثم الخروج ل
التالي
إذا الفوز ثم
استجابة.اكتب أنت فائز!
application(application(first & session(class))=false
application(application( Second & session(class))=false
نهاية إذا
إذا الخسارة ثم
Response.write آسف، لقد فقدت!
application(application(first & session(class))=false
application(application( Second & session(class))=false
نهاية إذا
"الحكم المائل/
لأني = 1 إلى 11
win=false
الخسارة = خطأ
five_me=0
خمسة_هي=0
لـ j=i+4 إلى 1 خطوة -1
إذا كان التطبيق (اللون والجلسة (الفئة) & _ & cstr(j) & _ & cstr
(i+5-j))=م إذن
five_me=five_me+1
خمسة_هي=0
تطبيق elseif(color & session(class) & _ & cstr(j) & _ &
cstr(i+5-j))=h إذن
five_me=0
five_he=five_he+1
آخر
five_me=0
خمسة_هي=0
نهاية إذا
إذا five_me=5 ثم
فوز = صحيح
الخسارة = خطأ
الخروج ل
وإلا if five_he=5 إذن
win=false
الخسارة = صحيح
الخروج ل
نهاية إذا
التالي
إذا الفوز أو الخسارة ثم الخروج ل
التالي
إذا الفوز ثم
استجابة.اكتب أنت فائز!
application(application(first & session(class))=false
application(application( Second & session(class))=false
نهاية إذا
إذا الخسارة ثم
استجابة.اكتب آسف، لقد فقدت!
application(application(first & session(class))=false
application(application( Second & session(class))=false
نهاية إذا
"الحكم المائل/
لأني = 1 إلى 11
win=false
الخسارة = خطأ
five_me=0
خمسة_هي=0
لـ j=12-i إلى 15
إذا كان التطبيق(color & session(class) & _ & cstr(13-ij) & _
& cstr(j))=m إذن
five_me=five_me+1
خمسة_هي=0
تطبيق elseif(color & session(class) & _ & cstr(13-ij)
& _ & cstr(j))=h إذن
five_me=0
five_he=five_he+1
آخر
five_me=0
خمسة_هي=0
نهاية إذا
إذا five_me=5 ثم
الفوز = صحيح
الخسارة = خطأ
الخروج ل
وإلا if five_he=5 إذن
win=false
الخسارة = صحيح
الخروج ل
نهاية إذا
التالي
إذا الفوز أو الخسارة ثم الخروج ل
التالي
إذا الفوز ثم
استجابة.اكتب أنت تفوز!
application(application(first & session(class))=false
application(application( Second & session(class))=false
نهاية إذا
إذا الخسارة ثم
استجابة.اكتب آسف، لقد فقدت!
application(application(first & session(class))=false
application(application( Second & session(class))=false
نهاية إذا
%>
</ الجسم>
</أتش تي أم أل>
إذا لم تكن هناك قطعة شطرنج عند نقطة معينة، قم بإضافة اتصال فائق ووضع قطعة شطرنج بلون مختلف حسب الفرق بين المنافس والمهاجم. تستخدم الفقرة الأخيرة للحكم على الفوز والخسارة، وتنقسم إلى اتجاهين أفقي وعمودي وقطريين. يمكنك فهم ذلك من خلال النظر إلى المحتوى المحدد.
آخر ما أريد التحدث عنه هو global.asa، وهو ملف أساسي في الموقع، لكي تترك المنصب للآخرين بعد الخروج من لعبة الشطرنج، تحتاج إلى إضافة كود إلى sesison_onend للمعالجة، كما يلي:
<لغة البرنامج النصي=تشغيل vbscript=الخادم>
التطبيق الفرعي_onstart
جلسة.مهلة=1
النهاية الفرعية
الجلسة الفرعية_onstart
إذا كان التطبيق (رقم) = إذن
التطبيق (الرقم) = 0
نهاية إذا
التطبيق (الرقم) = التطبيق (الرقم) +1
النهاية الفرعية
</ نص >
<لغة البرنامج النصي=تشغيل vbscript=الخادم>
الجلسة الفرعية_onend
إذا كان التطبيق (رقم) = إذن
التطبيق (الرقم) = 0
نهاية إذا
التطبيق (الرقم) = التطبيق (الرقم) -1
إذا كان التطبيق (الأول 1) = الجلسة (لطيفة) إذن
التطبيق (الأول 1) =
تطبيق elseif (الثانية 1) = الجلسة (لطيفة) إذن
التطبيق (الثانية 1) =
تطبيق elseif(first2)=جلسة(لطيفة) إذن
التطبيق (الأول 2) =
تطبيق elseif(ثانية2)=جلسة(لطيفة) إذن
التطبيق (الثانية 2) =
تطبيق elseif(first3)=جلسة(لطيفة) إذن
التطبيق (الأول 3) =
تطبيق elseif(ثانية3)=جلسة(لطيفة) إذن
التطبيق (الثانية 3) =
تطبيق elseif(first4)=جلسة(لطيفة) إذن
التطبيق (الأول 4) =
تطبيق elseif (الثانية 4) = الجلسة (لطيفة) إذن
التطبيق (الثانية 4) =
تطبيق elseif(first5)=جلسة(لطيفة) إذن
التطبيق (الأول 5) =
تطبيق elseif (الثانية 5) = الجلسة (لطيفة) إذن
التطبيق (الثانية 5) =
نهاية إذا
لأني = 1 إلى 15
ل ي = 1 إلى 15
application(color & session(class) & _ & cstr(i) & _ & cstr
(ي))=
application(pos & session(class) & cstr(i) & _ & cstr(j))=
التالي
التالي
التطبيق (الجلسة (لطيفة)) =
النهاية الفرعية
</ نص >
ما ورد أعلاه هو عدد قليل من الملفات الرئيسية، يمكنك تجربتها. ماذا، هل تريد أن تلعب لعبة Go؟ مجرد تغيير رقعة الشطرنج.