Java五子棋 源代码.doc
上传人:qw****27 上传时间:2024-09-11 格式:DOC 页数:10 大小:321KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Java五子棋 源代码.doc

Java五子棋源代码.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一、实践目标:1.掌握HYPERLINK"http://mxcyk.com/?tag=Java"JavaGHYPERLINK"http://mxcyk.com/?tag=UI"UI界面设计2.掌握鼠标响应事件(MouseMotionListener)二、实践内容:设计一个简单的HYPERLINK"http://mxcyk.com/?tag=五子棋"五子棋程序,能够实现五子棋下棋过程。如下图所示1.五子棋棋盘类HYPERLINK"http://mxcyk.com/?post=162"部分源代码如下:项目全部源代码http://mxcyk.com/?post=162packagecn.edu.ouc.fiveChess;HYPERLINK"http://mxcyk.com/?post=162"importjava.awt.Color;importjava.awt.Cursor;importjava.awt.Dimension;importjava.awt.Graphics;importjava.awt.Graphics2D;importjava.awt.Image;importjava.awt.RadialGradientPaint;importjava.awt.RenderingHints;importjava.awt.Toolkit;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjava.awt.event.MouseMotionListener;importjava.awt.geom.Ellipse2D;importjavax.swing.*;/***五子棋--棋盘类*/publicclassChessBoardextendsHYPERLINK"http://mxcyk.com/?tag=JPanel"JPanelimplementsMouseListener{publicstaticfinalintMARGIN=30;//边距publicstaticfinalintGRID_SPAN=35;//网格间距publicstaticfinalintROWS=15;//棋盘行数publicstaticfinalintCOLS=15;//棋盘列数Point[]chessList=newPoint[(ROWS+1)*(COLS+1)];//初始每个数组元素为nullbooleanisBlack=true;//默认开始是黑棋先booleangameOver=false;//游戏是否结束intchessCount;//当前棋盘棋子的个数intxIndex,yIndex;//当前刚下棋子的索引Imageimg;Imageshadows;Colorcolortemp;publicChessBoard(){//setBackground(Color.blue);//设置背景色为橘黄色img=Toolkit.getDefaultToolkit().getImage("board.jpg");shadows=Toolkit.getDefaultToolkit().getImage("shadows.jpg");addMouseListener(this);addMouseMotionListener(newMouseMotionListener(){publicvoidmouseDragged(MouseEvente){}publicvoidmouseMoved(MouseEvente){intx1=(e.getX()-MARGIN+GRID_SPAN/2)/GRID_SPAN;//将鼠标点击的坐标位置转成网格索引inty1=(e.getY()-MARGIN+GRID_SPAN/2)/GRID_SPAN;//游戏已经结束不能下//落在棋盘外不能下//x,y位置已经有棋子存在,不能下if(x1<0||x1>ROWS||y1<0||y1>COLS||gameOver||findChess(x1,y1))setCursor(newCursor(Cursor.DEFAULT_CURSOR));//设置成默认状态elsesetCursor(newCursor(Cursor.HAND_CURSOR));}});}//绘制publicvoidpaintComponent(Graphicsg){super.paintComponent(g);//画棋盘intimgWidth=