- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用文档
实用文档
伊 犁 师 范 学 院
高级语言课程设计报告
学 院: 电子与信息工程学院学生姓名:
学 号 : 专业届别: 指导教师: 完成时间:
五子棋游戏
设计目的及要求
目的:
学习综合运用 C 语言课程和其他相关课程的知识,提高分析解决实际问题的能力,进一步巩固、加深和拓宽所学的知识,进一步加强结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。
全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法,与同学合作设计整套程序,并且独立完成一定工作量的程序设计.
掌握程序设计中的常用算法和 C 语言的程序技巧,培养良好的程序设计风格。
运用所学的知识了解五子棋游戏的制作结构,将所学的知识运用于实践中。
要求:
独自设计、编制、调试出一款五子棋游戏。
要求该游戏具有趣味性和可操作性,能够正常运行。其中用到 C 语言中的各种语句、结构。(如其中需要注意全局变量和局部变量的申明,数组的使用等)(3)五子棋游戏要求能够进入欢迎界面, 当有五颗相同颜色的棋子连续连成五颗,就胜出。
任务:
五子棋是一种传统的棋盘游戏,是我国古代传统的黑白棋种之一发展于日本,流行于欧洲任务内容就是设计一款老少皆宜、能够锻炼个人策略谋划能力棋。有助于孩子开发智力,或者闲暇时打发时间。原则:
系统性。系统作为统一整体而存在,因此,在设计中,要从系统的角度考虑。系统的代码要统一,传递语言要尽可能一致。
可靠性。可靠性是指系统抵御外界干扰的能力及外界干扰时的恢复能力。
规范性。游戏的运用以吸引玩家的乐趣为前提,一方面,系统设计应尽量避免不必要的复杂化,另一方面模块应尽量简洁,以缩短处理流程。
开发工具
C 语言
应用平台
Windows xp
功能设计
游戏分析:
五子棋是两人之间的竞技游戏,该五子棋程序基本上实现了五子棋游戏的功能,有双方下棋之前的欢迎界面及下棋过程中的棋盘界 面,还有最终会判断出输赢。同时,该游戏采用了二维坐标实现的, 明了易懂,方便玩家在游戏过程中的基本操作,使游戏更加简便。细节方面,该程序有实时储存功能,随时记录。另外考虑到游戏挺简单的,就没有设置悔棋的相关模块。
游戏介绍:
该游戏是简单的双人五子棋,所实现的功能是能够显示欢迎界 面,选择是否进行游戏,进入游戏界面以后,玩家开始下棋。玩家输入坐标则会在棋盘上显示棋子,(若是输入的坐标超出棋盘或者该位子已经有子则会提示玩家重新输入坐标位子),若输入则退出游戏。
算法设计程序说明:
五子棋是一款经典的益智类游戏,通常是黑棋先行;五子棋专用盘为 15*15 方格,五个子的连接方向为横、竖、斜,当任一方的五个子在各方向上连成一线时,则该方获胜。
程序要求:
按照程序说明编写五子棋程序,要求可以进行双人之间的游戏。程序输出:
输出棋盘、棋子,并能够进行相应的操作。
流程图模块
图 1:程序整体设计思路流程图
开始
开始
黑白棋子交替出现
移动当前棋子
否
选择位置后放置棋子
判断是否有 5 个连
成一线
是
结束
开始
开始
初始化图形设备
绘制棋盘(15*15)
放置棋子
同颜色的五
个连成直线
是
结束
图 2:绘图过程的算法流程
否
实用文档
程序调试及运行
程序运行结果
图 1 初始化界面
实用文档
图 2 运行游戏的界面
程序代码#include “stdio.h”
#include”graphics.h”
#define LEFT 0x4b00 #define RIGHT 0x4d00 #define DOWN 0x5000 #define UP 0x4800 #define ESC 0x011b #define ENTER 0x1c0d int x=-1,y=0;
int max_x,max_y;
int board_flag[15][15]; void draw_board();
void show_init(int pat); void hide();
void show(int pat); void move();
int is_win(int pat); void main()
{
int driver=DETECT,mode;
实用文档
实用文档
int i,j; for(i=0;i15;i++)
for(j=0;j15;j++)
{
board_flag[i][j]=0;
}
initgraph(driver,mode,””);
draw_board(); show_init(0); move();
getch(); closegraph();
}
void draw_board()
{
int i;
max_x=getmaxx(); max_y=getmaxy(); setfillstyle(1,BLUE); bar(0,0,max_
文档评论(0)