á队项目介绍
团队成员:
刘洪雨 16012105
刘笑维 16012104
李少宇 16012120
王 明 16012110
过程照片:
团队分工:
队长刘洪雨 项目的开发及编程 贡献分10分
队员李少宇 PM 贡献分9分
队员刘笑维 项目的测试人员 贡献分8分
队员王 明 项目测试及文案编写 贡献分7分
项目代码:
服务端
//服务器主函数
public class Server {
public static void main(String[] args) {
Server_DataWin win = new Server_DataWin(); //服务器信息窗口
}
}
//服务器信息窗口
import javax.swing.*;
public class Server_DataWin extends JFrame{
static JTextArea area; //文本区
static JScrollPane js; //滚动面板
static Server_Match[] match; //当前可用的游戏对局
Server_Database mysql; //数据库操作
Server_Socket serverSocket; //Socket操作
Server_DataWin(){
area = new JTextArea(); //初始化文本区
area.setEditable(false); //文本区不可编辑
area.setBounds(30, 30, 300, 200); //文本框位置,大小
js = new JScrollPane(area); //将文本区添加到滚动面板中
js.setBounds(30, 30, 300, 200); //滚动面板位置,大小(必须与文本区一致)
setTitle("服务器界面"); //设置窗口名称
setSize(370, 400); //设置窗口大小
setLayout(null); //窗口布局为空
setLocationRelativeTo(null); //窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE); //设置窗口关闭方式(退出程序)
add(js); //向窗口增加部件(滚动面板)
setVisible(true); //设置窗口可见
mysql = new Server_Database(); //初始化数据库操作
match = new Server_Match[2]; //为对局分配空间,用数组是因为有角标,初始化方便
match[0] = new Server_Match(0); //初始化一个低级场
match[1] = new Server_Match(1); //初始化一个高级场
match[0].start(); //启动低级场对局线程
match[1].start(); //启动高级场对局线程
serverSocket = new Server_Socket(); //初始化Socket操作
}
}
客户端
//客户端主函数
public class Client {
public static void main(String[] args) {
Client_Login win = new Client_Login(); //初始化登陆窗口
}
}
import java.io.*;
import java.net.Socket;
import javax.swing.*;
public class Client_Socket {
//静态方便其他类共享使用
public static Socket socket;
public static DataInputStream in;
public static DataOutputStream out;
public boolean success; //是否连接服务器成功
Client_Socket(){
try {
socket = new Socket("127.0.0.1",2000);
in = new DataInputStream(socket.getInputStream());
out = new DataOutputStream(socket.getOutputStream());
success = true;
}catch(IOException e) {
JOptionPane.showMessageDialog(null, "服务器连接失败!");
success = false;
}
}
}
运行截图: