日期:2014-05-16 浏览次数:20432 次
上一篇文章:javascript五子棋游戏制作(一)
上一篇文章的抛砖引玉,希望大家拍砖!
下面来第二篇:
设计原理:
房间——》桌子——》椅子——》准备——》开始——结束。
房间页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<%
String path = request.getContextPath();
%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>五子棋房间</title>
<script type="text/javascript" src="<%=path %>/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="<%=path %>/js/zDialog/zDialog.js"></script>
<script type="text/javascript" src="<%=path %>/js/zDialog/zDrag.js"></script>
<script type="text/javascript" src="<%=path %>/js/room.js"></script>
</head>
<body>
</body>
</html>/**
* 房间
* @author ps
* @create 2012-10-27 12:40:57
*/
//解决与其它JS包冲突的问题。
var jq = jQuery.noConflict();
//房间
Room = function (){
//room本身
var ROOMTHIS = this;
//桌子
this.deskList = new Array(20);
//房间CSS
var roomCss = new RoomCss();
//初始化房间的20张桌子,并赋以桌子号。
this.initDesk = function(){
var size = this.deskList.length;
for ( var row = 0; row < size; row++) {
var desk1 = new Desk();
desk1.roomId = "Room_1";
desk1.deskId = "Desk_" + (row + 1);
this.deskList[row] = desk1;
}
};
//根据房间号与桌子号查询Desk信息
this.findDesk = function(roomId,deskId){
for ( var row = 0; row < this.deskList.length; row++) {
var desk = this.deskList[row];
if(deskId == desk.deskId && roomId == desk.roomId){
return desk;
}
}
return null;
};
//赋值
/**
* <pre>
* 根据roomId和deskId查询Desk信息。
* 若player1非空,给Desk的player1赋值
* 若player2非空,给Desk的player2赋值
* 若isStart非空,给Desk的isStart赋值
* </pre>
* @param roomId 房间号
* @param deskId 桌子号
* @param player1 玩家1
* @param player2 玩家2
* @param isStart 是否开始
*/
this.setDesk = function(roomId,deskId,player1,player2,isStart){
var desk = this.findDesk(roomId, deskId);
if(player1 != null){
desk.player1 = player1;
}
if(player2 != null){
desk.player2 = player2;
}
if(isStart != null){
desk.isStart = isStart;
}
};
//显示房间
this.displayRoom = function(){
var mainDiv = jq("<div id='roomMainDiv'/>");
var northDiv = jq("<div id='roomTitleDiv' >您好,我是房间一号呀!</div>");
northDiv.css(roomCss.northDivCss());
var centerDiv = jq("<div id='roomCenterDiv' />");
centerDiv.css(roomCss.centerDivCss());
var table = jq("<table id='deskTable' cellpadding='0' cellspacing='0'></table>");
table.css(roomCss.tableCss());
var tr = jq("<tr></tr>");
var desk = this.deskList;
for ( var row = 0; row < desk.length; row++) {
var td = jq("<td width='160px'></td>");
var tab = jq("<table cellpadding='0' cellspacing='0' width='160px'></table>");
tab.attr("id",desk[row].deskId);
var wtd = jq("<td></td>");
var wbtn = jq("<input type='button' value='进入' />");
wbtn.attr("id",desk[row].deskId + "#westbtn");
wbtn.css(roomCss.btnCss());
wbtn.bind("click",function(){
ROOMTHIS.joinInClick(jq(this));
});
wtd.append(wbtn);
var ctd = jq("<td><img alt='' src='images/qizhuo.jpg' style='width:100px;height:100px' /></td>");
var etd = jq("<td></td>&q