• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Java
  • 标签: java  连连看  

资源简介

通过TCP实现连连看游戏的网络实时对战,连连看图标通过矩阵形式传递

资源截图

代码片段和文件信息

package 网络;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class LKServer {
int [][] m1;
int [][] m2;
public boolean judg1=false;
public boolean judg2=false;
public boolean alive=true;
DataInputStream dis;
DataOutputStream dos;
DataInputStream dis1;
DataOutputStream dos1 ;
boolean win =false;
public void start(){
int x=0;
int y=0;
int i=0;
int player=0;
m1 = new int [4][5];
m2= new int [4][5];

Socket s1 =null;
Socket s2 =null;
ServerSocket ss=null;

   try{
    ss=new ServerSocket(22222);

   }catch(IOException e){
   e.printStackTrace();
   }
   //while(true){
   while(true){
   alive=true;
   try{
    s1 = ss.accept();
    System.out.println(“玩家一连接成功“);
   dis = new DataInputStream(s1.getInputStream());

   int time =dis.readInt();
   player++;
   dos = new DataOutputStream(s1.getOutputStream());
   i++;
    s2 = ss.accept();
    System.out.println(“玩家二连接成功“);
   dis1 = new DataInputStream(s2.getInputStream());

   int time1 =dis1.readInt();
   player++;
   System.out.println(“玩家2所用时间:“+y+ “s“);

   dos1 = new DataOutputStream(s2.getOutputStream());
   dos.writeInt(10);
   dos1.writeInt(10);
   new Thread(new UDPRecvThread()).start();
   
   

   }catch(IOException e){
   e.printStackTrace();
   }
   }
   
}

private class UDPRecvThread implements Runnable{
public void run(){
       while(alive){
     judg1=true;
     judg2=true;
   try {
   
    for(int i=1;i<5;i++){
   for(int j=1;j<6;j++){
   m1[i-1][j-1]=dis.readInt();                            
   m2[i-1][j-1]=dis1.readInt();
   }
   }
   for(int i=1;i<5;i++){
   for(int j=1;j<6;j++){
  if(m1[i-1][j-1]!=0){
  judg1=false;
  //alive=false;
  }
  if(m2[i-1][j-1]!=0)
  judg2=false;
  //alive =false;
   }
   }

    for(int i=1;i<5;i++){
   for(int j=1;j<6;j++){
                           dos.writeInt(m2[i-1][j-1]);
                           dos1.writeInt(m1[i-1][j-1]);
   }
   }
    if(judg1==true||judg2==true){
     alive=false;
     //dos.writeInt(0);
    return;
    }
System.out.println(“a packet received from server“);
} catch (IOException e) {
e.printStackTrace();
}
   
try{
Thread.sleep(500);
}catch(InterruptedException e){
e.printStackTrace();
}
   
   }

}

}
   public static void main(String[] args){
         new LKServer().start();
   }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2709  2018-06-19 10:39  Java连连看网络实时对战\LKServer.java

     文件       2558  2018-06-19 10:39  Java连连看网络实时对战\PvPGame.java

     目录          0  2018-06-22 01:21  Java连连看网络实时对战

----------- ---------  ---------- -----  ----

                 5267                    3


评论

共有 条评论