Gamão é um jogo de quebra-cabeça com o qual todos estão familiarizados e existem muitos softwares de jogos relacionados. Aqui apresento solenemente a vocês uma nova versão online pura do Gamão. Ele usa ASP como ambiente de desenvolvimento, por isso é muito popular na Internet. . Não há necessidade de baixar software cliente ao jogar batalhas, desde que você tenha um navegador. Você também pode jogar este jogo em uma rede local.
Para ASP, não quero explicar muito, já falei muito em artigos anteriores.
O processo do jogo é assim. Primeiro, fazemos login e depois podemos escolher o campo de batalha. Existem cinco campos de batalha, como Vênus, Júpiter, Mercúrio, Marte e Saturno. Vênus, caso contrário você pode escolher os outros em sequência. O planeta serve de campo de batalha. Se não houver nenhum desafiante neste planeta, você deve entrar como desafiante e então outros poderão competir com você. Claro, se a guerra começou em todos os planetas, você só terá que esperar um pouco.
Se você fizer login como desafiante, poderá esperar que outros lutem contra você. Se você fizer login como atacante, poderá iniciar rapidamente uma batalha com o desafiante. Após o início da batalha, o líder do ringue assume a liderança com o preto, e então o atacante faz o movimento e assim por diante. Quando a decisão final for tomada, haverá avisos correspondentes.
O site possui vários arquivos principais:
Arquivo de login index.asp:
Arquivo intermediário Index0.asp:
Arquivo de correspondência Match.asp:
Back0.jpg white0.jpg black0.jpg Os arquivos gráficos utilizados no meio referem-se ao tabuleiro de xadrez, pedras brancas e pedras pretas respectivamente, conforme mostrado abaixo:
Durante a inicialização do programa, divida o tabuleiro de xadrez em várias mesas, coloque nelas a imagem de fundo para formar um tabuleiro de xadrez e, após colocar uma peça de xadrez, substitua a imagem pela peça branca ou preta correspondente.
Vamos dar uma olhada no arquivo de login primeiro:
<%@ Idioma=VBScript%>
<HTML>
<CABEÇA>
<NOME DA META=Conteúdo do GERADOR=Microsoft Visual Studio 6.0>
<título>Star Wars: Concurso dos Cinco Filhos! </título>
</CABEÇA>
<CORPO>
<p alinhar=centro><tamanho da fonte=6>Star Wars</fonte></P>
<borda da tabela=1 largura=80% alinhamento=centro>
<tr><td>Planeta</td><td>Desafio</td><td>Batalha</td><td>Ataque</td></tr>
<tr>
<td>Vênus</td>
<td>
<%
se aplicação(primeiro1)=então
%>
<form action=index0.asp?flag=Primeiro1 método=post>
<INPUT id=text1 nome=txtPrimeiro1 tamanho=10><INPUT id=submit1 nome=submit1
tipo=enviar valor=Enter>
</formulário>
<%
outro
aplicativo resposta.write (primeiro1)
terminar se
%>
</td>
<td>Guerra</td>
<td>
<%
se aplicação(segundo1)=então
%>
<form action=index0.asp?flag=second1 method=post>
<INPUT id=text1 nome=txtSecond1 tamanho=10><INPUT id=submit1
nome=enviar1 tipo=enviar valor=Enter>
</formulário>
<%
outro
aplicativo resposta.write (Segundo1)
terminar se
%>
</td>
</tr>
<tr>
<td>Júpiter</td>
<td>
<%
se aplicação(primeiro2)=então
%>
<form action=index0.asp?flag=First2 method=post>
<INPUT id=text1 nome=txtPrimeiro2 tamanho=10><INPUT id=submit1 nome=submit1
tipo=enviar valor=Enter>
</formulário>
<%
outro
aplicativo resposta.write (primeiro2)
terminar se
%>
</td>
<td>Guerra</td>
<td>
<%
se aplicação(segundo2)=então
%>
<form action=index0.asp?flag=second2 method=post>
<INPUT id=text1 nome=txtSecond2 tamanho=10><INPUT id=submit1
nome=enviar1 tipo=enviar valor=Enter>
</formulário>
<%
outro
aplicativo resposta.write (Segundo2)
terminar se
%>
</td>
</tr>
<tr>
<td>Vênus</td>
<td>
<%
se aplicação(primeiro3)=então
%>
<form action=index0.asp?flag=First3 method=post>
<INPUT id=text1 nome=txtPrimeiro3 tamanho=10><INPUT id=submit1 nome=submit1
tipo=enviar valor=Enter>
</formulário>
<%
outro
aplicativo resposta.write (primeiro3)
terminar se
%>
</td>
<td>Guerra</td>
<td>
<%
se aplicação(segundo3)=então
%>
<form action=index0.asp?flag=second3 method=post>
<INPUT id=text1 nome=txtSecond3 tamanho=10><INPUT id=submit1
nome=enviar1 tipo=enviar valor=Enter>
</formulário>
<%
outro
aplicativo resposta.write (Segundo3)
terminar se
%>
</td>
</tr>
<tr>
<td>Vênus</td>
<td>
<%
se aplicação(primeiro4)=então
%>
<form action=index0.asp?flag=First4 method=post>
<INPUT id=text1 nome=txtPrimeiro4 tamanho=10><INPUT id=submit1 nome=submit1
tipo=enviar valor=Enter>
</formulário>
<%
outro
aplicativo resposta.write (primeiro4)
terminar se
%>
</td>
<td>Guerra</td>
<td>
<%
se aplicação(segundo4)=então
%>
<form action=index0.asp?flag=second4 method=post>
<INPUT id=text1 nome=txtSecond4 tamanho=10><INPUT id=submit1
nome=enviar1 tipo=enviar valor=Enter>
</formulário>
<%
outro
aplicativo resposta.write (Segundo 4)
terminar se
%>
</td>
</tr>
<tr>
<td>Vênus</td>
<td>
<%
se aplicação(primeiro5)=então
%>
<form action=index0.asp?flag=First5 method=post>
<INPUT id=text1 nome=txtPrimeiro5 tamanho=10><INPUT id=submit1 nome=submit1
tipo=enviar valor=Enter>
</formulário>
<%
outro
aplicativo resposta.write (primeiro5)
terminar se
%>
</td>
<td>Guerra</td>
<td>
<%
se aplicação(segundo5)=então
%>
<form action=index0.asp?flag=second5 method=post>
<INPUT id=text1 nome=txtSecond5 tamanho=10><INPUT id=submit1
nome=enviar1 tipo=enviar valor=Enter>
</formulário>
<%
outro
aplicativo resposta.write (Second5)
terminar se
%>
</td>
</tr>
</tabela>
</CORPO>
</HTML>
Este arquivo não precisa ser muito explicado, é apenas uma grande tabela onde todos podem entrar a partir daí. Se um determinado local for utilizado, ele se tornará o nome do herói, e logins repetidos não serão permitidos. Entre após fazer login
index0.asp, este é um arquivo de troca intermediário, no qual algumas variáveis são processadas e atribuídas, e então match.asp é inserido para a partida oficial. Vamos dar uma olhada no conteúdo de index0.asp:
<%@ Idioma=VBScript%>
<%
se Request.Form(txt & request.querystring(flag))<> então
'resposta.escreva &!
sessão(nice)=Request.Form(txt & request.querystring(flag))
'response.write sessão (legal) &
'response.write aplicativo(request.querystring(flag))
se aplicação(request.querystring(flag))=então
aplicação(request.querystring(flag))=sessão(legal)
sessão(classe)=direita(request.querystring(flag),1)
se esquerda(request.querystring(flag),1)=f então
aplicação(sessão(legal))=falso
elseif left(request.querystring(flag),1)=s então
aplicação(sessão(legal))=falso
aplicação(aplicação(primeira & sessão(classe)))=true
terminar se
Resposta.Redirect match.asp
terminar se
terminar se
%>
<HTML>
</HTML>
Neste programa, sessão (nice) é usada para registrar seu nome de login. Ela será usada em muitos processos futuros para distinguir muitos usuários. Se você entrar na posição de mestre de cerimônias, seus direitos serão
primeiro, caso contrário, segundo, use session(class) para registrar em qual campo de batalha ele está localizado, Jinmu
Água, Fogo e Terra são representados como 1, 2, 3, 4 e 5 respectivamente, porque existem vários campos de batalha que podem estar lutando ao mesmo tempo. Se não puderem ser distinguidos corretamente, isso pode levar ao caos. application(session(nice)) é uma variável lógica que usa true ou false para indicar se você pode jogar xadrez. Se for falso, você terá que esperar por um. Somente depois que duas pessoas no campo de batalha tiverem entrado, o desafiante poderá jogar xadrez, e somente depois que o desafiante tiver produzido uma peça, o atacante poderá jogar xadrez. Quando estiver pronto, entre no campo de competição. Consulte o arquivo match.asp.
<html>
<cabeça>
<meta http-equiv=Tipo de conteúdo content=text/html charset=gb2312>;
<meta name=GENERATOR content=Microsoft FrontPage 4.0>
<meta name=ProgId content=FrontPage.Editor.Document>
<META http-equiv=atualizar conteúdo=3>
<título>Concurso Renju...</título>
</cabeça>
<%
Response.Write Challenger: & aplicação (primeira e sessão (aula))
& ataque: & aplicação (segunda & sessão
(aula))
se Request.QueryString(pos)<> então
aplicação(pos & sessão(classe) & Request.QueryString(pos))
=verdadeiro
terminar se
%>
<corpo>
<%
'Resposta.Write aplicativo(aaa)
se aplicação(primeira & sessão(classe))=sessão(nice) então
cor=preto
se Request.QueryString(pos)<> então
se sessão(última)=então sessão(última)=abc
se sessão(última)<> Request.QueryString(pos) então
aplicação(aplicação(primeira & sessão(classe)))=falso
se aplicação(segunda & sessão(classe))<> então aplicação
(aplicativo(segunda & sessão(classe)))=true
sessão(última)=Request.QueryString(pos)
TERMINAR SE
terminar se
outro
se aplicação(segunda & sessão(classe))=sessão(nice) então
cor=branco
se Request.QueryString(pos)<> então
'se sessão(última)=então sessão(última)=abc
se sessão(última)<> Request.QueryString(pos) then
aplicação(aplicação(primeira & sessão(classe)))=true
aplicação(aplicação(segunda & sessão(classe)))=falso
sessão(última)=Request.QueryString(pos)
TERMINAR SE
terminar se
outro
se aplicação(segunda & sessão(classe))=então
aplicação(segunda & sessão(classe))=sessão(legal)
cor=branco
se Request.QueryString(pos)<> então
se sessão(última)=então sessão(última)=abc
se sessão(última)<> Request.QueryString(pos) então
aplicação(aplicação(primeira & sessão(classe)))=true
aplicação(aplicação(segunda & sessão(classe)))=falso
sessão(última)=Request.QueryString(pos)
TERMINAR SE
terminar se
outro
cor =
terminar se
terminar se
terminar se
Response.Write <largura da tabela=400 altura=400 borda=0 cellpacing=0
preenchimento de célula=0>
para i = 1 a 16
Resposta.Write <tr>
para j = 1 a 16
if application(pos & session(class) & cstr(i) & _ & cstr(j))=
então
aplicação(cor & sessão(classe) & _ & Request.QueryString
(pos))=cor
Response.Write <td largura=25 altura=25>
'response.write aplicativo(aplicativo(primeira & sessão(classe)))
se aplicação(sessão(nice))=true então
resposta.write <a href=match.asp?pos= & cstr(i) & _ & cstr(j)
& ><img border=0 src=back0.jpg largura=25 altura=25></a>
outro
resposta.write <img border=0 src=back0.jpg largura=25 altura=25>
terminar se
resposta.write </td>
outro
Response.Write <td largura=25 altura=25><img border=0 src= &
aplicação(cor & sessão(classe) & _ & cstr(i) & _ & cstr
(j)) & 0.jpg largura=25 altura=25></td> & chr(13)
terminar se
próximo
Resposta.Escrever </tr>
próximo
Resposta.Write </tabela>
'Julgue ganhando ou perdendo
se aplicação(primeira & sessão(classe))=sessão(nice) então
m = preto
h = branco
outro
h = preto
m = branco
terminar se
'Julgamento horizontal-
para i = 1 a 15
vitória=falso
perda = falso
cinco_me=0
cinco_ele=0
para j = 1 a 15
if application(color & session(class) & _ & cstr(i) & _ & cstr
(j))=m então
cinco_me=cinco_me+1
cinco_ele=0
aplicativo elseif(cor & sessão(classe) & _ & cstr(i) & _ &
cstr(j))=h então
cinco_me=0
cinco_ele=cinco_ele+1
outro
cinco_me=0
cinco_ele=0
terminar se
se cinco_me=5 então
vitória=verdadeiro
perda = falso
saída para
elseif cinco_ele=5 então
vitória=falso
perda = verdadeiro
saída para
terminar se
próximo
se ganhar ou perder, então saia para
próximo
se ganhar então
resposta.write Você venceu!
aplicação(aplicação(primeira & sessão(classe)))=falso
aplicação(aplicação(segunda & sessão(classe)))=falso
terminar se
se perda então
resposta.write Desculpe, você perdeu!
aplicação(aplicação(primeira & sessão(classe)))=falso
aplicação(aplicação(segunda & sessão(classe)))=falso
terminar se
'Julgamento de direção da coluna |
para j = 1 a 15
vitória=falso
perda = falso
cinco_me=0
cinco_ele=0
para i = 1 a 15
if application(color & session(class) & _ & cstr(i) & _ & cstr
(j))=m então
cinco_me=cinco_me+1
cinco_ele=0
aplicativo elseif(cor & sessão(classe) & _ & cstr(i) & _ &
cstr(j))=h então
cinco_me=0
cinco_ele=cinco_ele+1
outro
cinco_me=0
cinco_ele=0
terminar se
se cinco_me=5 então
vitória=verdadeiro
perda = falso
saída para
elseif cinco_ele=5 então
vitória=falso
perda = verdadeiro
saída para
terminar se
próximo
se ganhar ou perder, então saia para
próximo
se ganhar então
resposta.write Você venceu!
aplicação(aplicação(primeira & sessão(classe)))=falso
aplicação(aplicação(segunda & sessão(classe)))=falso
terminar se
se perda então
resposta.write Desculpe, você perdeu!
aplicação(aplicação(primeira & sessão(classe)))=falso
aplicação(aplicação(segunda & sessão(classe)))=falso
terminar se
'Julgamento oblíquo/
para i = 1 a 11
vitória=falso
perda = falso
cinco_me=0
cinco_ele=0
para j=i+4 a 1 passo -1
if application(color & session(class) & _ & cstr(j) & _ & cstr
(i+5-j))=m então
cinco_me=cinco_me+1
cinco_ele=0
aplicativo elseif (cor & sessão (classe) & _ & cstr (j) & _ &
cstr(i+5-j))=h então
cinco_me=0
cinco_ele=cinco_ele+1
outro
cinco_me=0
cinco_ele=0
terminar se
se cinco_me=5 então
vitória=verdadeiro
perda = falso
saída para
elseif cinco_ele=5 então
vitória=falso
perda = verdadeiro
saída para
terminar se
próximo
se ganhar ou perder então saia para
próximo
se ganhar então
resposta.write Você venceu!
aplicação(aplicação(primeira & sessão(classe)))=falso
aplicação(aplicação(segunda & sessão(classe)))=falso
terminar se
se perda então
resposta.write Desculpe, você perdeu!
aplicação(aplicação(primeira & sessão(classe)))=falso
aplicação(aplicação(segunda & sessão(classe)))=falso
terminar se
'Julgamento oblíquo/
para i = 1 a 11
vitória=falso
perda = falso
cinco_me=0
cinco_ele=0
para j = 12-i a 15
if application(color & session(class) & _ & cstr(13-ij) & _
& cstr(j))=m então
cinco_me=cinco_me+1
cinco_ele=0
aplicativo elseif (cor & sessão (classe) & _ & cstr (13-ij)
& _ & cstr(j))=h então
cinco_me=0
cinco_ele=cinco_ele+1
outro
cinco_me=0
cinco_ele=0
terminar se
se cinco_me=5 então
vitória=verdadeiro
perda = falso
saída para
elseif cinco_ele=5 então
vitória=falso
perda = verdadeiro
saída para
terminar se
próximo
se ganhar ou perder então saia para
próximo
se ganhar então
resposta.write Você venceu!
aplicação(aplicação(primeira & sessão(classe)))=falso
aplicação(aplicação(segunda & sessão(classe)))=falso
terminar se
se perda então
resposta.write Desculpe, você perdeu!
aplicação(aplicação(primeira & sessão(classe)))=falso
aplicação(aplicação(segunda & sessão(classe)))=falso
terminar se
%>
</corpo>
</html>
Se não houver peça de xadrez em determinado ponto, adicione uma hiperconexão e coloque uma peça de xadrez de cor diferente de acordo com a diferença entre o desafiante e o atacante. O último parágrafo é usado para julgar vitórias e derrotas e é dividido em direções horizontais, colunas e duas diagonais. Você pode entender isso observando o conteúdo específico.
A última coisa que quero falar é global.asa, que é um arquivo central do site. Para deixar a posição para outros após sair do jogo de xadrez, você precisa adicionar código a sesison_onend para processamento, como segue:
<linguagem de script=vbscript runat=servidor>
subaplicativo_onstart
sessão.timeout=1
final sub
subsessão_onstart
se aplicação(num)=então
aplicação(num)=0
terminar se
aplicação(num)=aplicação(num)+1
final sub
</roteiro>
<linguagem de script=vbscript runat=servidor>
subsessão_onend
se aplicação(num)=então
aplicação(num)=0
terminar se
aplicação(num)=aplicação(num)-1
se aplicação(primeiro1)=sessão(legal) então
aplicação(primeiro1)=
elseif aplicação(segundo1)=sessão(nice) então
aplicação(segundo1)=
elseif aplicação(primeiro2)=sessão(nice) então
aplicação(primeiro2)=
elseif aplicação(segundo2)=sessão(nice) então
aplicação(segundo2)=
elseif aplicação(first3)=sessão(nice) então
aplicação(primeiro3)=
elseif aplicação(segundo3)=sessão(nice) então
aplicação(segundo3)=
elseif aplicação(first4)=sessão(nice) então
aplicação(primeiro4)=
elseif aplicação(segundo4)=sessão(nice) então
aplicação(segundo4)=
elseif aplicação(first5)=sessão(nice) então
aplicação(primeiro5)=
elseif aplicação(segundo5)=sessão(nice) então
aplicação(segundo5)=
terminar se
para i = 1 a 15
para j = 1 a 15
aplicação(cor & sessão(classe) & _ & cstr(i) & _ & cstr
(J)) =
aplicação(pos & sessão(classe) & cstr(i) & _ & cstr(j))=
próximo
próximo
aplicação(sessão(legal))=
final sub
</roteiro>
Acima estão alguns arquivos principais, você pode tentar. O quê, quer jogar Go? Basta mudar o tabuleiro de xadrez.