주사위 놀이는 모두에게 매우 친숙한 퍼즐 게임이며 관련 게임 소프트웨어가 많이 있습니다. 여기에서는 ASP를 개발 환경으로 사용하므로 인터넷에서 매우 인기가 있는 새로운 순수 온라인 버전의 주사위 놀이를 엄숙히 소개합니다. .브라우저만 있으면 전투를 플레이할 때 클라이언트 소프트웨어를 다운로드할 필요가 없습니다. 근거리 통신망에서도 이 게임을 플레이할 수 있습니다.
ASP에 대해서는 너무 많이 설명하고 싶지 않습니다. 이미 이전 기사에서 많이 언급했습니다.
게임의 진행은 이렇습니다.먼저 로그인을 하고 나면 전장을 선택할 수 있습니다. 자신이 마스터라고 생각한다면, 금성, 목성, 수성, 화성 등 5개의 전장을 선택할 수 있습니다. 금성이 아니면 다른 행성을 순서대로 선택할 수 있습니다. 행성은 전쟁터 역할을 합니다. 만약 이 행성에 도전자가 없다면 당신이 도전자로 참가해야 다른 사람들도 당신과 경쟁할 수 있습니다. 물론, 모든 행성에서 전쟁이 시작되었다면 잠시 기다리면 됩니다.
도전자로 로그인하면 다른 사람이 자신과 대결할 때까지 기다릴 수 있으며, 공격자로 로그인하면 빠르게 도전자와 전투를 시작할 수 있습니다. 전투가 시작되면 링 리더가 흑색으로 선두를 차지하고, 공격자가 이동하는 식으로 진행됩니다. 최종 결정이 내려지면 해당 메시지가 표시됩니다.
이 사이트에는 다음과 같은 몇 가지 주요 파일이 있습니다.
Index.asp 로그인 파일:
Index0.asp 중간 파일:
Match.asp 일치 파일:
Back0.jpg white0.jpg black0.jpg 가운데에 사용된 그래픽 파일은 각각 아래와 같이 체스판, 흰 돌, 검은 돌을 의미합니다.
프로그램을 초기화하는 동안 체스판을 여러 개의 테이블로 나누고 그 안에 배경 그림을 넣어 체스판을 만든 다음 체스 말을 놓은 후 그림을 해당 흰색 또는 검은색 조각으로 바꿉니다.
먼저 로그인 파일을 살펴보겠습니다.
<%@ 언어=VBScript %>
<HTML>
<헤드>
<메타 이름=생성기 콘텐츠=Microsoft Visual Studio 6.0>
<제목>스타워즈: 다섯 아들 콘테스트! </제목>
</HEAD>
<바디>
<p 정렬=중앙><글꼴 크기=6>스타워즈</font></P>
<테이블 테두리=1 너비=80% 정렬=가운데>
<tr><td>행성</td><td>도전</td><td>전투</td><td>공격</td></tr>
<tr>
<td>비너스</td>
<td>
<%
application(first1)=이면
%>
<양식 action=index0.asp?flag=First1 방법=post>
<INPUT id=text1 name=txtFirst1 size=10><INPUT id=submit1 이름=submit1
유형=값 제출=Enter>
</양식>
<%
또 다른
response.write 애플리케이션(첫번째1)
종료하면
%>
</td>
<td>전쟁</td>
<td>
<%
application(second1)=이면
%>
<form action=index0.asp?flag=second1 method=post>
<INPUT id=text1 name=txtSecond1 size=10><INPUT id=submit1
이름=제출1 유형=제출 값=Enter>
</양식>
<%
또 다른
response.write 애플리케이션(두번째1)
종료하면
%>
</td>
</tr>
<tr>
<td>목성</td>
<td>
<%
application(first2)=이면
%>
<form action=index0.asp?flag=First2 method=post>
<INPUT id=text1 이름=txtFirst2 크기=10><INPUT id=submit1 이름=submit1
유형=값 제출=Enter>
</양식>
<%
또 다른
response.write 애플리케이션(first2)
종료하면
%>
</td>
<td>전쟁</td>
<td>
<%
application(second2)=이면
%>
<양식 action=index0.asp?flag=second2 방법=post>
<INPUT id=text1 name=txtSecond2 size=10><INPUT id=submit1
이름=제출1 유형=제출 값=Enter>
</양식>
<%
또 다른
response.write 애플리케이션(두 번째2)
종료하면
%>
</td>
</tr>
<tr>
<td>비너스</td>
<td>
<%
application(first3)=이면
%>
<양식 action=index0.asp?flag=First3 방법=post>
<INPUT id=text1 이름=txtFirst3 크기=10><INPUT id=submit1 이름=submit1
유형=값 제출=Enter>
</양식>
<%
또 다른
응답.응용프로그램 작성(첫 번째3)
종료하면
%>
</td>
<td>전쟁</td>
<td>
<%
application(second3)=이면
%>
<form action=index0.asp?flag=second3 method=post>
<INPUT id=text1 name=txtSecond3 size=10><INPUT id=submit1
이름=제출1 유형=제출 값=Enter>
</양식>
<%
또 다른
response.write 애플리케이션(두 번째3)
종료하면
%>
</td>
</tr>
<tr>
<td>비너스</td>
<td>
<%
application(first4)=이면
%>
<form action=index0.asp?flag=First4 method=post>
<INPUT id=text1 이름=txtFirst4 크기=10><INPUT id=submit1 이름=submit1
유형=값 제출=Enter>
</양식>
<%
또 다른
response.write 애플리케이션(first4)
종료하면
%>
</td>
<td>전쟁</td>
<td>
<%
application(second4)=이면
%>
<form action=index0.asp?flag=second4 method=post>
<INPUT id=text1 name=txtSecond4 size=10><INPUT id=submit1
이름=제출1 유형=제출 값=Enter>
</양식>
<%
또 다른
response.write 애플리케이션(두번째4)
종료하면
%>
</td>
</tr>
<tr>
<td>비너스</td>
<td>
<%
application(first5)=이면
%>
<form action=index0.asp?flag=First5 method=post>
<INPUT id=text1 이름=txtFirst5 크기=10><INPUT id=submit1 이름=submit1
유형=값 제출=Enter>
</양식>
<%
또 다른
response.write 애플리케이션(first5)
종료하면
%>
</td>
<td>전쟁</td>
<td>
<%
application(second5)=이면
%>
<form action=index0.asp?flag=second5 method=post>
<INPUT id=text1 name=txtSecond5 size=10><INPUT id=submit1
이름=제출1 유형=제출 값=Enter>
</양식>
<%
또 다른
응답.신청서 작성(두번째5)
종료하면
%>
</td>
</tr>
</테이블>
</BODY>
</HTML>
이 파일은 길게 설명할 필요 없이 누구나 들어갈 수 있는 큰 테이블일 뿐입니다.특정 위치를 사용했다면 영웅의 이름이 되어 반복 로그인은 허용되지 않습니다. 로그인 후 입장
index0.asp는 중간 교환 파일로, 일부 변수를 처리하여 할당한 후 공식 경기를 위해 match.asp를 입력합니다. index0.asp의 내용을 살펴보겠습니다.
<%@ 언어=VBScript %>
<%
if Request.Form(txt & request.querystring(flag))<> then
'응답.입력하세요!
세션(좋은)=Request.Form(txt & request.querystring(플래그))
'response.write 세션(좋은) &
'response.write 애플리케이션(request.querystring(flag))
application(request.querystring(flag))=이면
application(request.querystring(flag))=세션(좋은)
세션(클래스)=right(request.querystring(플래그),1)
if left(request.querystring(flag),1)=f 다음
애플리케이션(세션(좋은))=false
elseif left(request.querystring(flag),1)=s 그러면
애플리케이션(세션(좋은))=false
애플리케이션(애플리케이션(첫 번째 & 세션(클래스)))=true
종료하면
응답.리디렉션 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>
<메타 이름=GENERATOR 콘텐츠=Microsoft FrontPage 4.0>
<메타 이름=ProgId 콘텐츠=FrontPage.Editor.Document>
<META http-equiv=새로고침 콘텐츠=3>
<title>렌주 콘테스트...</title>
</머리>
<%
Response.Write Challenger: & 애플리케이션(첫번째 & 세션(클래스))
& 공격: & 적용(두 번째 & 세션
(수업))
Request.QueryString(pos)<>이면
애플리케이션(pos & 세션(클래스) & Request.QueryString(pos))
=사실
종료하면
%>
<본문>
<%
'Response.Write 애플리케이션(aaa)
application(first & session(class))=session(nice)이면
색상=검은색
Request.QueryString(pos)<>이면
세션(마지막)=이면 세션(마지막)=abc인 경우
if session(last)<> Request.QueryString(pos) then
애플리케이션(애플리케이션(첫 번째 & 세션(클래스)))=false
신청(2회 & 세션(수업))<>인 경우 신청
(애플리케이션(두 번째 & 세션(클래스)))=true
세션(마지막)=Request.QueryString(pos)
종료 IF
종료하면
또 다른
application(두 번째 & 세션(클래스))=세션(좋은)인 경우
색상=흰색
Request.QueryString(pos)<>이면
'세션(마지막)=이면 세션(마지막)=abc인 경우
if session(last)<> Request.QueryString(pos) then
애플리케이션(애플리케이션(첫 번째 & 세션(클래스)))=true
애플리케이션(애플리케이션(두 번째 & 세션(클래스)))=false
세션(마지막)=Request.QueryString(pos)
종료 IF
종료하면
또 다른
애플리케이션(두 번째 & 세션(클래스))=이면
application(두 번째 & 세션(클래스))=세션(좋은)
색상=흰색
Request.QueryString(pos)<>이면
세션(마지막)=이면 세션(마지막)=abc인 경우
if session(last)<> Request.QueryString(pos) then
애플리케이션(애플리케이션(첫 번째 & 세션(클래스)))=true
애플리케이션(애플리케이션(두 번째 & 세션(클래스)))=false
세션(마지막)=Request.QueryString(pos)
종료 IF
종료하면
또 다른
색상=
종료하면
종료하면
종료하면
응답.쓰기 <테이블 너비=400 높이=400 테두리=0 셀 간격=0
셀패딩=0>
i=1부터 16까지
응답.쓰기 <tr>
j=1 ~ 16의 경우
if application(pos & session(class) & cstr(i) & _ & cstr(j))=
그 다음에
application(color & 세션(클래스) & _ & Request.QueryString
(pos))=색상
응답.쓰기 <td 너비=25 높이=25>
'response.write application(application(첫 번째 & 세션(클래스)))
application(session(nice))=true이면
response.write <a href=match.asp?pos= & cstr(i) & _ & cstr(j)
& ><img 테두리=0 src=back0.jpg 너비=25 높이=25></a>
또 다른
response.write <img border=0 src=back0.jpg 너비=25 높이=25>
종료하면
응답.쓰기 </td>
또 다른
응답.쓰기 <td 너비=25 높이=25><img 테두리=0 src= &
application(color & 세션(클래스) & _ & cstr(i) & _ & cstr
(j)) & 0.jpg 너비=25 높이=25></td> & chr(13)
종료하면
다음
응답.쓰기 </tr>
다음
응답.쓰기 </table>
'승패를 판단하세요.
application(first & session(class))=session(nice)이면
m=검은색
h=백색
또 다른
h=검은색
m=백인
종료하면
'수평판정-
i=1부터 15까지
승리=거짓
손실=거짓
five_me=0
five_he=0
j=1 ~ 15인 경우
if application(color & session(class) & _ & 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이면
승리=참
손실=거짓
종료
elseif five_he=5이면
승리=거짓
손실=참
종료
종료하면
다음
이기거나 지면 종료합니다.
다음
그렇다면 이기면
response.write 당신이 이겼어요!
애플리케이션(애플리케이션(첫 번째 & 세션(클래스)))=false
애플리케이션(애플리케이션(두 번째 & 세션(클래스)))=false
종료하면
손실이라면
response.write 죄송해요, 졌어요!
애플리케이션(애플리케이션(첫 번째 & 세션(클래스)))=false
애플리케이션(애플리케이션(두 번째 & 세션(클래스)))=false
종료하면
'컬럼 방향 판단|
j=1 ~ 15인 경우
승리=거짓
손실=거짓
five_me=0
five_he=0
i=1부터 15까지
if application(color & session(class) & _ & 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이면
승리=참
손실=거짓
종료
elseif five_he=5이면
승리=거짓
손실=참
종료
종료하면
다음
이기거나 지면 종료합니다.
다음
그렇다면 이기면
response.write 당신이 이겼어요!
애플리케이션(애플리케이션(첫 번째 & 세션(클래스)))=false
애플리케이션(애플리케이션(두 번째 & 세션(클래스)))=false
종료하면
손실이라면
response.write 죄송해요, 졌어요!
애플리케이션(애플리케이션(첫 번째 & 세션(클래스)))=false
애플리케이션(애플리케이션(두 번째 & 세션(클래스)))=false
종료하면
'비스듬한 판단/
i=1부터 11까지
승리=거짓
손실=거짓
five_me=0
five_he=0
j=i+4에서 1단계 -1까지
if application(color & session(class) & _ & cstr(j) & _ & cstr
(i+5-j))=m 그러면
five_me=five_me+1
five_he=0
elseif application(color & session(class) & _ & cstr(j) & _ &
cstr(i+5-j))=h 그러면
five_me=0
five_he=five_he+1
또 다른
five_me=0
five_he=0
종료하면
five_me=5이면
승리=참
손실=거짓
종료
elseif five_he=5이면
승리=거짓
손실=참
종료
종료하면
다음
이기거나 지면 종료합니다.
다음
그렇다면 이기면
response.write 당신이 이겼어요!
애플리케이션(애플리케이션(첫 번째 & 세션(클래스)))=false
애플리케이션(애플리케이션(두 번째 & 세션(클래스)))=false
종료하면
손실이라면
response.write 죄송해요, 졌어요!
애플리케이션(애플리케이션(첫 번째 & 세션(클래스)))=false
애플리케이션(애플리케이션(두 번째 & 세션(클래스)))=false
종료하면
'비스듬한 판단/
i=1부터 11까지
승리=거짓
손실=거짓
five_me=0
five_he=0
j=12-i ~ 15의 경우
if application(color & session(class) & _ & cstr(13-ij) & _
& cstr(j))=m 그러면
five_me=five_me+1
five_he=0
elseif application(color & session(class) & _ & cstr(13-ij)
& _ & cstr(j))=h 그러면
five_me=0
five_he=five_he+1
또 다른
five_me=0
five_he=0
종료하면
five_me=5이면
승리=참
손실=거짓
종료
elseif five_he=5이면
승리=거짓
손실=참
종료
종료하면
다음
이기거나 지면 종료합니다.
다음
그렇다면 이기면
response.write 당신이 이겼어요!
애플리케이션(애플리케이션(첫 번째 & 세션(클래스)))=false
애플리케이션(애플리케이션(두 번째 & 세션(클래스)))=false
종료하면
손실이라면
response.write 죄송해요, 졌어요!
애플리케이션(애플리케이션(첫 번째 & 세션(클래스)))=false
애플리케이션(애플리케이션(두 번째 & 세션(클래스)))=false
종료하면
%>
</본문>
</html>
특정 지점에 체스 말이 없으면 하이퍼 연결을 추가하고 도전자와 공격자의 차이에 따라 다른 색상의 체스 말을 배치합니다. 마지막 문단은 승패를 판단하는 데 사용되며 가로, 세로, 대각선 두 방향으로 구분됩니다. 구체적인 내용을 보면 이해할 수 있다.
마지막으로 이야기하고 싶은 것은 사이트의 핵심 파일인 global.asa입니다. 체스 게임을 종료한 후 위치를 다른 사람에게 맡기려면 다음과 같이 sesison_onend에 코드를 추가하여 처리해야 합니다.
<스크립트 언어=vbscript runat=서버>
하위 애플리케이션_onstart
세션.시간 초과=1
서브 끝
하위 세션_시작
애플리케이션(번호)=이면
애플리케이션(개수)=0
종료하면
애플리케이션(번호)=애플리케이션(번호)+1
서브 끝
</스크립트>
<스크립트 언어=vbscript runat=서버>
하위 세션_onend
애플리케이션(번호)=이면
애플리케이션(개수)=0
종료하면
애플리케이션(번호)=애플리케이션(번호)-1
application(first1)=session(nice)이면
신청(첫번째1)=
elseif application(second1)=session(nice) 그런 다음
적용(두번째1)=
elseif application(first2)=session(nice) 그런 다음
신청(첫번째2)=
elseif application(second2)=session(nice) 그런 다음
적용(두번째2)=
elseif application(first3)=session(nice) 그런 다음
신청(처음3)=
elseif application(second3)=session(nice) 그런 다음
적용(두번째3)=
elseif application(first4)=session(nice) 그런 다음
신청(첫번째4)=
elseif application(second4)=session(nice) 그런 다음
적용(두번째4)=
elseif application(first5)=session(nice) 그런 다음
신청(첫번째5)=
elseif application(second5)=session(nice) 그런 다음
신청(초5)=
종료하면
i=1부터 15까지
j=1 ~ 15인 경우
application(color & 세션(클래스) & _ & cstr(i) & _ & cstr
(J))=
애플리케이션(pos & 세션(클래스) & cstr(i) & _ & cstr(j))=
다음
다음
애플리케이션(세션(좋은))=
서브 끝
</스크립트>
위의 내용은 몇 가지 주요 파일입니다. 시도해 볼 수 있습니다. 뭐, 바둑 할래? 그냥 체스판을 바꾸세요.