C五子棋游戏开发

上传人:洪易 文档编号:2673715 上传时间:2017-07-26 格式:DOC 页数:4 大小:28.51KB
返回 下载 相关 举报
C五子棋游戏开发_第1页
第1页 / 共4页
C五子棋游戏开发_第2页
第2页 / 共4页
C五子棋游戏开发_第3页
第3页 / 共4页
C五子棋游戏开发_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《C五子棋游戏开发》由会员分享,可在线阅读,更多相关《C五子棋游戏开发(4页珍藏版)》请在金锄头文库上搜索。

1、C 五子棋游戏开发目录前言11预备知识 211计算机图形学方面的知识 2111基本的 C 作图方法及主循环控制模块 2112图形模式下的文本输出 2125 子棋基本数据结构 3121栈 3122树 42单人游戏 7 21 开发的基本步骤 7211系统流程图 7212建立棋盘 822电脑最优落子点的算法 8221最大值点法 9222最优落点方法 10223搜索算法及其改进算法 17224.3 种算法的比较与选择2523编程实现 253双人游戏 26参考文献28致谢29附录:部分源代码30摘要C 语言是 1 种结构化语言,尽管在当前,可视化语言发展迅速,普及很快,但 C 语言作为 1 种基础的语言

2、,它的优势依然存在,甚至有时它是不可替代的,特别是和硬件接口技术相联系的软件。5 子棋游戏是 1 种简单的大众的游戏,自从计算机实现以来,深受广大电脑玩家的喜爱,但是现在流行的 5 子棋游戏软件大多缺乏美观的界面,和容易的操作方法,电脑的 AI 值也不是很高。本文通过 C 语言在计算机图形学方面的编程,设计了 5 子棋游戏软件,使该软件具有美观友好的界面,在人机对弈时,使电脑具有较高的智商。 本游戏是以 Turbo C 2.0 语言作为开发工具,采用搜索及其改进的- 剪枝算法设计最优落子点开发的游戏软件。本文详细地介绍了 5 子棋游戏软件设计的全过程,描述了该软件的功能,以及和其他 5 子棋程

3、序的 1 些比较。关键词:结构化语言;最优落子点算法;搜索算法;- 剪枝算法。AbstractC language is a structured language, although in the current visualization language rapidly, and spread quickly, but the C language as a basis for language, its advantages still exist, and sometimes it is irreplaceable, particularly hardware and softwar

4、e interfaces are linked. Gobang game is a simple and popular game, since the computer to achieve, by the love of computer players, but now most popular game software Gobang lack aesthetic interface, and easy method of operation, the value of the computer AI is not high. The adoption of the C program

5、ming language in computer Graphics, designed Gobang game software to enable the software with a beautiful and friendly interface in both game, the computer has a higher IQ. The game is based on turbo c 2.0 language, using searching algorithm and -cut algorithm to design best Gobang. The detailed pre

6、sentation of the whole process of Gobang game software design, describes the software functions and procedures and other Gobang some more. Keywords : structured language;best algorithm;searching algorithm ;-cut algorithm. 前言 5 子棋是人们喜欢的 1 种棋类游戏,近来,随着计算机的快速发展,以计算机作为游戏对战平台,各种棋类游戏如雨后春笋般纷纷冒出,使得那些喜爱下棋,又常常

7、苦于没有对手的棋迷们能随时过足棋瘾,而且这类软件个个水平颇高,大有与人脑分庭抗礼之势。其中战胜过国际象棋世界冠军-卡斯帕罗夫的“深蓝”便是最具说服力的代表。 当我们与电脑对战时,您知道这些软件是怎样象人脑 1 样进行思考的吗?总的来说(我们假定您熟悉 5 子棋的基本规则) ,要让电脑知道该在哪 1 点下子,就要根据盘面的形势,为每 1 可能落子的点计算其重要程度,也就是当这子落下后会形成什么棋型,然后通览全盘选出最重要的 1 点,这便是最基本的算法。当然,仅靠当前盘面进行判断是远远不够的,这样下棋很容易掉进玩家设下的陷阱,因为它没有考虑以后的变化。所以在此基础上我们需要使用好的算法使电脑能预测

