资源简介
使用java编写的网络五子棋(非原创),好东西共分享

代码片段和文件信息
import java.awt.*;
import java.net.*;
import java.io.*;
import java.util.*;
import java.awt.event.*;
import java.awt.geom.*;
class OmokBoard extends Canvas{
public static final int BLACK=1 WHITE=-1;
private int[][] map;
private int size cell;
private String info=“游戏终止“;
private int color=BLACK;
private boolean enable=false;
private boolean running=false;
private PrintWriter writer;
private Graphics gboard gbuff;
private Image buff;
OmokBoard(int s int c){
this.size=s;this.cell=c;
map=new int[size+2][];
for(int i=0;i map[i]=new int[size+2];
setBackground(new Color(200200100));
setSize(size*(cell+1)+size size*(cell+1)+size);
addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent me){
if(!enable)return;
int x=(int)Math.round(me.getX()/(double)cell);
int y=(int)Math.round(me.getY()/(double)cell);
if(x==0 || y==0 || x==size+1 || y==size+1)return;
if(map[x][y]==BLACK || map[x][y]==WHITE)return;
writer.println(“[STONE]“+x+“ “+y);
map[x][y]=color;
if(check(new Point(x y) color)){
info=“获胜.“;
writer.println(“[WIN]“);
}
else info=“等待对方落子.“;
repaint();
enable=false;
}
});
}
public boolean isRunning(){
return running;
}
public void startGame(String col){
running=true;
if(col.equals(“BLACK“)){
enable=true; color=BLACK;
info=“开始游戏...请落子.“;
}
else{
enable=false; color=WHITE;
info=“开始游戏...请等待.“;
}
}
public void stopGame(){
reset();
writer.println(“[STOPGAME]“);
enable=false;
running=false;
}
public void putOpponent(int x int y){
map[x][y]=-color;
info=“对方已落子.请落子.“;
repaint();
}
public void setEnable(boolean enable){
this.enable=enable;
}
public void setWriter(PrintWriter writer){
this.writer=writer;
}
public void update(Graphics g){
paint(g);
}
public void paint(Graphics g){
if(gbuff==null){
buff=createImage(getWidth()getHeight());
gbuff=buff.getGraphics();
}
drawBoard(g);
}
public void reset(){
for(int i=0;i for(int j=0;j map[i][j]=0;
info=“游戏终止“;
repaint();
}
private void drawLine(){
gbuff.setColor(Color.black);
for(int i=1; i<=size;i++){
gbuff.drawLine(cell i*cell cell*size i*cell);
gbuff.drawLine(i*cell cell i*cell cell*size);
}
}
private void drawBlack(int x int y){
Graphics2D gbuff=(Graphics2D)this.gbuff;
gbuff.setColor(Color.black);
gbuff.fillOval(x*cell-cell/2 y*cell-cell/2 cell cell);
gbuff.setColor(Color.white);
gbuff.drawOval(x*cell-cell/2 y*cell-cell/2 cell cell);
}
private void drawWhite(int x int y){
gbuff.setColor(Color.white
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2009-06-18 13:19 网络五子棋
文件 5426 2009-06-18 13:20 网络五子棋\OmokServer.java
文件 3547 2009-06-18 13:21 网络五子棋\OmokServer$Omok_Thread.class
文件 2187 2009-06-18 13:21 网络五子棋\OmokServer$BManager.class
文件 1698 2009-06-18 13:21 网络五子棋\OmokServer.class
文件 12446 2009-06-18 13:23 网络五子棋\OmokClient.java
文件 1619 2009-06-18 13:23 网络五子棋\OmokBoard$1.class
文件 4761 2009-06-18 13:23 网络五子棋\OmokBoard.class
文件 468 2009-06-18 13:23 网络五子棋\OmokClient$1.class
文件 8068 2009-06-18 13:23 网络五子棋\OmokClient.class
----------- --------- ---------- ----- ----
40220 10
- 上一篇:简单的拳皇源代码
- 下一篇:jaf-1_1_1.zip
相关资源
- java图片浏览器跨平台运行程序与源码
- 基于java的在线考试系统-毕业设计
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
评论
共有 条评论