资源简介
使用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
相关资源
- jaf-1_1_1.zip
- 《Java基础入门》_课后习题答案
- Java 汉诺塔_Hannoi GUI 可视化_图形用户
- 西安软件公司java笔试题
- Java解析fsn文件
- 会议室预定系统的Java实现
- jsp+web+简单学生管理系统+mysql
- JAVA实现的网络白板
- Java 画图板基本图形、撤销、清空、重
- java爬虫完整代码
- java mrp算法实现
- SuperVCD纯JAVA编程
- Java汪文君高并发编程.txt
- 汪文君Java8新特性及实战视频教程完整
- 用java写的多线程聊天程序GUI界面soc
- java课程设计系列之魔板游戏.rar
- java用servlet实现文件上传到数据库
- JAVA贪吃蛇源代码
- java绘图程序代码
- java 一笔画问题
- Java私塾——模拟银行系统源代码
- java核心技术卷1源码 第10版
- ford-fulkerson算法求网络最大流(java实
- 匈牙利算法java实现
- java游戏毕业设计之基于java的五子棋
- 文件校验和源码
- javaSE Tutorial中文版
- JAVA双缓冲绘图源码
- java获取系统信息cpu,内存,硬盘方法
- 2020 兴业数金Java笔试题.docx
评论
共有 条评论