posts - 7,  comments - 64,  trackbacks - 0
2008.12.29
   昨天晚上终于把象棋的棋盘画出来了!
   今天则需要把棋子初始化,之后放到象棋开局的位置上。(这个工作也顺利完成了)
   现在的工作是如何在CplayDlg类上面移动棋子。现在的思路是在棋盘类当中加入一个二维数组,将屏幕坐标和棋盘的逻辑坐标一一对应,以方便查找。然后将选定棋子move到新的位置,再调用OnPaint();
   顺便说一下现在程序当中的类
   CplayDlg----MFC生成的主要类
   CCheckerman----自己写的棋子类。主要方法就是MOVE。
   CChessboard----自己写的棋盘类。负责画出棋盘,并且建立屏幕坐标和棋盘逻辑坐标的对应关系~!
目前界面做到这个程度了。30号先回学校考试。之后听完今年的维也纳音乐会再来继续做吧~!

顺便说一下。这个棋盘是我自己一笔一笔用VC画出来的。真费劲啊!还有那些棋子的素材也来之不易。我把一个象棋游戏当中的资源给拔下来了!又需要素材或者源程序的朋友请邮件联系!~


ps:这个游戏的四大目标
   1、实现双人同机对战
   2、实现双人网络对战
   3、实现人机对战
   4、加入后台数据库实现用户注册和积分等功能。注册部分希望可以独立的使用Ruby on Rails写出来!

小弟初学乍练。不到之处多多包涵!



2008.12.31
   在2008年最后一天的下午,我又想写一写这个想起程序了。
  目前遇到的问题是由于使用DrawIconEx等函数实现棋子的移动效果的时候屏幕会出现闪烁!请问各位如何防止这种情况的出现呢?换句话说就是在调用OnPaint函数的时候,只刷新当前棋子位置的屏幕,而其他部分则不刷新!
  第二个问题是我想用GDI+来显示ICO图像。可是却失败了,源码如下……
                Image image(L"C:\\Users\\Administrator\\Desktop\\ico128.ico");
                CRect rect;
                GetWindowRect(&rect);
                Graphics graphics(hdc);
                graphics.DrawImage(&image, 0, 0,rect.Width(),rect.Height());
 但是当把imang参数变为L"C:\\Users\\Administrator\\Desktop\\i200831313448532_2.jpg就能显示出来。不知道是不是GDI+不支持ICO格式呢?(我又检查了一遍,路径没有问题!);
  请各位老大赐教一下吧!~

posted on 2008-12-29 00:30 HIT@ME 阅读(2781) 评论(18)  编辑 收藏 引用

FeedBack:
# re: 中国象棋程序开发笔记 [未登录]
2008-12-29 09:30 | megax
小伙子,做一个图片,记好坐标,多方便,何必自己画啊,象棋程序关键在算法不在画图~~~  回复  更多评论
  
# re: 中国象棋程序开发笔记
2008-12-29 09:41 | zuhd
直接load一张底图是很方便啊,不过,一点一点画也能提高自己的能力,赞一个  回复  更多评论
  
# re: 中国象棋程序开发笔记
2008-12-29 09:41 | 沈臻豪(foxtail)
小伙子,你好厉害啊  回复  更多评论
  
# re: 中国象棋程序开发笔记 [未登录]
2008-12-29 10:39 | 阿牛
把人机对战搞好了,就很牛了,等着看结果  回复  更多评论
  
# re: 中国象棋程序开发笔记
2008-12-29 10:52 | 洪松
你好,能给我一份程序的源代码吗,学习学习,谢谢~~~
我的邮箱是:hong_song_sherry@163.com  回复  更多评论
  
# re: 中国象棋程序开发笔记
2008-12-29 12:48 | wblong
我能要份源代码不?一直在研究博弈问题 ,想看个实际例子呢!
wblong9115@gmail.com 谢谢  回复  更多评论
  
# re: 中国象棋程序开发笔记 [未登录]
2008-12-29 18:16 | sapielion
不错是一个爱好技术的,赞,个人认为你的目标顺序应该改一下,
1、实现双人同机对战
2、实现双人网络对战
3、实现人机对战
双人同机实现了,实现双人网络对战,不会比这个难的太多。
但是要实现人机那是有人工智能的,加油。

  回复  更多评论
  
# re: 中国象棋程序开发笔记
2008-12-29 22:14 | HIT@ME
您说的很对。可是我用图片感觉总不大清楚,另外我没法显示出现在的这种镂空的效果,每个方格下面都可以显示出那副背景图片!所以我才自己画的!实在是无奈之举啊~!嘿嘿i@megax
  回复  更多评论
  
# re: 中国象棋程序开发笔记
2008-12-29 22:17 | HIT@ME
有道理!@sapielion
  回复  更多评论
  
# re: 中国象棋程序开发笔记
2008-12-29 22:26 | 攀升
有没有整个程序的设计,类图什么的,
  回复  更多评论
  
# re: 中国象棋程序开发笔记
2008-12-30 20:08 | vcfly
提两点建议:
1) 优秀的程序员应该追求完美. 你的图片细节处很糟糕
2) 算法很重要.  回复  更多评论
  
# re: 中国象棋程序开发笔记 --遇到困难,大家帮忙!!
2008-12-31 17:00 | HIT@ME
@vcfly
确实非常糟糕。等大体框架实现的差不多了,我会去改图片的!  回复  更多评论
  
# re: 中国象棋程序开发笔记 --遇到困难,大家帮忙!![未登录]
2009-01-04 16:33 | megax
为什么会闪烁,因为你一次画的东西太多了,要么你就用个MemDC,要么就获取到ClipBox,专业点叫脏矩形,在里面做判断应该绘制哪些东西,这样绘制东西几乎不好暂用任何CPU,不要用DrawIcon,每个棋子都是一个Object,都可以把自己以透明的方式画到画布上,棋子也是图片,过滤到某个颜色就是透明的了,在消除消除锯齿就差不多了,你这4大目标里,最难的是第三个,你能高效的做出来,就可以进中科院混混了~~~  回复  更多评论
  
# re: 中国象棋程序开发笔记 --遇到困难,大家帮忙!!
2009-01-30 23:11 | alligetor
推荐看传奇的故事--学vc编游戏
电子书有下载的
你需要的答案里面大概都有吧  回复  更多评论
  
# re: 中国象棋程序开发笔记 --遇到困难,大家帮忙!!
2009-06-15 18:28 | Andraw
你好,能给我一份程序的源代码吗,学习学习,谢谢~~~
arkon.tang@126.com  回复  更多评论
  
# re: 中国象棋程序开发笔记 --遇到困难,大家帮忙!!
2009-07-04 16:30 | 99读书人网上书城
你需要的答案里面大概都有  回复  更多评论
  
# re: 中国象棋程序开发笔记 --遇到困难,大家帮忙!![未登录]
2011-05-23 14:04 | 小伟
您好 我也在学习并编写这个程序,前辈!!!您能把您的源代码发过来吗! 谢谢啦! 很头疼啊 harrypotter85701@126.com  回复  更多评论
  
# re: 中国象棋程序开发笔记 --遇到困难,大家帮忙!!
2013-08-16 03:36 | 朝阳
我也在看那个,你的代码我发过来我看看。915389553@qq.com  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(5)

随笔档案

test

搜索

  •  

最新评论

阅读排行榜

评论排行榜