ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:33.27KB ,
资源ID:11209433      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11209433.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java五子棋小程序.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java五子棋小程序.docx

1、java五子棋小程序Java五子棋小程序简介:Java五子棋小程序,送给Java初学者学习提高兴趣与学习所用,希望能给大家带来一些帮助。此程序用Java语言编写,采用swing技术开发界面,采用触发模式进行键盘事件监听,原本设计与台式机全键盘使用,所以白棋选手落子采用数字键盘0键,经过本人改进后,也可使用/键进行落子。如出现运行后无图案现象,请双击标题栏最大化后方可出现图案,然后再还原。最后感谢大家支持!1.程序运行效果2.Myeclipse根目录3.所有应用图片1)black.png 2)white.png 3)space.gif 4)num0.gif 5)red.png 6)mbi_use

2、r.gif 7)mbi_D.gif 8)mbi_L.gif 9)mbi_R.gif 10)mbi_U.gif 11)qipan.jpg 4.所有类1)运行类package ;public class RunGame /* * param args */ public static void main(String args) new Game(); 程序运行); 2)主程序类package ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import

3、 ;import ;import ;import ;import ;import ;public class Game extends JFrame implements KeyListener, ActionListener private JPanel mainPanel = null; private JLabel baizi = null; private JLabel heizi = null; private MyLabel biankuang = null; private Position pos = null; private JLabel user = null; priv

4、ate JPanel rightPanel = null; private JLabel hei, heiU, heiD, heiL, heiR, heiC; private JLabel bai, baiU, baiD, baiL, baiR, baiC; private JLabel timeL, time;/显示 时间 private Timer timer; private int mnt = 0, scd = 0;/分、秒 private JMenuBar menuBar; private JMenu menuE, menuH; private JMenuItem menuItemC

5、Z; /* * 初始化主视窗 * */ private void InitLabel() Container con = this.getContentPane(); con.setLayout(null); this.mainPanel = new MainPanel(); , 0, 609, 608); ; con.add(this.mainPanel); this.rightPanel = new JPanel(); , 0, 180, 608); ; ; con.add(this.rightPanel); this.user = new JLabel(new ImageIcon(./i

6、mg/mbi_user.gif); , 25, 40, 40); ; /* * 初始化所有点 * 给每个点上都放置一个黑子、一个白子,设置棋子为不可见 */ this.pos = new Position1313; this.heizi = new JLabel1313; this.baizi = new JLabel1313; for (int i = 0; i 13; i+) for (int j = 0; j = 60) scd = 0; mnt+; String str = ; if(mnt 10) str = 0 + mnt + :; else str = mnt + :; if(s

7、cd 10) str = str + 0 + scd; else str = str +scd; time.setText(str); ; this.timer = new Timer(1000, keepTime); ; / 菜单初始化 private void initMenu() this.menuBar = new JMenuBar(); this.menuE = new JMenu(菜单(E); this.menuH = new JMenu(帮助(H); this.menuItemCZ = new JMenuItem(重置); , InputEvent.CTRL_MASK); ; ;

8、 ; ; setJMenuBar(this.menuBar); /* * 当从键盘得到响应时改变边框位置 * */ private void setBiankuang() + 36 * , 64 + 36 * ; /* * 重新初始化,隐藏所有棋子,所有位置状态清零,边框回到原来位置 * */ private void initAll() this.mnt = 0; this.scd = 0; for (int i = 0; i 13; i+) for (int j = 0; j 13; j+) posij.setLabel_Status(0); this.heiziij.setVisible

9、(false); this.baiziij.setVisible(false); , 280, 45, 45); ; /边框初始化 , 25); ;/重新开始计时 /* * 胜利显示 * */ private void showOver() ; if( = 1) JOptionPane.showMessageDialog(this, 黑方获胜!); else if( = 2) JOptionPane.showMessageDialog(this, 白方获胜!); int flag = JOptionPane.showConfirmDialog(this, 再来一局吧!, 消息, JOption

10、Pane.YES_NO_OPTION); if(flag = JOptionPane.YES_OPTION) this.initAll(); else this.dispose(); /* * 判断游戏是否结束 * param x 当前落子x坐标 * param y 当前落子y坐标 */ private void gameOver(int x, int y) int staNum = 0; /* * 向右下方检查是否形成五连子 */ for (int i = x - 4, j = y - 4; i = 0 & i = 0 & j = 12) if(this.posij.getLabel_Sta

11、tus() = staNum+; staNum = + staNum); if(staNum = 5) this.showOver();/ ;/ if(this.posij.getLabel_Status() = 1) / JOptionPane.showMessageDialog(this, 黑方获胜!);/ 黑子获胜!);/ / if(this.posij.getLabel_Status() = 2) / JOptionPane.showMessageDialog(this, 白方获胜!);/ 白子获胜!);/ else staNum = 0; /* * 向右方检查是否形成五连子 */ f

12、or (int i = x - 4, j = y ; i = 0 & i = 0 & j = 12) if(this.posij.getLabel_Status() = staNum+; staNum = + staNum); if(staNum = 5) this.showOver();/ ;/ if(this.posij.getLabel_Status() = 1) / JOptionPane.showMessageDialog(this, 黑方获胜!);/ 黑子获胜!);/ / if(this.posij.getLabel_Status() = 2) / JOptionPane.show

13、MessageDialog(this, 白方获胜!);/ 白子获胜!);/ else staNum = 0; /* * 向右上方检查是否形成五连子 */ for (int i = x - 4, j = y + 4; i = 0 & i = 0 & j = 12) if(this.posij.getLabel_Status() = staNum+; staNum = + staNum); if(staNum = 5) this.showOver();/ ;/ if(this.posij.getLabel_Status() = 1) / JOptionPane.showMessageDialog(

14、this, 黑方获胜!);/ 黑子获胜!);/ / if(this.posij.getLabel_Status() = 2) / JOptionPane.showMessageDialog(this, 白方获胜!);/ 白子获胜!);/ else staNum = 0; /* * 向下方检查是否形成五连子 */ for (int i = x, j = y - 4 ; j = 0 & i = 0 & j 0) ; this.setBiankuang(); break; case KeyEvent.VK_S: if( 0) ; this.setBiankuang(); break; case Ke

15、yEvent.VK_D: if( 0) ; this.setBiankuang(); break; case KeyEvent.VK_DOWN: if( 0) ; this.setBiankuang(); break; case KeyEvent.VK_RIGHT: if( 12) ; this.setBiankuang(); break; case KeyEvent.VK_NUMPAD0: if(this.pos = 0) this.baizi; this.repaint(); this.pos; this.gameOver(, ; ; , 25); break; case KeyEvent.VK_SLASH: if(this.pos = 0) this.baizi; this.repaint(); this.pos; this.gameOver(, ; ; , 25); break; default: break; public void keyReleased(KeyE

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1