資源簡介
學(xué)校課程設(shè)計想搞個圍棋的,搜了很久,最后決定用這個,是由五子棋的代碼改了一下,加入了搜集的吃子代碼,本想通過數(shù)子的方式使其具有判斷輸贏的功能,但是還是失敗了,不過此程序能基本實現(xiàn)圍棋的落子吃子功能,能聯(lián)機進行對弈,也算有個客戶端和服務(wù)端吧。
代碼片段和文件信息
package?wuziqi1;
import?java.awt.Color;
import?java.awt.Graphics;
import?java.awt.Image;
import?java.awt.Point;
import?java.awt.TextField;
import?java.awt.Toolkit;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.awt.event.MouseEvent;
import?java.awt.event.MouseListener;
import?java.io.File;
import?java.io.IOException;
import?java.io.InputStream;
import?java.io.OutputStream;
import?java.net.BindException;
import?java.net.ServerSocket;
import?java.net.Socket;
import?javax.imageio.ImageIO;
import?javax.swing.Jframe;
import?javax.swing.JMenu;
import?javax.swing.JMenuBar;
import?javax.swing.JMenuItem;
import?javax.swing.JOptionPane;
import?javax.swing.JPanel;
import?org.omg.CORBA.PRIVATE_MEMBER;
public?class?weiqi?extends?Jframe
{
private?JPanel?jPanel;
private?Image?image;
private?int?i=0;
private?int?count=0;
private?byte[][]?chess?=new?byte[19][19];
private?int[]?block;
private?int?blockLength;
?int?acountblack=0;
?int?acountwhite=0;
private?boolean?ischessed=false;
private?boolean?isyouturn=false;
private?byte?color=0;
private?byte[]?lastchess=new?byte[2];
public?weiqi()
{
this.settitle(“圍棋游戲“);
this.setSize(650?700);//getDefaultToolkit獲取默認工具包
int?x?=Toolkit.getDefaultToolkit().getScreenSize().width;//getScreenSize獲取屏幕的大小。
int?y?=?Toolkit.getDefaultToolkit().getScreenSize().height;
this.setLocation((x-700)/2?(y-750)/2);
this.setResizable(false);
this.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
JMenuBar?bar?=new?JMenuBar();
JMenu?game?=new?JMenu(“游戲“);
JMenu?help?=new?JMenu(“幫助“);
JMenuItem?lianjie?=?new?JMenuItem(“連接主機“);
JMenuItem?jianli?=?new?JMenuItem(“建立主機“);
JMenuItem?guanyu?=?new?JMenuItem(“關(guān)于游戲“);
JMenuItem?tuichu=?new?JMenuItem(“退出游戲“);
tuichu.addActionListener(new?ActionListener()?{
@Override//這個句話下邊的方法是繼承父類的方法,對其覆蓋
public?void?actionPerformed(ActionEvent?e)?{
int?i=JOptionPane.showConfirmDialog(weiqi.this?“您確定要退出游戲嗎?“);
if(i==0){
System.exit(0);
}
}
});
guanyu.addActionListener(new?ActionListener()
{
@Override
public?void?actionPerformed(ActionEvent?e)
{
//?TODO?Auto-generated?method?stub
JOptionPane.showConfirmDialog(weiqi.this?“聯(lián)機版五子棋游戲--單機任意按鈕回到游戲“);
}
});
jianli.addActionListener(new?ActionListener()
{
@Override
public?void?actionPerformed(ActionEvent?arg0)
{
//?TODO?Auto-generated?method?stub
new?server().start();
}
});
lianjie.addActionListener(new?ActionListener()
{
@Override
public?void?actionPerformed(ActionEvent?e)?
{
//?TODO?Auto-generated?method?stub
new?client().start();
}
});
game.add(tuichu);
game.add(jianli);
game.add(lianjie);
help.add(guanyu);
bar.add(game);
bar.add(help);
jPanel?=new?JPanel();
this.add(jPanel);
this.setJMenuBar(bar);
try?
評論
共有 條評論