您的位置:首页 > 其它

毕业设计问题的相关看法

2008-07-08 18:49 337 查看
终于毕业了,一直没有时间整理下我的毕业设计,今天就简单得整理一下,以后更好的学习和改进,来提高Vc的应用技巧!我的毕业设计是“国际象棋辅助训练系统”这个我的毕业设计其实有好多东西都没有做出来。

想先说说这个毕业设计没有完成的一些功能:1:首先就是象棋的棋盘转置的功能,就是白方和黑方交换下棋的位置,这个具体的算法其实比较容易,只要利用棋子的位置之和等于63即可,但是由于我并不会应用内存画图的方式,所以整个程序其实并没有刷新操作,这个程序的图形其实是相当于你先画了一幅图片,然后再在上面贴上去一副图片这个样子,所以这样的话,当你做这个算法的时候,显示的内容就不对了,正确的做法是把当前的象棋局面保存成一幅图,应用内存画图的方式,至于内存画图,我当时的Vc书籍中介绍的几乎没有,我也不知道哪本书里面有介绍

{
Create(NULL,"粒子系统");
CClientDC dc(this);
int width = dc.GetDeviceCaps(HORZRES);
int height = dc.GetDeviceCaps(VERTRES);
GetWindowRect( &rect );
width = ( width - ( rect.right - rect.left ))/2 ;
height = (height - (rect.bottom - rect.top ))/2 ;
MoveWindow( width , height , (rect.right - rect.left ) , (rect.bottom - rect.top ) ,true);
GetClientRect(&rect);
mdc = new CDC;
mdc1 = new CDC;
mdc->CreateCompatibleDC(&dc); //将mdc转换成与dc相容的DC
mdc1->CreateCompatibleDC(&dc);
bgbmp = new CBitmap;
temp = new CBitmap;
bgbmp->m_hObject = (HBITMAP)::LoadImage(NULL,"bground.bmp",IMAGE_BITMAP,rect.right,rect.bottom,LR_LOADFROMFILE); //载 入图文件
temp->CreateCompatibleBitmap(&dc,rect.right,rect.bottom);
mdc->SelectObject(temp);
}
这就是我后来找到一段内存画图的c++的代码,选用这种绘图方式,这样程序才会有比较大的突破。

2:就是这个程序是基于对话框的,按照老师的要求我应采用单文档形式就更好了。而且里面有一个消息需要去实现:这个就是类似
OpenGL里面画图的样子,当你放大或者缩小这个程序,程序的图形界面上的各个控件和图形会等比例的放大或者缩下。这个需要改写WM_Onsize() 这个消息,具体的内容我没有实现,这个还是看见郭晓峰学长自己实现后我才发现可以这么做,比较遗憾!

接下来我先说得是这个程序的几个延伸和扩展的方向:其实这个程序我仅仅是完成了象棋界面的一些内容,还有就是时间计时器资源的使用,所以可以在这个基础上套上tscp181这个象棋棋力引擎,或者把这个象棋引擎封装成一个类,这样就可以完成一个完成的象棋程序了!这方面仅仅是我的猜想,没有实现,但是我觉得是可以的。其他的方向还有我以前的毕业设计题目,基于UCI协议的国际象棋程序设计,这个按照老师的说法需要管道之类的操作,这个Vc上几乎没有我最终也没有实现,所以这个是我认为最难的,我探索的一点特别浅显,根本不可能做出来,我想如果想做的话,可以先尝试在Linux下,这个操作系统下会比较容易实现管道通信。

最后就是我的进步了:虽然这个程序不能不说非常的鸡肋:可是它总算是我独立完成的,只其中可是说走了诸多弯路,其中也多次受挫,才发现原来编写一个程序是如此的不容易,自己所学真是太浅薄了,以后要加倍努力才行,在Vc上,经过了这次毕业设计,我已经基本熟悉了Windows的基本的控件,如何显示,如何传递参数等,还有就是CDC类,这个类我是这真的比较熟悉了,以及鼠标消息的相应,加上我以前的Socket通信程序,还有分析的郭学长的程序,这样我已经看过三方面的Vc应用了,CDC类,CSocket类,以及ODBC连接数据库的操作,事情想着越来越好的方面发展呢!当然如果在能分析下大斌哥那个matlab和Vc结合的图像处理程序,事情就更完美了!哈哈,加油,王钢,Fighiting! 一步一步努力,总有一天你会成为一名优秀的程序员的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: