论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > VC >

A450vc++象棋程序+论文

四.系统设计难点及其解决方法

(1)       由于本游戏是在TC下运行的,而TC不能直接输出汉字,则在游戏界面上的汉字输出有一定的问题。在本程序中,故我们采用自行设计16×16 的点阵的汉字模型,采用汉字显示原理在TC中进行输出。

内容来自www.paper51.com

(2)       由于本程序采用鼠标操作,则在鼠标移动的同时,必须同时消隐原位置的鼠标图案,并且重新附上鼠标处原游戏界面图案。由于鼠标移动的不确定性,从而使鼠标位置的原游戏界面图案较复杂。 内容来自论文无忧网 www.paper51.com

         本程序中采用的解决方法是:为鼠标静态申请相应大小的空间用以存储鼠标位置的原背景图案,当鼠标移动时,先在鼠标原位置附上所保存的图案,接着在新位置显示鼠标,从而使鼠标实现移动。

内容来自论文无忧网 www.paper51.com

(3)       由于棋子是动态移动,则同鼠标一样必须实现棋子的显示与消隐,但棋盘的边框线条较复杂。若采用(2)中鼠标消隐原理,则将要消耗很多空间。例如:为每个棋子申请相应大小的空间用以保存背景图案,则空间大小为:32×34×34×2=73984(B)=72.25(KB),从而可以看出所需空间较大。

http://www.paper51.com

考虑到该方法与本程序的不兼容性及消耗空间较大,本程序采用每次移动棋子时,棋盘画面刷新一次的方法来实现棋子的消隐,但这也导致了棋盘画面由于刷新而不稳定的后果。 内容来自论文无忧网 www.paper51.com

(4)       象棋游戏程序中的步法正确性的判断是较复杂的,因为各个棋子的规则较复杂,考虑的情况较多。本游戏采用a[10][9]数组与棋盘的10行9列棋格一一相对应的方法来判断棋子从mouse[0]移到mouse[1]处的正确性(mouse[0]与mouse[1]是存储棋子相应的行列坐标的结构)。

copyright paper51.com

五.不足之处 内容来自www.paper51.com

(1)    正如上面(3)所述:由于采用刷新方法来实现棋子的消隐,而导致了棋盘界面的不稳定,这是本游戏程序较大的不足,若采用棋盘棋子分块描绘的方法,则在移动棋子时,只能改变局部棋盘或棋子,从而能实现棋盘的稳定显示,但此方法与我们所编的程序的实现在本质上的区别,故我们未采用。

paper51.com

------分隔线----------------------------
联系方式