画图板和五子棋的简单练习j将

 刚刚开始做项目,首先学会的是画图板和五子棋。

下面分别讲述一下我的心得

(1)画图板 


     做成的效果图:



第一个方面   :  做这个项目时,我学会了将一个类似的东西抽象出来,尽可能分解,比如将这个画图板分为三个部分,左边工具面板,下边颜色面板,中间画图区。然后设计一个主函数类,在里面直接调用showUI()的方法,然后还有一个窗口类,这里面设置了窗口的基本属性,监听,添加这些面板等操作。这是抽象出来的几个部分。

第二   :当然还有一个抽象出来的shapeList类,以及一个Shape接口,这个主要存放画图的图形,保证重绘,拖动窗口大小不会使图像消失。

第三:在设置工具的时候学会如何将图像加到窗口上,还有对这些东西的布局摆放也有了认识。

第四:就是实现这些工具和改变颜色的功能实现,直线:拖动的时候画直线,矩形:选择点击的最小x,y画图 ,喷枪:再点击点的周围随机设置一些坐标,然后随机画点。其实我觉得最难得就是多边形,他需要首先保存开始点下的那个点,然后在点击的时候画直线,最后要封闭的时候双击,然后和第一个点构成封闭图像,

第五:实现撤销操作,要保存下来shape,然后撤销的时候撤销shapelist里面最后一个


(2)五子棋


五子棋相对来说设计比较简单

第一:图形界面分为左右两个Panel,左边作为棋盘,右边作为按钮部分

第二:在左边画棋格,添加棋子图片,添加显示位置的图像,我觉得就是计算一下坐标,然后根据点击的位置,放置棋子

第三,实现判断输赢的操作,横向,纵向,斜上,斜下,四个方向,最后一次放置棋子以后,判断是否构成五个相同的棋子的颜色,从而判断输赢

第四:实现右边按钮的功能,开始:通过设置一个标志量,控制是否开始。悔棋:通过添加一个List类保存每次放置棋子的位置,当点击悔棋的时候,撤销最后一颗棋子,并改变棋子的颜色。音乐:通过文件流添加一个音乐文件,然后通过一个音频流,将之前的文件流输入进来,变成音频流,然后通过调用

FileInputStream fileau2 = new FileInputStream("3.wav");
// 文件输入流包装成AudioStream
as2 = new AudioStream(fileau2);
// 使用AudioPlayer.player

                                        对象进行播放与暂停

                                       AudioPlayer.player.start(as2);   / AudioPlayer.player.stop(aas);

这个程序大概就完成了。



通过两个小程序,感觉JAVA编写程序挺有意思的,然后最大的收获和启发就是在设计方面,感觉知道了应该把一些东西尽可能分开,抽象出来,注意java的封装性和继承性,明显感觉代码清晰了不少,这可能更符合面向对象性,通过两个例子,发现了他们有很多相似的地方,在设计这个过程中,也学会了很多东西,设置图像,设置背景音乐,使自己的界面更加丰富好看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值