Backgammon es un juego de rompecabezas con el que todo el mundo está muy familiarizado y hay muchos softwares de juegos relacionados. Aquí les presento solemnemente una nueva versión pura en línea de Backgammon. Utiliza ASP como entorno de desarrollo, por lo que es muy popular en Internet. No es necesario descargar el software del cliente al jugar batallas, siempre que tengas un navegador. También puedes jugar a este juego en una red de área local.
Para ASP, no quiero explicar demasiado. Ya he dicho mucho en artículos anteriores.
El proceso del juego es así. Primero iniciamos sesión y luego podemos elegir el campo de batalla. Hay cinco campos de batalla, como Venus, Júpiter, Mercurio, Marte y Saturno. Si crees que eres un maestro, puedes elegir. Venus, de lo contrario puedes elegir los demás en secuencia. El planeta sirve como campo de batalla. Si no hay ningún retador en este planeta, debes ingresar como retador y luego otros podrán competir contigo. Por supuesto, si la guerra ha comenzado en todos los planetas, solo tendrás que esperar un poco.
Si inicias sesión como retador, puedes esperar a que otros peleen contigo. Si inicias sesión como atacante, puedes comenzar rápidamente una batalla con el retador. Después de que comienza la batalla, el líder del círculo toma la delantera con negro, y luego el atacante hace el movimiento, y así sucesivamente. Cuando se tome la decisión final, habrá las indicaciones correspondientes.
El sitio tiene varios archivos principales:
Archivo de inicio de sesión Index.asp:
Archivo intermedio Index0.asp:
Archivo de coincidencia Match.asp:
Back0.jpg white0.jpg black0.jpg Los archivos gráficos utilizados en el medio se refieren al tablero de ajedrez, piedras blancas y piedras negras respectivamente, como se muestra a continuación:
Durante la inicialización del programa, divida el tablero de ajedrez en varias mesas, coloque la imagen de fondo en ellas para formar un tablero de ajedrez y luego, después de colocar una pieza de ajedrez, reemplace la imagen con la pieza blanca o negra correspondiente.
Primero echemos un vistazo al archivo de inicio de sesión:
<%@ Idioma=VBScript %>
<HTML>
<CABEZA>
<NOMBRE META=Contenido GENERADOR=Microsoft Visual Studio 6.0>
<título>Star Wars: ¡Concurso de los cinco hijos! </título>
</CABEZA>
<CUERPO>
<p align=center><tamaño de fuente=6>Star Wars</font></P>
<borde de la tabla=1 ancho=80% alineación=centro>
<tr><td>Planeta</td><td>Desafío</td><td>Batalla</td><td>Ataque</td></tr>
<tr>
<td>Venus</td>
<td>
<%
si aplicación(primera1)= entonces
%>
<formulario acción=index0.asp?flag=Primer1 método=publicación>
<INPUT id=text1 nombre=txtFirst1 tamaño=10><INPUT id=enviar1 nombre=enviar1
tipo=enviar valor=Entrar>
</formulario>
<%
demás
aplicación respuesta.escribir (primero1)
terminar si
%>
</td>
<td>Guerra</td>
<td>
<%
si aplicación(segundo1)= entonces
%>
<formulario acción=index0.asp?flag=segundo1 método=publicación>
<INPUT id=text1 nombre=txtSecond1 tamaño=10><INPUT id=enviar1
nombre=enviar1 tipo=enviar valor=Entrar>
</formulario>
<%
demás
aplicación respuesta.escribir (Segundo1)
terminar si
%>
</td>
</tr>
<tr>
<td>Júpiter</td>
<td>
<%
si aplicación(primera2)= entonces
%>
<formulario acción=index0.asp?flag=Primer2 método=publicación>
<INPUT id=text1 nombre=txtFirst2 tamaño=10><INPUT id=enviar1 nombre=enviar1
tipo=enviar valor=Entrar>
</formulario>
<%
demás
aplicación respuesta.escribir (primero2)
terminar si
%>
</td>
<td>Guerra</td>
<td>
<%
si aplicación(segundo2)= entonces
%>
<formulario acción=index0.asp?flag=segundo2 método=publicación>
<INPUT id=text1 nombre=txtSecond2 tamaño=10><INPUT id=enviar1
nombre=enviar1 tipo=enviar valor=Entrar>
</formulario>
<%
demás
aplicación respuesta.escribir (Segundo2)
terminar si
%>
</td>
</tr>
<tr>
<td>Venus</td>
<td>
<%
si aplicación(primero3)= entonces
%>
<formulario acción=index0.asp?flag=First3 método=publicación>
<INPUT id=text1 nombre=txtFirst3 tamaño=10><INPUT id=enviar1 nombre=enviar1
tipo=enviar valor=Entrar>
</formulario>
<%
demás
aplicación respuesta.escribir (primero3)
terminar si
%>
</td>
<td>Guerra</td>
<td>
<%
si aplicación(segundo3)= entonces
%>
<formulario acción=index0.asp?flag=segundo3 método=publicación>
<INPUT id=text1 nombre=txtSecond3 tamaño=10><INPUT id=enviar1
nombre=enviar1 tipo=enviar valor=Entrar>
</formulario>
<%
demás
aplicación respuesta.escribir (Segundo3)
terminar si
%>
</td>
</tr>
<tr>
<td>Venus</td>
<td>
<%
si aplicación(first4)= entonces
%>
<formulario acción=index0.asp?flag=First4 método=publicación>
<INPUT id=text1 nombre=txtFirst4 tamaño=10><INPUT id=enviar1 nombre=enviar1
tipo=enviar valor=Entrar>
</formulario>
<%
demás
aplicación respuesta.escribir (primero4)
terminar si
%>
</td>
<td>Guerra</td>
<td>
<%
si aplicación(segundo4)= entonces
%>
<formulario acción=index0.asp?flag=segundo4 método=publicación>
<INPUT id=text1 nombre=txtSecond4 tamaño=10><INPUT id=enviar1
nombre=enviar1 tipo=enviar valor=Entrar>
</formulario>
<%
demás
aplicación respuesta.escribir (Segundo4)
terminar si
%>
</td>
</tr>
<tr>
<td>Venus</td>
<td>
<%
si aplicación(first5)= entonces
%>
<formulario acción=index0.asp?flag=First5 método=publicación>
<INPUT id=text1 nombre=txtFirst5 tamaño=10><INPUT id=enviar1 nombre=enviar1
tipo=enviar valor=Entrar>
</formulario>
<%
demás
aplicación respuesta.escribir (primero5)
terminar si
%>
</td>
<td>Guerra</td>
<td>
<%
si aplicación(segundo5)= entonces
%>
<formulario acción=index0.asp?flag=segundo5 método=publicación>
<INPUT id=text1 nombre=txtSecond5 tamaño=10><INPUT id=enviar1
nombre=enviar1 tipo=enviar valor=Entrar>
</formulario>
<%
demás
aplicación respuesta.escribir (Segundo5)
terminar si
%>
</td>
</tr>
</mesa>
</CUERPO>
</HTML>
No es necesario explicar demasiado este archivo, es solo una tabla grande a la que todos pueden ingresar desde allí. Si se ha utilizado una determinada ubicación, se convertirá en el nombre del héroe y no se permiten inicios de sesión repetidos. Entra después de iniciar sesión
index0.asp, este es un archivo de intercambio intermedio, en el que se procesan y asignan algunas variables, y luego se ingresa match.asp para el partido oficial. Echemos un vistazo al contenido de index0.asp:
<%@ Idioma=VBScript %>
<%
si Request.Form(txt & request.querystring(flag))<> entonces
'respuesta.escribe!
sesión(agradable)=Request.Form(txt & request.querystring(bandera))
'respuesta.sesión de escritura (agradable) &
'respuesta.escribir aplicación(solicitud.querystring(bandera))
si aplicación (request.querystring (bandera)) = entonces
aplicación (solicitud.cadena de consulta (bandera)) = sesión (agradable)
sesión(clase)=derecha(solicitud.querystring(bandera),1)
si left(request.querystring(flag),1)=f entonces
aplicación (sesión (agradable)) = falso
elseif left(request.querystring(flag),1)=s entonces
aplicación (sesión (agradable)) = falso
aplicación (aplicación (primera y sesión (clase))) = verdadero
terminar si
Respuesta.Redireccionar coincidencia.asp
terminar si
terminar si
%>
<HTML>
</HTML>
En este programa, la sesión (niza) se utiliza para registrar su nombre de inicio de sesión. Se utilizará en muchos procesos futuros para distinguir a muchos usuarios. Si ingresa desde la posición del maestro de ceremonias, sus derechos son
primero, de lo contrario segundo, use sesión (clase) para registrar en qué campo de batalla se encuentra, Jinmu
Agua, Fuego y Tierra se representan como 1, 2, 3, 4 y 5 respectivamente, porque hay múltiples campos de batalla que pueden estar luchando al mismo tiempo. Si no se pueden distinguir correctamente, puede generar caos. aplicación (sesión (agradable)) es una variable lógica que usa verdadero o falso para indicar si puedes jugar al ajedrez. Si es falso, debes esperar uno. Si es verdadero, puedes jugar al ajedrez. Sólo después de que dos personas en el campo de batalla hayan entrado, el retador puede jugar al ajedrez, y sólo después de que el retador haya producido una pieza, el atacante puede jugar al ajedrez. Una vez que esté listo, ingrese al campo de competencia. Consulte el archivo match.asp.
<html>
<cabeza>
<meta http-equiv=Tipo de contenido content=text/html charset=gb2312>;
<meta nombre=GENERADOR contenido=Microsoft FrontPage 4.0>
<meta nombre=ProgId contenido=FrontPage.Editor.Document>
<META http-equiv=actualizar contenido=3>
<título>Concurso Renju...</título>
</cabeza>
<%
Response.Write Challenger: y aplicación (primera y sesión (clase))
& ataque: & aplicación (segunda & sesión
(clase))
si Request.QueryString(pos)<> entonces
aplicación (pos y sesión (clase) y Request.QueryString (pos))
=verdadero
terminar si
%>
<cuerpo>
<%
'Respuesta.Escribir solicitud(aaa)
si aplicación (primera y sesión (clase)) = sesión (agradable) entonces
color = negro
si Request.QueryString(pos)<> entonces
si sesión (última) = entonces sesión (última) = abc
si sesión (última) <> Request.QueryString (pos) entonces
aplicación (aplicación (primera y sesión (clase))) = falso
si la aplicación (segunda y sesión (clase)) <> entonces la aplicación
(aplicación (segunda y sesión (clase))) = verdadero
sesión(última)=Request.QueryString(pos)
FINALIZAR SI
terminar si
demás
si aplicación (segunda y sesión (clase)) = sesión (agradable) entonces
color = blanco
si Request.QueryString(pos)<> entonces
'si sesión(última)= entonces sesión(última)=abc
si sesión (última) <> Request.QueryString (pos) entonces
aplicación (aplicación (primera y sesión (clase))) = verdadero
aplicación (aplicación (segunda y sesión (clase))) = falso
sesión(última)=Request.QueryString(pos)
FINALIZAR SI
terminar si
demás
si aplicación (segunda y sesión (clase)) = entonces
aplicación (segunda y sesión (clase)) = sesión (agradable)
color = blanco
si Request.QueryString(pos)<> entonces
si sesión (última) = entonces sesión (última) = abc
si sesión (última) <> Request.QueryString (pos) entonces
aplicación (aplicación (primera y sesión (clase))) = verdadero
aplicación (aplicación (segunda y sesión (clase))) = falso
sesión(última)=Request.QueryString(pos)
FINALIZAR SI
terminar si
demás
color =
terminar si
terminar si
terminar si
Respuesta.Escribir <ancho de tabla=400 alto=400 borde=0 espacio entre celdas=0
relleno de celda = 0>
para i=1 a 16
Respuesta.Escribir <tr>
para j=1 a 16
si aplicación (pos y sesión (clase) y cstr (i) & _ & cstr (j)) =
entonces
aplicación (color y sesión (clase) & _ & Request.QueryString
(pos))=color
Respuesta.Escribir <td ancho=25 alto=25>
'respuesta.escribir aplicación(aplicación(primera y sesión(clase)))
si aplicación (sesión (agradable)) = verdadero entonces
respuesta.escribir <a href=match.asp?pos= & cstr(i) & _ & cstr(j)
& ><img border=0 src=back0.jpg ancho=25 alto=25></a>
demás
respuesta.write <img border=0 src=back0.jpg ancho=25 alto=25>
terminar si
respuesta.escribir </td>
demás
Respuesta.Escribir <td ancho=25 alto=25><img border=0 src= &
aplicación (color y sesión (clase) & _ & cstr (i) & _ & cstr
(j)) & 0.jpg ancho=25 alto=25></td> & chr(13)
terminar si
próximo
Respuesta.Escribir </tr>
próximo
Respuesta.Escribir </table>
'Juez ganando o perdiendo
si aplicación (primera y sesión (clase)) = sesión (agradable) entonces
m=negro
h=blanco
demás
h=negro
m=blanco
terminar si
'Juicio horizontal-
para i=1 a 15
ganar = falso
pérdida = falso
cinco_yo=0
cinco_él=0
para j=1 a 15
si aplicación (color y sesión (clase) & _ & cstr(i) & _ & cstr
(j))=m entonces
cinco_yo=cinco_yo+1
cinco_él=0
aplicación elseif (color y sesión (clase) & _ & cstr(i) & _ &
cstr(j))=h entonces
cinco_yo=0
cinco_él=cinco_él+1
demás
cinco_yo=0
cinco_él=0
terminar si
si cinco_yo = 5 entonces
ganar = verdadero
pérdida = falso
salida para
elseif cinco_él = 5 entonces
ganar = falso
pérdida = verdadero
salida para
terminar si
próximo
Si gana o pierde entonces salga por
próximo
si gana entonces
respuesta.escribir ¡Tú ganas!
aplicación (aplicación (primera y sesión (clase))) = falso
aplicación (aplicación (segunda y sesión (clase))) = falso
terminar si
si la pérdida entonces
respuesta.escribir ¡Lo siento, perdiste!
aplicación (aplicación (primera y sesión (clase))) = falso
aplicación (aplicación (segunda y sesión (clase))) = falso
terminar si
'Juicio de dirección de columna|
para j=1 a 15
ganar = falso
pérdida = falso
cinco_yo=0
cinco_él=0
para i=1 a 15
si aplicación (color y sesión (clase) & _ & cstr(i) & _ & cstr
(j))=m entonces
cinco_yo=cinco_yo+1
cinco_él=0
aplicación elseif (color y sesión (clase) & _ & cstr(i) & _ &
cstr(j))=h entonces
cinco_yo=0
cinco_él=cinco_él+1
demás
cinco_yo=0
cinco_él=0
terminar si
si cinco_yo = 5 entonces
ganar = verdadero
pérdida = falso
salida para
elseif cinco_él = 5 entonces
ganar = falso
pérdida = verdadero
salida para
terminar si
próximo
Si gana o pierde entonces salga por
próximo
si gana entonces
respuesta.escribir ¡Tú ganas!
aplicación (aplicación (primera y sesión (clase))) = falso
aplicación (aplicación (segunda y sesión (clase))) = falso
terminar si
si la pérdida entonces
respuesta.escribir ¡Lo siento, perdiste!
aplicación (aplicación (primera y sesión (clase))) = falso
aplicación (aplicación (segunda y sesión (clase))) = falso
terminar si
'Juicio oblicuo/
para i=1 a 11
ganar = falso
pérdida = falso
cinco_yo=0
cinco_él=0
para j=i+4 a 1 paso -1
si aplicación (color y sesión (clase) & _ & cstr(j) & _ & cstr
(i+5-j))=m entonces
cinco_yo=cinco_yo+1
cinco_él=0
aplicación elseif (color y sesión (clase) & _ & cstr(j) & _ &
cstr(i+5-j))=h entonces
cinco_yo=0
cinco_él=cinco_él+1
demás
cinco_yo=0
cinco_él=0
terminar si
si cinco_yo = 5 entonces
ganar = verdadero
pérdida = falso
salida para
elseif cinco_él = 5 entonces
ganar = falso
pérdida = verdadero
salida para
terminar si
próximo
Si gana o pierde entonces salga por
próximo
si gana entonces
respuesta.escribir ¡Tú ganas!
aplicación (aplicación (primera y sesión (clase))) = falso
aplicación (aplicación (segunda y sesión (clase))) = falso
terminar si
si la pérdida entonces
respuesta.escribir ¡Lo siento, perdiste!
aplicación (aplicación (primera y sesión (clase))) = falso
aplicación (aplicación (segunda y sesión (clase))) = falso
terminar si
'Juicio oblicuo/
para i=1 a 11
ganar = falso
pérdida = falso
cinco_yo=0
cinco_él=0
para j=12-i a 15
si aplicación (color y sesión (clase) & _ & cstr(13-ij) & _
& cstr(j))=m entonces
cinco_yo=cinco_yo+1
cinco_él=0
aplicación elseif (color y sesión (clase) & _ & cstr(13-ij)
& _ & cstr(j))=h entonces
cinco_yo=0
cinco_él=cinco_él+1
demás
cinco_yo=0
cinco_él=0
terminar si
si cinco_yo = 5 entonces
ganar = verdadero
pérdida = falso
salida para
elseif cinco_él = 5 entonces
ganar = falso
pérdida = verdadero
salida para
terminar si
próximo
Si gana o pierde entonces salga por
próximo
si gana entonces
respuesta.escribir ¡Tú ganas!
aplicación (aplicación (primera y sesión (clase))) = falso
aplicación (aplicación (segunda y sesión (clase))) = falso
terminar si
si la pérdida entonces
respuesta.escribir ¡Lo siento, perdiste!
aplicación (aplicación (primera y sesión (clase))) = falso
aplicación (aplicación (segunda y sesión (clase))) = falso
terminar si
%>
</cuerpo>
</html>
Si no hay ninguna pieza de ajedrez en un punto determinado, agrega una hiperconexión y coloca una pieza de ajedrez de diferente color según la diferencia entre el retador y el atacante. El último párrafo se utiliza para juzgar ganar y perder, y está dividido en direcciones horizontales, columnas y dos diagonales. Puedes entenderlo mirando el contenido específico.
Lo último de lo que quiero hablar es global.asa, que es un archivo central en el sitio. Para dejar la posición a otros después de salir del juego de ajedrez, debes agregar código a sesison_onend para su procesamiento, de la siguiente manera:
<lenguaje de script=vbscript runat=servidor>
sub aplicación_onstart
sesión.timeout=1
sub final
subsesión_onstart
si aplicación(num)= entonces
aplicación(núm)=0
terminar si
aplicación(núm)=aplicación(núm)+1
sub final
</guion>
<lenguaje de script=vbscript runat=servidor>
sub sesión_onend
si aplicación(num)= entonces
aplicación(núm)=0
terminar si
aplicación(núm)=aplicación(núm)-1
si aplicación (primera1) = sesión (agradable) entonces
solicitud(primera1)=
elseif aplicación (segunda1) = sesión (agradable) entonces
aplicación(segunda1)=
elseif aplicación (primera2) = sesión (agradable) entonces
aplicación(primera2)=
elseif aplicación (segundo2) = sesión (agradable) entonces
aplicación(segundo2)=
elseif aplicación (primera3) = sesión (agradable) entonces
solicitud(primero3)=
elseif aplicación (segundo3) = sesión (agradable) entonces
aplicación(segundo3)=
elseif aplicación (primera4) = sesión (agradable) entonces
solicitud(primero4)=
elseif aplicación (segundo4) = sesión (agradable) entonces
aplicación(segundo4)=
elseif aplicación (primera5) = sesión (agradable) entonces
solicitud(primero5)=
elseif aplicación (segundo5) = sesión (agradable) entonces
aplicación(segundo5)=
terminar si
para i=1 a 15
para j=1 a 15
aplicación (color y sesión (clase) & _ & cstr (i) & _ & cstr
(J))=
aplicación (pos y sesión (clase) y cstr (i) & _ & cstr (j)) =
próximo
próximo
aplicación (sesión (agradable)) =
sub final
</guión>
Los anteriores son algunos archivos principales, puedes intentarlo. ¿Quieres jugar al Go? Simplemente cambia el tablero de ajedrez.