首页 | 手机版 | 三国演义 | 三国志 | 史将 | 背景 | 藏书阁
首页 -> 精彩文章 -> java心路历程---五子棋小程序的总结

java心路历程---五子棋小程序的总结

作者xpmars 标签java 五子棋 心路历程 阅读次数:103

    必须要总结一下前段时间的参照MLDN的五子棋小程序的开发了

    

    所用的Swing的知识:

  •         JFrame容器的一系列方法.
  •         JOptionPane面板的一系列组建(JOptionPane.showMessageDialog()消息弹出对话框、JOptionPane.showConfigDialog()确认对话框、JOption.showInputDialog()输入框。。。等等)、鼠标的监听.
  •         MouseListener()以及添加鼠标监听的方法,this.addMouseListener(this),用来获得鼠标的点击坐标e.getX(),e.getY()等方法.
  •         Graphics的相关绘图方法及组件用以在窗口容器中绘制图像和文字.

   

    五子棋小游戏的功能分析:

  •     点击鼠标,可在相应的位置显示棋子
  •     判断游戏是否结束,哪方获胜
  •     进行游戏时间的设置,判断是否超过规定的时间

    开发步骤概要:

  •     首先开发出界面:创建FiveChessFrame.java ,界面棋盘采用18*18的标准,每格20像素。
  •     然后,完成下棋功能,点击鼠标可以落子需要添加鼠标监听的功能;完成保存之前下过的棋子功能和黑白方轮流下棋的功能。可以通过一个二维数组int[19][19],点击鼠标往数组中插入1或者2,1代表黑,2代表白,初始化为0,代表没有棋子。并在绘图区绘制棋子。产生一个repain()的方法
  •     再就是判断游戏的胜负:向周围八个方向判断二维数组的值,然后将此功能整合成一个总的方法。
  •     接下来是需要显示游戏的信息 message 添加button组件的功能
  •     下一步是处理屏幕闪烁的问题:通过双缓冲技术BufferedImage类的实现。BufferedImage bi = new BufferedImage(500,500,BufferedImage.Type_INT_ARGB)这个方法在内存中成像。在新建一个画笔g2 = bi.createGraphics(),然后把g2加到g上,显示在组件窗体中。
  •     然后是实现几个按钮的功能,很简单
  •     最后是实现倒计时的功能,这里需要用到多线程,实现Runnable接口,通过sleep方法和用标志位的方法实现黑白棋时间的同步。

    心得:熟悉了Swing的编程,体会到多线程的重要性,并且希望抽个时间用良好的设计模式来改写这个小程序。



浙ICP备06020153号-1