⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java.txt

📁 网络五子棋要求对弈双方属于同一网络中的不同计算机
💻 TXT
📖 第 1 页 / 共 3 页
字号:

class userPad extends Panel 
{ 
List userList=new List(10); 

userPad() 
{ 
setLayout(new BorderLayout()); 

for(int i=0;i<50;i++) 
{ 
userList.add(i+"."+"没有用户"); 
} 
add(userList,BorderLayout.CENTER); 

} 

} 

class chatPad extends Panel 
{ 
TextArea chatLineArea=new TextArea("",18,30,TextArea.SCROLLBARS_VERTICAL_ONLY); 

chatPad() 
{ 
setLayout(new BorderLayout()); 

add(chatLineArea,BorderLayout.CENTER); 
} 

} 



class controlPad extends Panel 
{ 
Label IPlabel=new Label("IP",Label.LEFT); 
TextField inputIP=new TextField("localhost",10); 
Button connectButton=new Button("连接主机"); 
Button creatGameButton=new Button("建立游戏"); 
Button joinGameButton=new Button("加入游戏"); 
Button cancelGameButton=new Button("放弃游戏"); 
Button exitGameButton=new Button("关闭程序"); 

controlPad() 
{ 
setLayout(new FlowLayout(FlowLayout.LEFT)); 
setBackground(Color.pink); 

add(IPlabel); 
add(inputIP); 
add(connectButton); 
add(creatGameButton); 
add(joinGameButton); 
add(cancelGameButton); 
add(exitGameButton); 
} 

} 

class inputPad extends Panel 
{ 
TextField inputWords=new TextField("",40); 
Choice userChoice=new Choice(); 

inputPad() 
{ 
setLayout(new FlowLayout(FlowLayout.LEFT)); 
for(int i=0;i<50;i++) 
{ 
userChoice.addItem(i+"."+"没有用户"); 
} 
userChoice.setSize(60,24); 
add(userChoice); 
add(inputWords); 
} 
} 



/********************************************************************************************** 
下面是:chessPad.java 
**********************************************************************************************/ 
import java.awt.*; 
import java.awt.event.*; 
import java.io.*; 
import java.net.*; 
import java.util.*; 

class chessThread extends Thread 
{ 
chessPad chesspad; 

chessThread(chessPad chesspad) 
{ 
this.chesspad=chesspad; 
} 

public void sendMessage(String sndMessage) 
{ 
try 
{ 
chesspad.outData.writeUTF(sndMessage); 
} 
catch(Exception ea) 
{ 
System.out.println("chessThread.sendMessage:"+ea); 
} 
} 


public void acceptMessage(String recMessage) 
{ 
if(recMessage.startsWith("/chess ")) 
{ 
StringTokenizer userToken=new StringTokenizer(recMessage," "); 
String chessToken; 
String[] chessOpt={"-1","-1","0"}; 
int chessOptNum=0; 

while(userToken.hasMoreTokens()) 
{ 
chessToken=(String)userToken.nextToken(" "); 
if(chessOptNum>=1 && chessOptNum<=3) 
{ 
chessOpt[chessOptNum-1]=chessToken; 

} 
chessOptNum++; 
} 
chesspad.netChessPaint(Integer.parseInt(chessOpt[0]),Integer.parseInt(chessOpt[1]),Integer.parseInt(chessOpt[2])); 

} 
else if(recMessage.startsWith("/yourname ")) 
{ 
chesspad.chessSelfName=recMessage.substring(10); 
} 
else if(recMessage.equals("/error")) 
{ 
chesspad.statusText.setText("错误:没有这个用户,请退出程序,重新加入"); 
} 
else 
{ 
//System.out.println(recMessage); 
} 
} 


public void run() 
{ 
String message=""; 
try 
{ 
while(true) 
{ 
message=chesspad.inData.readUTF(); 
acceptMessage(message); 
} 
} 
catch(IOException es) 
{ 
} 
} 

} 




