描述
用流套接字设计的网上五子棋游戏
游戏实现比较简单,只有一个文件一个类
main函数内创建了两个对象可以实现在本机上对战,只要host 为localhost,两个端口互为相反就行
先下的玩家执黑棋,后下的执白棋
界面效果
代码
github链接:https://github.com/zhouyumin/wuziqi
欢迎来给我star
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
public class Main extends JFrame implements MouseListener {
private static int BASESIZE = 30;
private static int tx = 50;
private static int ty = 60;
private boolean who = true;
private boolean enable = true;
private int[][] board;
private ServerSocket ss;
private InputStream input;
private String host;
private int port1;
private int port2;
public Main(String title, String host, int port1, int port2) {
super(title);
this.host = host;
this.port1 = port1;
this.port2 = port2;
board = new int[15][15];
//将棋盘各落子情况初始化为-1
for (int i = 0; i < 15; i++) {
for (int j = 0; j < 15; j++) {
board[i][j] = - 1;
}
}
try {
ss = new ServerSocket(port1);
} catch (IOException e) {
e.printStackTrace();
}
// 新建一个连接线程
new Thread() {
@Override
public void run() {
try {
while (true) {
//循环等待连接
Socket s = ss.accept();
input = s.getInputStream();
byte[] data = new byte[1024];
int length = input.read(data);
String string = new String(data, 0, length);
String[] point = string.