hjy:
小组分工还没写,大家晚上(上网)讨论一下吧。昨天一晚上在发愁着:
作业要求中有这么一条:
设计、实现一个软件产品
– 设计并实现全新的产品
– 改造现有产品的功能、扩展新的功能
我们的中国象棋软件欠缺之处就是难以说是全新的产品,而其他小组做的“XX管理系统“可以换在不同场合,算是“改造现有产品的功能、扩展新的功能。
我在想我们的是否要改。但不管怎样,临阵换枪总是不好,项目文档的雏形请见附件,还有一个小组分工没写。
我坚持一点:就是登陆这方面涉及JDBC数据库的必须要写,就是注册系统他们都涉及这些,应该不难。但网络交互这一块我还不知工作量多大,如果要删,请回复一下。
注:本邮箱已建立group,即发到此邮箱的邮件会转发给所有本项目成员。
收到邮件请回复一下初步看法(回复本邮箱即可buaa2306@gmail.com)。
另想建一个blog,记录一下我们的发展进程,不知有何建议?
网上文档中的代码
附录2 中国象棋(C/S版)部分源代码
Start.java
import java.awt.Dimension;
import java.awt.Graphics;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.sql.*;
public class Start {
static JSplitPane rightPanel,rightPanel1;
//表示是否已连接,0表示未连接,1表示已连接
public static int isCollection=0;
//表示是主机还是客户端,0表示客户端,1表示主机
public static int isServer=0;
//下棋状态,0表示未开始,1表示我下,2表示对方下
public static int chessState=0;
public static int chessCount=0;
public static int chessConfirm=0;
public Start()
{
frame=new JFrame("中国象棋");
listTable=new Hashtable();
chessboard=newChessboard(newImageIcon(getdir("images/main.jpg")).getImage());
frame.getContentPane().setLayout(null);
chessboard.setLocation(0, 0);
frame.getContentPane().add(chessboard);
c=new UserName();
collection=new Collection();
JPanel panel1=new JPanel();
panel1.setLayout(null);
panel1.add(c);
panel1.add(collection);
c.setBounds(10,15,220,30);
collection.setBounds(5,50,225,180);
panel1.setBorder(BorderFactory.createTitledBorder("连接"));
msg=new Message();
JPanel panel2=new JPanel();
panel2.setLayout(null);
panel2.add(msg);
msg.setBounds(5,15,220,250);
panel2.setBorder(BorderFactory.createTitledBorder("聊天区"));
//在线用户
zx=new ZaiXian();
zx.setBounds(10,15,220,100);
zx.setBorder(BorderFactory.createTitledBorder("在线用户"));
rightPanel=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true,panel1,zx);
rightPanel.setDividerLocation(225);
rightPanel1=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true,rightPanel,panel2);
rightPanel1.setDividerLocation(360);
frame.getContentPane().add(rightPanel1);
rightPanel1.setBounds(554,0,235,678);
chess=new Chess();
chess.setLocation(0, 616);
frame.getContentPane().add(chess);
handlingMsg=new HandingMsg();
rule=new Rule();
udpServer=new UdpServer();
udpServer.start();
frame.getContentPane().validate();
frame.pack();
frame.setSize(794, 678);
frame.setResizable(false);
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{……}
});}
public void reMove()
{
JSplitPane(JSplitPane.VERTICAL_SPLIT,true,panel1,zx);
rightPanel1=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true,rightPanel,panel2);
}
public static void main(String[] args)
{
start=new Start();
}
//返回自己是红棋或者黑棋,返回中文
public static String judgBw()
{………}
//返回判断是红棋还是黑棋的参数
public static int judgRB()
{
int r=0;
// 单局由客户端先下,即客户端是红棋
if (Start.chessCount%2==1)
{
if(Start.isServer==0)
{
r=0;
}
else if(Start.isServer==1)
{
r=7;
}
}
//双局由客户端后下,即服务器端是红棋
else
{
if(Start.isServer==0)
{
r=7;
}
else if(Start.isServer==1)
{
r=0;
}
}
return r;
}
public URL getdir(String res)
{
return getClass().getResource(res);
}
}