Нарды - это игра-головоломка, с которой все хорошо знакомы, и существует множество сопутствующих игровых программ. Здесь я торжественно представляю вам новую чисто онлайн-версию Нарды. В качестве среды разработки она использует ASP, поэтому она очень популярна в Интернете. . При игре в бои скачивать клиентское программное обеспечение не нужно, главное, чтобы у вас был браузер. Вы также можете играть в эту игру по локальной сети.
Что касается ASP, я не хочу слишком много объяснять, я уже многое сказал в предыдущих статьях.
Процесс игры такой: сначала мы входим в систему, а затем можем выбрать поле битвы. Есть пять полей битвы, таких как Венера, Юпитер, Меркурий, Марс и Сатурн. Если вы считаете себя мастером, вы можете выбрать. Венера, в противном случае вы можете выбрать остальные по порядку. Планета служит полем боя. Если на этой планете нет претендента, вы должны стать претендентом, и тогда другие смогут соревноваться с вами. Конечно, если на всех планетах началась война, вам придется просто немного подождать.
Если вы войдете в систему как претендент, вы можете подождать, пока другие сразятся с вами. Если вы войдете в систему как нападающий, вы можете быстро начать битву с претендентом. После начала боя лидер ринга черными выходит вперед, а затем ход делает атакующий и так далее. Когда будет принято окончательное решение, появятся соответствующие подсказки.
На сайте есть несколько основных файлов:
Файл входа Index.asp:
Промежуточный файл Index0.asp:
Файл соответствия Match.asp:
Back0.jpg white0.jpg black0.jpg Графические файлы, используемые в середине, относятся к шахматной доске, белым камням и черным камням соответственно, как показано ниже:
При инициализации программы разделите шахматную доску на несколько таблиц, поместите в них фоновую картинку, чтобы сформировать шахматную доску, а затем после размещения шахматной фигуры замените картинку соответствующей белой или черной фигурой.
Давайте сначала посмотрим на файл входа:
<%@ Language=VBScript %>
<HTML>
<ГОЛОВА>
<МЕТА-ИМЯ=ГЕНЕРАТОР Содержимое=Microsoft Visual Studio 6.0>
<название>Конкурс «Звездные войны: пять сыновей»! </название>
</ГОЛОВКА>
<ТЕЛО>
<p align=center><размер шрифта=6>Звездные войны</font></P>
<граница таблицы=1 ширина=80% выравнивание=центр>
<tr><td>Планета</td><td>Вызов</td><td>Битва</td><td>Атака</td></tr>
<тр>
<td>Венера</td>
<тд>
<%
если приложение(first1)= тогда
%>
<form action=index0.asp?flag=First1 метод=post>
<INPUT id=text1 name=txtFirst1 size=10><INPUT id=submit1 name=submit1
тип=отправить значение=Ввод>
</форма>
<%
еще
Приложение response.write(first1)
конец, если
%>
</тд>
<td>Война</td>
<тд>
<%
если приложение(второе1)= тогда
%>
<form action=index0.asp?flag=first1 метод=post>
<INPUT id=text1 name=txtSecond1 size=10><INPUT id=submit1
name=submit1 type=submit value=Enter>
</форма>
<%
еще
Приложение response.write(Second1)
конец, если
%>
</тд>
</тр>
<тр>
<td>Юпитер</td>
<тд>
<%
если приложение(first2)= тогда
%>
<form action=index0.asp?flag=First2 метод=post>
<INPUT id=text1 name=txtFirst2 size=10><INPUT id=submit1 name=submit1
тип=отправить значение=Ввод>
</форма>
<%
еще
Приложение response.write(first2)
конец, если
%>
</тд>
<td>Война</td>
<тд>
<%
если приложение(второе2)= тогда
%>
<form action=index0.asp?flag=first2 метод=post>
<INPUT id=text1 name=txtSecond2 size=10><INPUT id=submit1
name=submit1 type=submit value=Enter>
</форма>
<%
еще
Приложение response.write(Second2)
конец, если
%>
</тд>
</тр>
<тр>
<td>Венера</td>
<тд>
<%
если приложение(first3)= тогда
%>
<form action=index0.asp?flag=First3 метод=post>
<INPUT id=text1 name=txtFirst3 size=10><INPUT id=submit1 name=submit1
тип=отправить значение=Ввод>
</форма>
<%
еще
Приложение response.write(first3)
конец, если
%>
</тд>
<td>Война</td>
<тд>
<%
если приложение(второе3)= тогда
%>
<form action=index0.asp?flag=first3 метод=post>
<INPUT id=text1 name=txtSecond3 size=10><INPUT id=submit1
name=submit1 type=submit value=Enter>
</форма>
<%
еще
Приложение response.write(Second3)
конец, если
%>
</тд>
</тр>
<тр>
<td>Венера</td>
<тд>
<%
если приложение(first4)= тогда
%>
<form action=index0.asp?flag=First4 метод=post>
<INPUT id=text1 name=txtFirst4 size=10><INPUT id=submit1 name=submit1
тип=отправить значение=Ввод>
</форма>
<%
еще
Приложение response.write(first4)
конец, если
%>
</тд>
<td>Война</td>
<тд>
<%
если приложение(второе4)= тогда
%>
<form action=index0.asp?flag=first4 метод=post>
<INPUT id=text1 name=txtSecond4 size=10><INPUT id=submit1
name=submit1 type=submit value=Enter>
</форма>
<%
еще
Приложение response.write(Second4)
конец, если
%>
</тд>
</тр>
<тр>
<td>Венера</td>
<тд>
<%
если приложение(first5)= тогда
%>
<form action=index0.asp?flag=First5 метод=post>
<INPUT id=text1 name=txtFirst5 size=10><INPUT id=submit1 name=submit1
тип=отправить значение=Ввод>
</форма>
<%
еще
Приложение response.write(first5)
конец, если
%>
</тд>
<td>Война</td>
<тд>
<%
если приложение (второе5) = тогда
%>
<form action=index0.asp?flag=first5 метод=post>
<INPUT id=text1 name=txtSecond5 size=10><INPUT id=submit1
name=submit1 type=submit value=Enter>
</форма>
<%
еще
Приложение response.write(Second5)
конец, если
%>
</тд>
</тр>
</таблица>
</ТЕЛО>
</HTML>
Этот файл не нужно слишком подробно объяснять, это просто большая таблица, в которую каждый может войти оттуда. Если использовалась определенная локация, она станет именем героя, и повторные входы в систему не допускаются. Войдите после входа в систему
index0.asp, это промежуточный файл обмена, в котором обрабатываются и назначаются некоторые переменные, а затем записывается match.asp для официального совпадения. Давайте посмотрим на содержимое index0.asp:
<%@ Language=VBScript %>
<%
если Request.Form(txt & request.querystring(flag))<> тогда
'ответ.напишите &!
сеанс (хорошо) = Request.Form (txt и request.querystring (флаг))
'сессияresponse.write(хорошо) &
'приложение ответа.запись(request.querystring(флаг))
если приложение(request.querystring(флаг))= тогда
приложение(request.querystring(флаг))=сессия(хорошо)
сеанс (класс) = правильно (request.querystring (флаг), 1)
если left(request.querystring(flag),1)=f тогда
приложение(сессия(хорошо))=false
elseif left(request.querystring(flag),1)=s тогда
приложение(сессия(хорошо))=false
приложение (приложение (первый и сеанс (класс))) = true
конец, если
Response.Redirect match.asp
конец, если
конец, если
%>
<HTML>
</HTML>
В этой программе сеанс (nice) используется для записи вашего имени входа. Он будет использоваться во многих будущих процессах для различения многих пользователей. Если вы входите в должность судьи манежа, ваши права
во-первых, в противном случае во-вторых, используйте сеанс (класс), чтобы записать, на каком поле битвы он находится, Джинму
Вода, Огонь и Земля обозначены цифрами 1, 2, 3, 4 и 5 соответственно, поскольку существует несколько полей сражений, на которых могут сражаться одновременно. Если их невозможно правильно различить, это может привести к хаосу. application(session(nice)) — это логическая переменная, которая использует true или false, чтобы указать, можете ли вы играть в шахматы. Если это false, вам придется подождать. Если это правда, вы можете играть в шахматы. Только после того, как два человека вышли на поле битвы, претендент может играть в шахматы, и только после того, как претендент собрал фигуру, атакующий может играть в шахматы. Когда вы будете готовы, введите поле конкурса. См. файл match.asp.
<html>
<голова>
<meta http-equiv=Content-Type content=text/html charset=gb2312>;
<meta name=GENERATOR content=Microsoft FrontPage 4.0>
<meta name=ProgId content=FrontPage.Editor.Document>
<META http-equiv=обновить контент=3>
<title>Конкурс рэндзю...</title>
</голова>
<%
Response.Write Challenger: & application(first & session(class))
& атака: & приложение (второй и сеанс
(сорт))
если Request.QueryString(pos)<> тогда
приложение (pos & session (класс) & Request.QueryString (pos))
= правда
конец, если
%>
<тело>
<%
'Приложение Response.Write(aaa)
если приложение (первое и сеанс (класс)) = сеанс (хорошо), то
цвет=черный
если Request.QueryString(pos)<> тогда
если сеанс(последний)=, то сеанс(последний)=abc
если сеанс(последний)<> Request.QueryString(pos) тогда
приложение(приложение(первый и сеанс(класс)))=false
если приложение(второй и сеанс(класс))<> тогда приложение
(приложение(второй и сеанс(класс)))=true
сеанс (последний) = Request.QueryString (поз.)
КОНЕЦ ЕСЛИ
конец, если
еще
если приложение (второе и сеанс (класс)) = сеанс (хорошо), то
цвет=белый
если Request.QueryString(pos)<> тогда
'if session(last)= then session(last)=abc
если сеанс(последний)<> Request.QueryString(pos), то
приложение (приложение (первый и сеанс (класс))) = true
приложение(приложение(второй и сеанс(класс)))=false
сеанс (последний) = Request.QueryString (поз.)
КОНЕЦ ЕСЛИ
конец, если
еще
если приложение (второе и сеанс (класс)) = тогда
приложение (второй и сеанс (класс)) = сеанс (хорошо)
цвет=белый
если Request.QueryString(pos)<> тогда
если сеанс(последний)=, то сеанс(последний)=abc
если сеанс(последний)<> Request.QueryString(pos), то
приложение (приложение (первый и сеанс (класс))) = true
приложение(приложение(второй и сеанс(класс)))=false
сеанс (последний) = Request.QueryString (поз.)
КОНЕЦ ЕСЛИ
конец, если
еще
цвет=
конец, если
конец, если
конец, если
Response.Write <ширина таблицы=400 высота=400 граница=0 cellspace=0
ячейка=0>
для я = от 1 до 16
Ответ.Запись <tr>
для j=от 1 до 16
if application(pos & session(class) & cstr(i) & _ & cstr(j))=
затем
приложение (цвет и сеанс (класс) & _ & Request.QueryString
(поз))=цвет
Response.Write <td ширина=25 высота=25>
'response.write application(application(first & session(class)))
если приложение(сессия(хорошо))=истина, то
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 ширина=25 высота=25>
конец, если
ответ.запись </td>
еще
Response.Write <td width=25 height=25><img border=0 src= &
приложение (цвет и сеанс (класс) & _ & cstr (i) & _ & cstr
(j)) & 0.jpg ширина=25 высота=25></td> & chr(13)
конец, если
следующий
Ответ.Запись </tr>
следующий
Response.Write </table>
«Судья выиграет или проиграет
если приложение (первое и сеанс (класс)) = сеанс (хорошо), то
м = черный
h=белый
еще
ч = черный
м=белый
конец, если
«Горизонтальное суждение-
для я = от 1 до 15
победа = ложь
потеря = ложь
Five_me=0
Five_he=0
для j=от 1 до 15
если приложение (цвет и сеанс (класс) & _ & cstr (i) & _ & cstr
(j))=m тогда
Five_me=five_me+1
Five_he=0
elseif приложение (цвет и сеанс (класс) & _ & cstr (i) & _ &
cstr(j))=h тогда
Five_me=0
Five_he=five_he+1
еще
Five_me=0
Five_he=0
конец, если
если Five_me=5 тогда
победа=истина
потеря = ложь
выход для
иначе если Five_he=5 тогда
победа = ложь
потеря = правда
выход для
конец, если
следующий
если выигрыш или проигрыш, то выходим на
следующий
если выиграем, то
ответ.написать Вы выиграли!
приложение(приложение(первый и сеанс(класс)))=false
приложение(приложение(второй и сеанс(класс)))=false
конец, если
если потеря, то
response.write Извините, вы проиграли!
приложение(приложение(первый и сеанс(класс)))=false
приложение(приложение(второй и сеанс(класс)))=false
конец, если
'Решение о направлении столбца |
для j=от 1 до 15
победа = ложь
потеря = ложь
Five_me=0
Five_he=0
для я = от 1 до 15
если приложение (цвет и сеанс (класс) & _ & cstr (i) & _ & cstr
(j))=m тогда
Five_me=five_me+1
Five_he=0
elseif приложение (цвет и сеанс (класс) & _ & cstr (i) & _ &
cstr(j))=h тогда
Five_me=0
Five_he=five_he+1
еще
Five_me=0
Five_he=0
конец, если
если Five_me=5 тогда
победа=истина
потеря = ложь
выход для
иначе если Five_he=5 тогда
победа = ложь
потеря = правда
выход для
конец, если
следующий
если выигрыш или проигрыш, то выходим на
следующий
если выиграем, то
ответ.написать Вы выиграли!
приложение(приложение(первый и сеанс(класс)))=false
приложение(приложение(второй и сеанс(класс)))=false
конец, если
если потеря, то
response.write Извините, вы проиграли!
приложение(приложение(первый и сеанс(класс)))=false
приложение(приложение(второй и сеанс(класс)))=false
конец, если
' Косвенное суждение/
для я = от 1 до 11
победа = ложь
потеря = ложь
Five_me=0
Five_he=0
для j=i+4 до 1 шага -1
если приложение (цвет и сеанс (класс) & _ & cstr (j) & _ & cstr
(i+5-j))=m тогда
Five_me=five_me+1
Five_he=0
elseif приложение (цвет & сеанс (класс) & _ & cstr (j) & _ &
cstr(i+5-j))=h тогда
Five_me=0
Five_he=five_he+1
еще
Five_me=0
Five_he=0
конец, если
если Five_me=5 тогда
победа=истина
потеря = ложь
выход для
иначе если Five_he=5 тогда
победа = ложь
потеря = правда
выход для
конец, если
следующий
если выигрыш или проигрыш, то выходим на
следующий
если выиграем, то
ответ.написать Вы выиграли!
приложение(приложение(первый и сеанс(класс)))=false
приложение(приложение(второй и сеанс(класс)))=false
конец, если
если потеря, то
response.write Извините, вы проиграли!
приложение(приложение(первый и сеанс(класс)))=false
приложение(приложение(второй и сеанс(класс)))=false
конец, если
' Косвенное суждение/
для я = от 1 до 11
победа = ложь
потеря = ложь
Five_me=0
Five_he=0
для j=12-i до 15
если приложение (цвет и сеанс (класс) & _ & cstr (13-ij) & _
& cstr(j))=m тогда
Five_me=five_me+1
Five_he=0
elseif приложение (цвет и сеанс (класс) & _ и cstr (13-ij)
& _ & cstr(j))=h тогда
Five_me=0
Five_he=five_he+1
еще
Five_me=0
Five_he=0
конец, если
если Five_me=5 тогда
победа=истина
потеря = ложь
выход для
иначе если Five_he=5 тогда
победа = ложь
потеря = правда
выход для
конец, если
следующий
если выигрыш или проигрыш, то выходим на
следующий
если выиграем, то
ответ.написать Вы выиграли!
приложение(приложение(первый и сеанс(класс)))=false
приложение(приложение(второй и сеанс(класс)))=false
конец, если
если потеря, то
response.write Извините, вы проиграли!
приложение(приложение(первый и сеанс(класс)))=false
приложение(приложение(второй и сеанс(класс)))=false
конец, если
%>
</тело>
</html>
Если в определенной точке шахматной фигуры нет, добавьте гиперсвязь и поместите шахматную фигуру другого цвета в зависимости от разницы между претендентом и нападающим. Последний абзац используется для оценки выигрыша и проигрыша и разделен на горизонтальное, столбчатое и два диагональных направления. Понять это можно, взглянув на конкретный контент.
Последнее, о чем я хочу рассказать, это global.asa, который является основным файлом на сайте. Чтобы оставить позицию другим после выхода из шахматной партии, вам нужно добавить код в sesison_onend для обработки, следующим образом:
<язык сценария=vbscript runat=сервер>
суб-приложение_onstart
сеанс.таймаут=1
конец субтитра
суб-сеанс_онстарт
если приложение(номер)= тогда
приложение (число) = 0
конец, если
приложение(число)=приложение(число)+1
конец субтитра
</скрипт>
<язык сценария=vbscript runat=сервер>
субсеанс_оненд
если приложение(номер)= тогда
приложение(число)=0
конец, если
приложение(номер)=приложение(номер)-1
если приложение(первый1)=сессия(хорошо), то
приложение(первый1)=
elseif приложение (второе1) = сеанс (хорошо), тогда
приложение(второе1)=
elseif приложение(first2)=сессия(хорошо), тогда
приложение(first2)=
elseif приложение (второе2) = сеанс (хорошо), тогда
приложение(второе2)=
elseif приложение(first3)=сессия(хорошо), тогда
приложение(first3)=
elseif приложение (второе3) = сеанс (хорошо), тогда
приложение(второе3)=
elseif приложение(first4)=сессия(хорошо), тогда
приложение(first4)=
elseif приложение (второе 4) = сеанс (хорошо), тогда
приложение(второе4)=
elseif приложение(first5)=сессия(хорошо), тогда
приложение(first5)=
elseif приложение (второе5) = сеанс (хорошо), тогда
приложение(второе5)=
конец, если
для я = от 1 до 15
для j=от 1 до 15
приложение (цвет и сеанс (класс) & _ & cstr (i) & _ & cstr
(Дж))=
application(pos & session(class) & cstr(i) & _ & cstr(j))=
следующий
следующий
приложение(сессия(хорошо))=
конец субтитра
</скрипт>
Выше приведены несколько основных файлов, вы можете попробовать. Что, хочешь поиграть в Го? Просто поменяйте шахматную доску.