`
yu06206
  • 浏览: 111532 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

五子棋和画板项目总结

阅读更多

五子棋和画板项目总结

项目介绍

 

早期五子棋

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

项目过

 一.   遇到的困难

五子棋:刚开始接触到五子棋的时候经常会被一些很简单的算法纠结,比如说,判断输赢的算法,还有就是怎么样让棋子下到交叉点上,刚开始有点不太明白

在人人对战的时候也经常会犯很多错误但是自己这么都找不到,有时为了一个很小的问题纠结很久

在人机对战的时候怎么实现人机算法关于判断权值找出下棋的位置,刚开始不是很理解,

怎么去判段到底是属于活连还是死连,一直没想到解决的方法,后来看了网上的资料才有了思路

在最后的优化界面的过程中,一直有个问题困扰着我,那就是如何实现添加背景图片,然后可以在图片上添加组件,那段时间一直没有解决,直到前段时间随着知识的积累就解决了那个问题

最后在实现五子棋的一些功能的时候,第一个困难就是悔棋的实现(最后被逼无难只有用队列实现) 然后就是关于人人和人机之间的转换(在移除监听器和加上监听器之间转换,经常会出现一些BUG),最后就是关于加倒计时功能,因为我的五子棋就是一张背景图片,要关于五子棋在图片是倒计时一直会出现闪屏的问题,有解决的方法,但是会破坏我整个界面的布局,所以一直纠结着到现在还没解决

画图板:最开始接触画图板的时候对鼠标监听器迷茫的,一时很难接受,

然后就是在优化界面的时候关于界面的排版总是达不到我想要的结果,关于JPanelJSplitPane分割界面感觉不受控制

最后就是在图片的保存和打开时,在打开BMP文件时总会出现一些奇怪异常,无法在画图板中打开bmp文件,最后bmp的保存时,基本上自己无法想到用截图的方法保存图片,还有那些复杂的图片数据,最后在雷超的帮助下实现了bmp的保存


二.   解决困难

当我遇到那些我暂时还没有理解的问题是,就会多理解几遍,多敲几遍代码,档子渐渐熟悉了这个问题后就觉得不是很难

在做五子棋的时候为了解决窗体的布局问题,我直接绕过,通过PS来整合多张图片,然后达到一个很好的效果

在遇到五子棋人机对战的算法时在查看了很多资料后初步对怎么实现一个好的人计算法有了了解

在五子棋倒计时功能的实现上通过预习后面的线程的知识然后慢慢熟悉掌握一些线程的基本用法

关于窗体的背景图片的添加,通过请教老师和同学慢慢的了解了添加背景的一些方法

还有就是布局和JPanel的应用,通过多次试验最后能做出一个和XP很相似的画图板

 

三.   存在的问题

    五子棋再人人和人机对战之间转换由于系统反应慢,会出现人人和人机叠加的现象

    五子棋添加倒计时功能

    五子棋打开后的棋子不能实现重绘功能

五子棋界面存在局限性,如果在加一些功能的话就会打乱布局

画图板打开bmp文件速度太慢了,

画图板的功能按钮没有XP系统按钮的效果,还有很多功能有待实现

在画图板打开bmp图片后,再清楚图片重绘功能失效

 

心得体会:

 

我的感悟

写代码时最好写注释当一个类比较长时要理清楚类里面的逻辑顺序

做一个java程序都是不断优化的过程(从最开始的简单界面到最后的仿真界面)

java程序要要追求完美,也许开始的时候你不能把这个界面写的很完美,只要你不断地去优化,去追求完美,你会乐在其中。

对于一些不懂的问题,代码出现了异常,要去寻求别人的帮助,或者去网上找资料,不一定别人的东西就不能拿来借鉴,你可以把别人的转化为自己的,

  

 自己的不足

 

对一些基本的概念理解的不是很清楚

代码写的不够好,不够精简,在写代码时没有一个全局观

对一些比较复杂的算法的理解深度不够

写代码不喜欢写注释

 

  • 大小: 71.8 KB
  • 大小: 105 KB
  • 大小: 48.5 KB
  • 大小: 70.6 KB
分享到:
评论
2 楼 yu06206 2011-10-08  
过奖!一起加油!
1 楼 flycatdeng 2011-10-03  
好棒,继续加油!!!

相关推荐

    五子棋社团工作计划总结总结.doc

    【五子棋社团工作计划与总结】文档主要涵盖了五子棋社团的工作计划和活动总结,旨在通过五子棋这项活动来提升学生的综合素质,包括智力、情操和团队合作能力等。 1. **指导思想**: 五子棋作为一门校本课程,旨在...

    五子棋项目总结

    NULL 博文链接:https://javaprince.iteye.com/blog/798714

    基于JAVA的升级版五子棋项目总结(PPT版)

    【标题】基于JAVA的升级版五子棋项目总结(PPT版) 在Java编程领域,五子棋项目是一个常见的教学实例,它可以帮助开发者巩固基础知识,理解面向对象编程、图形用户界面设计以及游戏逻辑的实现。这个升级版的五子棋...

    Java五子棋设计报告.doc

    总的来说,这款Java五子棋游戏设计项目旨在通过编程实现一个具有互动性和趣味性的五子棋应用,让玩家在享受游戏乐趣的同时,也能锻炼策略思维。通过这个项目,学生可以深入理解Java编程、MVC模式以及游戏逻辑的设计...

    Visual Studio 五子棋游戏完整项目代码

    《Visual Studio 五子棋游戏完整项目代码》是一款基于C#语言在Visual Studio 2010环境下开发的窗口应用程序,旨在提供一个交互式的五子棋游戏体验。这款游戏支持人机对战模式以及双人对战模式,允许玩家选择棋子样式...

    五子棋java小项目-含源码

    【五子棋Java小项目】是一个适合初学者和爱好者学习的编程实践项目,它通过Java语言实现了一款经典的双人对战游戏——五子棋。这个项目不仅包含了完整的源代码,还经过了测试,确保可以正常运行,为学习者提供了实际...

    基于 C++实现人工智能课程五子棋博弈问题项目源码(高分项目).zip

    基于 C++实现人工智能课程五子棋博弈问题项目源码(高分项目).zip 已获导师指导并通过的高分项目可作为课程设计和期末大作业,代码完整下载可用。 基于 C++实现人工智能课程五子棋博弈问题项目源码(高分项目)....

    java五子棋人机对战项目

    总的来说,这个Java五子棋人机对战项目结合了基础的GUI编程、博弈论策略和算法实现,为学习者提供了综合运用Java技术和理解游戏逻辑的实践机会。通过深入研究该项目,开发者不仅可以提升编程技能,还能进一步了解...

    五子棋程序完整版项目答辩

    总的来说,这个五子棋程序项目不仅展示了作者在.NET框架下的编程技能,还体现了对策略游戏AI的理解和实现。通过这样的项目,学生不仅可以巩固编程基础,还能锻炼问题解决能力和项目管理技巧,为未来的学习和职业生涯...

    五子棋项目

    总的来说,五子棋项目是一个涵盖多方面技术的综合实践,它涉及到图像处理、用户交互、游戏逻辑、AI算法、性能优化和软件工程等多个领域。通过参与这样的项目,开发者不仅能提升编程技能,还能深入理解游戏开发的全...

    C#五子棋完整项目.rar

    在本项目中,C#的强大特性和灵活性被充分利用,以构建五子棋游戏的逻辑和交互。开发者可能使用了C#的类库如System.Windows.Forms和System.Drawing来创建GUI界面,并实现棋盘的绘制与操作。 GUI设计是项目的核心部分...

    五子棋实训报告(c语言)

    本文档是关于大学本科课程实训的一个项目,是用c语言写的一个关于五子棋的实训报告,并且可视化

    五子棋项目java开发

    通过这个五子棋项目,初学者不仅能巩固Java编程技能,还能提升问题解决能力,理解软件开发的完整流程,包括需求分析、设计、编码、测试和调试。此外,还可以尝试添加额外的功能,如保存和加载游戏、实现不同难度的AI...

    五子棋MFC 五子棋MFC 五子棋MFC

    在五子棋MFC项目中,开发者可能利用MFC提供的控件,如对话框、按钮、静态文本等来构建游戏界面,使用户可以清晰地看到棋盘和棋子。同时,MFC的事件驱动模型使得能够响应用户的鼠标点击事件,从而实现棋子的放置功能...

    matlab-wuziqi.rar_matlab五子棋gui_五子棋_五子棋matlab_五子棋matlan_五子棋算法

    总结来说,这个项目提供了一个用MATLAB实现的五子棋游戏,其中的核心是五子棋的算法,包括棋盘状态的管理、合法落子的判断以及胜负的自动检测。通过GUI,用户可以直观地进行游戏,体验到与计算机或其他玩家的对弈。...

    控制台五子棋项目文件

    总结,通过《Java SE控制台五子棋》项目,你可以巩固和提升Java编程基础,理解面向对象编程,学习如何处理用户输入,实现简单的游戏逻辑,以及进行单元测试。这是一个很好的实践项目,能够帮助你将理论知识转化为...

    wuziqi.zip_java 五子棋_java五子棋_五子棋_五子棋java_项目

    【五子棋项目详解】 ...总结,Java实现的五子棋控制台项目不仅涵盖了基础的面向对象编程技巧,还涉及到了游戏逻辑设计、用户交互处理以及简单的AI实现。这个项目对提升编程思维和技能具有很大的实践价值。

    C# 五子棋 (大学项目)源码+数据库

    总结,C#五子棋大学项目涵盖了多种编程技术,从基本的C#语法到高级的网络编程和数据库管理,再到游戏AI和用户体验设计。这个项目对于提升学生的综合编程能力具有很高的价值。通过实际的开发过程,学生能够深入理解和...

    网络五子棋设计报告

    此外,项目开发过程中的问题解决能力、团队协作能力和文档撰写能力也将得到显著提升。 总之,网络五子棋的设计与实现不仅是一项技术挑战,也是对个人综合能力的一次全面锻炼。通过这个项目,开发者不仅能够学习到...

    GUI五子棋小项目

    在本项目中,"GUI五子棋小项目"是一个基于JAVA程序设计的实践课程作业,旨在让学生掌握图形...以上就是"GUI五子棋小项目"涉及的主要技术点,这些知识不仅适用于完成该项目,也是学习JAVA程序设计和软件开发的重要实践。

Global site tag (gtag.js) - Google Analytics