8、出今后几步的各种走法,以便作出最佳选择,这也是我们下棋时常说的“想了几步”。怎样才能达到这个程度呢?这是本文所要讨论的主要问题。作为 1 个 5 子棋游戏爱好者,在使用了众多的 5 子棋游戏软件后,发现当今大多数 5 子棋游戏软件中电脑的 AI 值不是很高,难与人脑抗衡,这是基于以上的最基本算法扩展而出的电脑最优落子算法不够优秀而造成的。本人使用 Turbo C 2.0 语言作为开发工具,在吸收别人所编的 5 子棋游戏软件的基础上,再融入自己的创新思想(最优落子算法的改进) ,编写了这个 5 子棋游戏,软件实现了人机对弈和双人对弈的功能,游戏软件界面美观,操作容易,电脑的 AI 值也较高。本文

9、分为 3 个部分,首先介绍了开发 5 子棋游戏所需要的 1 些背景知识,包括 C 语言在计算机图形学方面的知识和数据结构方面的知识,然后详细介绍了单人游戏和双人游戏的开发步骤,在单人游戏设计中讨论了 3 种提高电脑智商的最优落子点算法,并对其中的搜索算法及其改进的 - 剪枝算法进行了详细的分析,最后绘出了部分关键代码。1预备知识1 1 计算机图形学方面的知识111 基本的 C 作图方法及主循环控制模块Turbo C 提供了非常丰富的图形函数,所有的图形函数的原型均建立在 graphics.h 中,在使用图形函数时要确保有显示器图形驱动程序*.BGI ,同时将集成开发环境 Options/Lin

10、ker中的 Graphics lib 选为 on,只有这样才能保证正确使用图形函数。这个程序调用 1 个 EGA、 VGA 显示器下能独立图形运行的函数。所谓独立图形运行程序,就是在编译和连接时将相应的驱动程序(*.BGI )直接装入到执行程序,从而能在独立的计算机上运行,避免需要重新编译连接才能运行。Turbo C 进行画点、画线、封闭图形填充以及图形下文本输出只需要调用 graphics.h 中相关的函数。主循环控制模块:控制下棋顺序,当轮到某方下子时,负责将程序转到相应的模块中去,主要担当 1 个调度者的角色。这个 5 子棋程序是用键盘控制下棋,所以要用到 Turbo C 中的 bios

11、.h。在 1 个循环块中等待键盘信息,判断键盘所输入的信息是否需要响应,调用相关的代码进行下棋。112 图形模式下的文本输出 在 C 语言的图形模式下,只能用标准输出函数,如 printf(),puts(),putchar()函数输出文本到屏幕。除此之外,其它输出函数(如窗口输出函数) 不能使用,即是可以输出的标准函数,也只以前景色为白色,按 80 列,25 行的文本方式输出。Turbo C2.0 也提供了 1 些专门用于在图形显示模式下的文本输出函数。下面将分别进行介绍。 1、文本输出函数 void far outtext(char far *textstring); 该函数输出字符串指针

12、textstring 所指的文本在现行位置。 void far outtextxy(int x, int y, char far *textstring);该函数输出字符串指针textstring 所指的文本在规定的(x, y)位置。其中 x 和 y 为象元坐标。 说明: 这两个函数都是输出字符串,但经常会遇到输出数值或其它类型的数据,此时就必须使用格式化输出函数 sprintf()。sprintf()函数的调用格式为: int sprintf(char *str, char *format, variable-list); 它与 printf()函数不同之处是将按格式化规定的内容写入 str 指向的字符串中,返回值等于写入的字符个数。例如: C110F1sprintf(s, “your TOEFL score is %d”, mark);这里 s 应是字符串指针或数组,mark 为整型变量。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号