欢迎来到天天文库
浏览记录
ID:26057394
大小:265.00 KB
页数:16页
时间:2018-11-24
《算法课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、16算法分设计与分析课程设计算法设计与分析课程设计题目:跳棋问题班级:姓名:学号:16算法分设计与分析课程设计正文1、课程设计报告1.1问题描述国际跳棋(draughts)也称西洋跳棋,它的棋盘是由深浅两色相间的10X10的小方格组成的一个大正方形。国际象棋的棋盘是64格的,它比国际象棋的棋盘整整多了一圈。棋盘上深色的格子叫黑格,浅色的格子叫白格。对局时,棋盘放在对局者中间,双方左下角的第一个格子必须是黑格,不能摆错。与国际象棋不同的是,棋盘上的黑格才是国际跳棋摆棋子和行棋的地方,无论任何时候,都不能把任
2、何棋子放到白格中去。对局时,棋子的原始摆法为:20枚白兵排列在已方后四排的黑格内,白方棋子同黑,白棋摆在1到20棋位,黑棋摆在31到50棋位。经过一段对局,任何一方的兵冲破重重障碍,走至并停留在对方底线,即升变为王棋,如果没有停留在对方底线不能立即成王。王棋可以用两个兵摞起来表示,也可以将兵翻转过来做王棋。兵与王棋的走法:对局开始,由执白棋者先行,然后由黑棋行棋;双方轮流走子,直到终局。白、黑各走一着叫一个回合。对局开始时,出现在棋盘上的都是兵。兵在走棋时,每步棋只能向前方邻近的空棋位上向左或向右移动一格
3、,并且只能前进,不允许后退。兵的吃子法是用跳的形式进行的。这和一般跳棋的走法相似,只要自己的一个兵与对方的一枚棋子相遇,并且与这两枚棋子成一斜行的、紧挨着对方棋子的棋位是空着的,那么,轮至走子的一方就要用自己的兵跳过对方的棋子,放在紧挨着对方棋子后面的空棋位上,将对方的那枚棋子吃掉。吃子时,可以象普通跳棋一样一次连跳连吃几枚棋子,但连跳时不允许以自己的棋子为桥梁,也就是说,自己的棋子不能从自己的棋子上越过去再去吃对方的棋子。兵吃子时可以后退。王棋的走法与兵不同,它可以前进,可以后退,只要在一条斜线上,一次
4、移动几格都可能。王棋的跳吃,也比兵的跳吃自由度要大得多。只要在同一斜线上,不管距离多么远,都可以跳过对方的这枚棋子,停在它后而的任何一个空格里,从而将对方这枚棋子吃掉。王棋的连跳,与兵的连跳大致相同,只是不限距离,只要有机会,一次可以跳吃对方的数枚棋子。 吃子的三条重要规则:第一,能吃子必须吃子,不能不吃;第二,能多吃子,必须多吃,不能少吃;第三,能吃子的时候必须吃到底,不许半路停下不再吃了.以上规则无论是否对自己有利都必须执行.如果将对方的棋子吃光或者让对方没有可以走的棋了即为获胜。16算法分设计与分析
5、课程设计1.2需求分析国际跳棋是由各国的民族跳棋演变而来。其历史源远流长是世界上最古老、最普及的智力游戏之一。传说国际跳棋起源于6000年前的古埃及,其根据是古埃及岩画上有类似的图案。1723年,居住在法国的一名波兰军官把跳棋革新为10X10的一百格跳棋,国际跳棋被规范定型。1894年,首届国际跳棋世界大赛在法国举行。目前世界上跳棋水平最高的国家有法国、荷兰、俄罗斯等国,亚洲水平最高的是受俄罗斯影响颇深的蒙古。国际跳棋(draughts)也称西洋跳棋,该项棋种和其它棋类项目一样有着娱乐、健心益智、竞技等多
6、方面的功能。西洋跳棋在国际上开展较早,世界西洋跳棋联合会于1947年成立,如今已经发展成为有约50个会员协会的组织,最近世界西洋跳棋联合会又加入了“国际单项体联”。世界西洋跳棋联合会还成立了各大洲的分会。西洋跳棋有自己独立的技术体系,包括下法、技术等级标准、规则等。世界西洋跳棋联合会举办的国际赛事有世界锦标赛、世界女子锦标赛、世界青年锦标赛、世界学生锦标赛、世界女学生锦标赛、团体锦标赛、欧洲锦标赛。本软件需要完成的功能有:(1)用户能自由完成人机对奕和玩家之间对奕(2)程序可以自动记录各种走法的得分(3)
7、程序可以显示最高得分的走法(4)储存并记录软件框架设计:本程序设计有两部分:窗体结构和算法程序,这样可以使程序简洁明了,方便于以后对程序的局部修改,也使得本程序更有可读性。运行平台:程序采用VB语言,为编程提供了一个集成开发环境。程序员可根据程序和界面设计要求,直接在屏幕上“画"出窗口、菜单、按钮等不同类型的对象,并为每个对象设置属性。VB继承了BASIC语言简单易学的特点,又适应于开发视窗类应用程序,是制作国际跳棋程序的最好的选择。16算法分设计与分析课程设计1.3概要设计窗体结构设计:程序界面设计如图
8、,面板分为四个部分,分别为棋盘,选择项,算法提示,分数计算其中棋盘和算法(走法)提示是主要部分操作区中,用户通过对选项的选择来使程序完成相应的功能,当用户在走每一步的时候都会有相应的走法和提示语句,在用户选择好走法以后可以单击存谱按钮来进行存储。用户也可以单击人机对战选项来选择对战目标,利用新棋键来重新开局如果用户走的步骤不合法,系统会弹出提示语来提示用户,使得本次走棋无效。当某方的的棋子被全部吃掉,判次方输,棋局结束。程序算
此文档下载收益归作者所有