資源簡介
使用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
評論
共有 條評論