class chessPad extends Panel implements MouseListener,ActionListener 
{ 
int chessPoint_x=-1,chessPoint_y=-1,chessColor=1; 
int chessBlack_x[]=new int[200]; 
int chessBlack_y[]=new int[200]; 
int chessWhite_x[]=new int[200]; 
int chessWhite_y[]=new int[200]; 
int chessBlackCount=0,chessWhiteCount=0; 
int chessBlackWin=0,chessWhiteWin=0; 
boolean isMouseEnabled=false,isWin=false,isInGame=false; 
TextField statusText=new TextField("请先连接服务器"); 

Socket chessSocket; 
DataInputStream inData; 
DataOutputStream outData; 

String chessSelfName=null; 
String chessPeerName=null; 
String host=null; 
int port=4331; 
chessThread chessthread=new chessThread(this); 

chessPad() 
{ 
setSize(440,440); 
setLayout(null); 
setBackground(Color.pink); 
addMouseListener(this); 
add(statusText); 
statusText.setBounds(40,5,360,24); 
statusText.setEditable(false); 
} 


public boolean connectServer(String ServerIP,int ServerPort) throws Exception 
{ 
try 
{ 
chessSocket=new Socket(ServerIP,ServerPort); 
inData=new DataInputStream(chessSocket.getInputStream()); 
outData=new DataOutputStream(chessSocket.getOutputStream()); 
chessthread.start(); 
return true; 
} 
catch(IOException ex) 
{ 
statusText.setText("chessPad:connectServer:无法连接 \n"); 
} 
return false; 
} 


public void chessVictory(int chessColorWin) 
{ 
this.removeAll(); 
for(int i=0;i<=chessBlackCount;i++) 
{ 
chessBlack_x[i]=0; 
chessBlack_y[i]=0; 
} 
for(int i=0;i<=chessWhiteCount;i++) 
{ 
chessWhite_x[i]=0; 
chessWhite_y[i]=0; 
} 
chessBlackCount=0; 
chessWhiteCount=0; 
add(statusText); 
statusText.setBounds(40,5,360,24); 

if(chessColorWin==1) 
{ chessBlackWin++; 
statusText.setText("黑棋胜,黑:白为"+chessBlackWin+":"+chessWhiteWin+",重新开局,等待白棋下子..."); 
} 
else if(chessColorWin==-1) 
{ 
chessWhiteWin++; 
statusText.setText("白棋胜,黑:白为"+chessBlackWin+":"+chessWhiteWin+",重新开局,等待黑棋下子..."); 
} 
} 



public void getLocation(int a,int b,int color) 
{ 

if(color==1) 
{ 
chessBlack_x[chessBlackCount]=a*20; 
chessBlack_y[chessBlackCount]=b*20; 
chessBlackCount++; 
} 
else if(color==-1) 
{ 
chessWhite_x[chessWhiteCount]=a*20; 
chessWhite_y[chessWhiteCount]=b*20; 
chessWhiteCount++; 
} 
} 


public boolean checkWin(int a,int b,int checkColor) 
{ 
int step=1,chessLink=1,chessLinkTest=1,chessCompare=0; 
if(checkColor==1) 
{ 
chessLink=1; 
for(step=1;step<=4;step++) 
{ 
for(chessCompare=0;chessCompare<=chessBlackCount;chessCompare++) 
{ 
if(((a+step)*20==chessBlack_x[chessCompare]) && ((b*20)==chessBlack_y[chessCompare])) 
{ 
chessLink=chessLink+1; 
if(chessLink==5) 
{ 
return(true); 
} 
} 
} 
if(chessLink==(chessLinkTest+1)) 
chessLinkTest++; 
else 
break; 
} 
for(step=1;step<=4;step++) 
{ 
for(chessCompare=0;chessCompare<=chessBlackCount;chessCompare++) 
{ 
if(((a-step)*20==chessBlack_x[chessCompare]) && (b*20==chessBlack_y[chessCompare])) 
{ 
chessLink++; 
if(chessLink==5) 
{ 
return(true); 
} 
} 
} 
if(chessLink==(chessLinkTest+1)) 
chessLinkTest++; 
else 
break; 
} 
chessLink=1; 
chessLinkTest=1; 
for(step=1;step<=4;step++) 
{ 
for(chessCompare=0;chessCompare<=chessBlackCount;chessCompare++) 
{ 
if((a*20==chessBlack_x[chessCompare]) && ((b+step)*20==chessBlack_y[chessCompare])) 
{ 
chessLink++; 
if(chessLink==5) 
{ 
return(true); 
} 
} 
} 
if(chessLink==(chessLinkTest+1)) 
chessLinkTest++; 
else 
break; 
} 
for(step=1;step<=4;step++) 
{ 
for(chessCompare=0;chessCompare<=chessBlackCount;chessCompare++) 
{ 
if((a*20==chessBlack_x[chessCompare]) && ((b-step)*20==chessBlack_y[chessCompare])) 
{ 
chessLink++; 
if(chessLink==5) 
{ 
return(true); 
} 
} 
} 
if(chessLink==(chessLinkTest+1)) 
chessLinkTest++; 
else 
break; 
} 
chessLink=1; 
chessLinkTest=1; 
for(step=1;step<=4;step++) 
{ 
for(chessCompare=0;chessCompare<=chessBlackCount;chessCompare++) 
{ 
if(((a-step)*20==chessBlack_x[chessCompare]) && ((b+step)*20==chessBlack_y[chessCompare])) 
{ 
chessLink++; 
if(chessLink==5) 
{ 
return(true); 
} 
} 
} 
if(chessLink==(chessLinkTest+1)) 
chessLinkTest++; 
else 
break; 
} 
for(step=1;step<=4;step++) 
{ 
for(chessCompare=0;chessCompare<=chessBlackCount;chessCompare++) 
{ 
if(((a+step)*20==chessBlack_x[chessCompare]) && ((b-step)*20==chessBlack_y[chessCompare])) 
{ 
chessLink++; 
if(chessLink==5) 
{ 
return(true); 
} 
} 
} 
if(chessLink==(chessLinkTest+1)) 
chessLinkTest++; 
else 
break; 
} 
chessLink=1; 
chessLinkTest=1; 
for(step=1;step<=4;step++) 
{ 
for(chessCompare=0;chessCompare<=chessBlackCount;chessCompare++) 
{ 
if(((a+step)*20==chessBlack_x[chessCompare]) && ((b+step)*20==chessBlack_y[chessCompare])) 
{ 
chessLink++; 
if(chessLink==5) 
{ 
return(true); 
} 
} 
} 
if(chessLink==(chessLinkTest+1)) 
chessLinkTest++; 
else 
break; 
} 
for(step=1;step<=4;step++) 
{ 
for(chessCompare=0;chessCompare<=chessBlackCount;chessCompare++) 
{ 
if(((a-step)*20==chessBlack_x[chessCompare]) && ((b-step)*20==chessBlack_y[chessCompare])) 
{ 
chessLink++; 
if(chessLink==5) 
{ 
return(true); 
} 
} 








--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
import   java.applet.Applet;   
  import   java.applet.AudioClip;   
  import   java.awt.*;   
  import   java.net.MalformedURLException;   
  import   java.net.URL;   
  import   java.util.Random;   
    
  public   class   wzq   extends   Applet   
          implements   Runnable   
  {   
    
          int   GRIDWIDTH;   
          int   GRIDSUM;   
          byte   QiPan[][];   
          int   oAdd[][];   
          Thread   LoopThread;   
          int   scHong;   
          int   scHei;   
          byte   who;   
          byte   winner;   
          boolean   playing;   
          boolean   playerdo;   
          CXY   xy;   
          CXiaZi   xiazi;   
          String   Status;   
          Random   rd;   
          int   passes;   
          int   steps;   
          int   LoseTimes;   
          CXY   recLU;   
          CXY   recRD;   
          int   PosAdd[][];   
          int   level;   
          int   EnterTimes;   
          int   CalcTimes;   
          Image   image_you;   
          Image   image_phone;   
          AudioClip   ac_you;   
          AudioClip   ac_phone;   
          boolean   haveWin;   
    
          public   wzq()   
          {   
                  haveWin   =   false;   
                  GRIDWIDTH   =   14;   
                  GRIDSUM   =   15;   
                  QiPan   =   new   byte[GRIDSUM][GRIDSUM];   
                  oAdd   =   new   int[8][2];   
                  playing   =   false;   
                  playerdo   =   true;   
                  xy   =   new   CXY();   
                  xiazi   =   new   CXiaZi();   
                  rd   =   new   Random();   
                  recLU   =   new   CXY();   
                  recRD   =   new   CXY();   
                  PosAdd   =   new   int[4][4];   
          }   
    
          private   int   CPUDo(CXY   cxy,   byte   byte0)   
          {   
                  int   ai[]   =   new   int[2];   
                  int   ai1[]   =   new   int[2];   
                  int   ai2[]   =   new   int[2];   
                  boolean   flag   =   false;   
                  EnterTimes++;   
                  ai2[0]   =   0;   
                  for(int   i   =   recLU.x;   i   <=   recRD.x;   i++)   
                  {   
                          for(int   j   =   recLU.y;   j   <=   recRD.y;   j++)   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -