毕业设计问题的相关看法

       终于毕业了,一直没有时间整理下我的毕业设计,今天就简单得整理一下,以后更好的学习和改进,来提高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! 一步一步努力,总有一天你会成为一名优秀的程序员的!

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值