迷宫游戏设计

迷宫游戏设计
迷宫游戏设计

程序设计基础课程设计

迷宫游戏设计

院系:

班级:

组长:

组员:

指导教师:

2009-12-21

目录

一、概述

1.1 研究的背景及意义 (1)

1.2设计的任务和需要的知识点 (1)

1.3具体完成的设计内容 (2)

二、需求分析

2.1功能需求 (2)

2.2操作方法 (3)

三、总体设计

3.1软件结构设计 (3)

3.2数据结构设计

四、详细设计

五、程序调试与测试

六、总结

七、结束语

八、程序清单

一、概述

1.1研究的背景及意义

我们组选择迷宫的游戏设计,主要是迷宫游戏可以锻炼人的思维,锻炼我们的协调能力,运用理论去处理问题的能力,实验能力,课程设计能力。

同时,运用了大量的C语言知识,是我们更加了解C语言在电脑、在生活中的广泛应用,也为我们今后的C语言学习打下良好基础!

1.2设计的任务和需要的知识点

1,搜索迷宫游戏的代码

2,搜索动画的代码

3,搜索音乐的代码

4,制作游戏开场界面

5,射击游戏的具体玩法

6,电脑演示走出迷宫的路线

本次游戏设计的目的是:培养我们综合运用所学知识独立完成课题的能力,从资料文献,科学实验中获得知识的能力,提高我们对工作认真负责,一丝不苟,和对一个团队的合作精神。

1.3具体完成的设计内容

游戏包括声音和动画,动画后是迷宫的游戏,玩家可以自己设计墙壁,主要采用了C语言,函数,矩阵,声音,图像等。

组长承担设计编程工作,王晓琳负责文字信息工作,刘庆松负责检查程序提供意见工作,崔宇负责查找资料和打印工作。成功的在游戏中添加了动画和声音等元素,使游戏变得更精彩!

二、需求分析

2.1功能需求

游戏首先有界面,打开游戏,会出现闪烁的动画,悦耳的音乐,其次有简单的菜单选项,然后,在玩的时候,玩家可以自己设计迷宫,按enter键安排墙的位置,最后电脑会自动显示如何解开迷宫!

2.2操作方法

程序运行→音乐播放并有动画显示→enter键进入游戏→按键盘的↑↓←→键并按enter键设计迷宫→根据自己的设计自己走出迷宫→enter键电脑自动显示路线→退出游戏

三、总体设计

3.1软件结构设计

3.2数据结构设计

游戏包括声音和动画,动画后是迷宫的游戏,玩家可以自己设计墙,

主要采用了C语言,函数,矩阵,声音,图像等。函数用来设计游戏,

编写代码,矩阵是迷宫的基本底图,声音和图像显示音乐和动画,使

游戏更有趣!

四、详细设计

五、程序调试与测试

第一,我们组设计的是迷宫游戏,在编译过程中图片及声音的加入有些困难,都是经过仔细的查找是我们攻克难关。第二,在最后的应用过程中,出现过许多困难,我们努力的改正,由顶至下的一一排查将问题解决。

六、总结

完成此次的课题工作,我们吸取了许多的好处。

首先,促进了我们彼此之间的团队合作意识。其次,是我们在专业课程上有

了一定的提高,在函数等应用上使我们更加完善。

七、结束语

此次课题的工作完成了,但是经过反思我们总结了许多的不足并予以改正。

在生活中我们之间的团队意识比较弱,经过了这些天的磨练是我们彼此都有了团队意识。

在课程的设计过程中,我们对专业课程的不足,不熟练……所以在以后的生活中要努力学习,牢牢地抓好专业课程的基础知识。

八、程序清单

/* HELLO.C -- Hello, world */

#include

#include

#include /* 插入数学头文件*/

#define PI 3.1415926 /* 宏定义PI */

#include

#include

#include

#include

#include

#define OK 1

#define ERROR 0

#define TRUE 1

#define FALSE 0

#define F9 0x43

#define Esc 0x1b

#define Del 0x53

#define Home 0x47

#define End 0x4f

#define Space 0x20

#define Up 0x48

#define Down 0x50

#define Left 0x4b

#define Right 0x4d

#define Enter 0x0d

#define BKCOLOR LIGHTBLUE

#define WALLCOLOR RED

#define CURSORCOLOR BLUE

#define CIRCLECOLOR CY AN

#define ERRORCOLOR CYAN

#define TEXTCOLOR 14

#define STACK_INIT_SIZE 200

#define STACKINCREMENT 10

typedef int Boolean;

typedef int Status;

typedef struct {

int x;

int y;

} PosType;

typedef struct {

int ord;

PosType seat;

int di;

} SElemType;

typedef struct {

int td;

int foot;

int mark;

} MazeType;

typedef struct {

SElemType *base;

SElemType *top;

int stacksize;

} Stack;

char wang24S[]={

/* 以下是'王' 的24点阵宋体字模,72 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x0F,

0xFF,0xE0,0x00,0x18,0x00,0x00,0x18,0x00,

0x00,0x18,0x00,0x00,0x18,0x00,0x00,0x18,

0x00,0x00,0x18,0x00,0x00,0x18,0x30,0x07,

0xFF,0xC0,0x00,0x18,0x00,0x00,0x18,0x00,

0x00,0x18,0x00,0x00,0x18,0x00,0x00,0x18,

0x00,0x00,0x18,0x00,0x00,0x18,0x0C,0x3F,

0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00, };

char bo24L[]={

/* 以下是'波' 的24点阵隶书字模,72 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x02,0x00,0x00,0x07,0x00,0x18,0x07,0x00,

0x1E,0x7F,0xF0,0x0F,0x63,0x38,0x00,0x62,

0x18,0x70,0x63,0x18,0x7C,0x7F,0xC0,0x3E,

0x78,0xC0,0x00,0x4C,0xC0,0x02,0xC7,0x80,

0x1E,0xC3,0xC0,0x3D,0x87,0xF0,0x33,0x9C,

0x7E,0x00,0x78,0x3E,0x00,0x00,0x1C,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char tao32L[]={

/* 以下是'涛' 的32点阵隶书字模,128 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x40,0x00,0x00,0x00,0x60,0x00,

0x0E,0x00,0x60,0x00,0x07,0x1F,0xFF,0xC0,

0x00,0x80,0x40,0x00,0x00,0x00,0xC0,0x00,

0x00,0x18,0xC0,0x00,0x70,0x00,0xC0,0x00,

0x1E,0x01,0xFC,0x00,0x00,0x39,0x81,0xFC,

0x00,0x01,0x81,0x80,0x00,0x03,0x01,0x80,

0x00,0x87,0xFF,0xF0,0x0E,0x0C,0x01,0x80,

0x1C,0x18,0x21,0x80,0x10,0x70,0x01,0x80,

0x00,0xC0,0x01,0x80,0x00,0x00,0x03,0x80,

0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char zu32L[]={

/* 以下是'组' 的32点阵隶书字模,128 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,

0x00,0x60,0xFF,0xC0,0x00,0xC0,0xC0,0xC0,

0x01,0x04,0xC0,0xC0,0x06,0x0C,0xC0,0xC0,

0x0F,0x18,0xC0,0xC0,0x0C,0x60,0xFF,0xC0,

0x00,0x80,0xC0,0xC0,0x01,0x80,0xC0,0xC0,

0x03,0xF0,0xC0,0xC0,0x07,0x80,0xFF,0xC0,

0x00,0x00,0xC0,0xC0,0x00,0x18,0xC0,0xC0,

0x01,0xE0,0xC0,0xC0,0x3F,0x03,0xFF,0xFC,

0x38,0x0F,0xFF,0xFE,0x00,0x0E,0x00,0x7C,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char huan32L[]={

/* 以下是'欢' 的32点阵隶书字模,128 byte */

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,

0x00,0x00,0x60,0x00,0x04,0x38,0x60,0x00,

0x0C,0x38,0x70,0x60,0x00,0x18,0xE0,0x60,

0x00,0x10,0x80,0x60,0x07,0x11,0x30,0x40,

0x03,0xA2,0x31,0x80,0x00,0xE0,0x30,0x00,

0x00,0xC0,0x30,0x00,0x01,0xA0,0x2C,0x00,

0x03,0x10,0x66,0x00,0x0E,0x00,0x43,0x00,

0x38,0x00,0x81,0xC0,0x00,0x01,0x00,0xF0,

0x00,0x06,0x00,0x7C,0x00,0x3C,0x00,0x38,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char ying48H[]={

/* 以下是'迎' 的48点阵华文新魏字模,288 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,

0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,

0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,

0x0F,0x80,0x00,0x00,0x00,0x00,0x3F,0x00,

0x00,0x00,0x00,0x00,0x3E,0x00,0x20,0x00,

0x00,0x40,0x38,0x01,0xFE,0x00,0x00,0x60,

0x30,0x1F,0xFC,0x00,0x00,0x78,0x30,0x3C,

0x3C,0x00,0x00,0x38,0x30,0x3C,0x3C,0x00,

0x00,0x00,0x30,0x3C,0x3C,0x00,0x00,0x00,

0x30,0x38,0x3C,0x00,0x00,0x00,0x30,0x78,

0x38,0x00,0x00,0x00,0x30,0xFC,0x38,0x00,

0x00,0x00,0x31,0xFE,0x78,0x00,0x00,0x00,

0x3F,0xFF,0xF8,0x00,0x00,0x60,0x1F,0x3F,

0xF8,0x00,0x00,0x38,0x1E,0x39,0xF0,0x00,

0x00,0x30,0x1C,0x38,0x70,0x00,0x00,0x20,

0x08,0x38,0x00,0x00,0x00,0x20,0x00,0x38,

0x00,0x10,0x00,0x38,0x00,0x00,0x00,0x10,

0x00,0x38,0x00,0x00,0x00,0x08,0x00,0x38,

0x00,0x00,0x00,0x06,0x00,0x38,0x00,0x00,

0x00,0x07,0xC0,0x38,0x00,0x00,0x00,0x1F,

0xFF,0xF8,0x00,0x00,0x03,0xFF,0xFF,0xFE,

0x00,0x00,0x01,0xC0,0x01,0xFF,0x80,0x00,

0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,

0x00,0x00,0x7F,0xF8,0x00,0x00,0x00,0x00,

0x3F,0xFE,0x00,0x00,0x00,0x00,0x1F,0xFC,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char ni32S[]={

/* 以下是'你' 的32点阵宋体字模,128 byte */

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x60,0x40,0x00,

0x00,0x60,0x40,0x00,0x00,0x40,0xC0,0x00,

0x00,0x80,0x80,0x00,0x00,0x80,0x00,0x00,

0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x18,

0x00,0x02,0x00,0x10,0x03,0x00,0x00,0x20,

0x01,0x00,0x08,0x00,0x01,0x00,0x08,0x00,

0x01,0x00,0x08,0x00,0x01,0x00,0x08,0x00,

0x01,0x01,0x08,0x00,0x01,0x01,0x08,0x00,

0x01,0x03,0x08,0x00,0x01,0x02,0x08,0x20,

0x01,0x00,0x08,0x10,0x01,0x04,0x08,0x18,

0x01,0x00,0x08,0x08,0x01,0x08,0x08,0x0C,

0x01,0x00,0x08,0x08,0x01,0x00,0x08,0x00,

0x01,0x00,0x08,0x00,0x01,0x00,0x08,0x00,

0x01,0x00,0x78,0x00,0x01,0x00,0x30,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char he32H[]={

/* 以下是'合' 的32点阵华文新魏字模,128 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,

0x00,0x01,0x80,0x00,0x00,0x03,0x00,0x00,

0x00,0x07,0x00,0x00,0x00,0x07,0x80,0x00,

0x00,0x0F,0xC0,0x00,0x00,0x08,0x20,0x00,

0x00,0x20,0x00,0x00,0x00,0x40,0x21,0x00,

0x00,0x87,0xE0,0x80,0x00,0x1F,0xF0,0xE0,

0x01,0x0E,0x00,0xF8,0x02,0x00,0x00,0x1E,

0x0E,0x00,0x00,0x00,0x18,0x00,0xC0,0x00,

0x00,0x0F,0xF8,0x00,0x00,0x70,0x38,0x00,

0x00,0x70,0x38,0x00,0x00,0x30,0x30,0x00,

0x00,0x1F,0xE0,0x00,0x00,0x1F,0xE0,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char zuo32H[]={

/* 以下是'作' 的32点阵华文新魏字模,128 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,

0x00,0x18,0x18,0x00,0x00,0x10,0x10,0x00,

0x00,0x30,0x20,0x00,0x00,0x20,0x20,0x00,

0x00,0x60,0x40,0x00,0x00,0x40,0x40,0x40,

0x00,0xC0,0x43,0xE0,0x00,0x80,0xFE,0x00,

0x01,0x81,0xF8,0x00,0x01,0x81,0x30,0x00,

0x03,0xC3,0x30,0x80,0x02,0xC6,0x1F,0x80,

0x04,0xC0,0x1C,0x00,0x08,0xC0,0x10,0x00,

0x00,0xC0,0x10,0x00,0x00,0xC0,0x10,0x00,

0x00,0xC0,0x1F,0xE0,0x00,0xC0,0x1F,0xF0,

0x00,0xC0,0x00,0x00,0x00,0xC0,0x20,0x00,

0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,

0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char zhe32H[]={

/* 以下是'者' 的32点阵华文新魏字模,128 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,

0x00,0x00,0xC0,0x00,0x00,0x00,0xC0,0x00,

0x00,0x00,0xC0,0x00,0x00,0x00,0xC0,0x00,

0x00,0x00,0xF8,0x00,0x00,0x0F,0xF0,0x00,

0x00,0x0F,0xC2,0x00,0x00,0x01,0xC0,0x00,

0x00,0x01,0xC0,0x00,0x00,0x01,0xFF,0xE0,

0x00,0x03,0xFF,0xF0,0x00,0x38,0xC0,0x00,

0x07,0x80,0x80,0x00,0x04,0x01,0x98,0x00,

0x00,0x06,0x0C,0x00,0x00,0x0E,0x0C,0x00,

0x00,0x03,0xCC,0x00,0x00,0x63,0x8C,0x00,

0x00,0x07,0xCC,0x00,0x00,0x03,0xCC,0x00,

0x00,0x00,0x0C,0x00,0x00,0x00,0x1C,0x00,

0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char cui32H[]={

/* 以下是'崔' 的32点阵华文新魏字模,128 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,

0x00,0x01,0x80,0x00,0x00,0x01,0x84,0x00,

0x00,0x01,0x86,0x00,0x00,0x01,0x86,0x00,

0x00,0xC1,0x84,0x00,0x00,0xC3,0xFC,0x00,

0x00,0x7F,0xFC,0x00,0x00,0x3E,0x20,0x00,

0x00,0x10,0x20,0x00,0x00,0x10,0x30,0x00,

0x00,0x10,0x3E,0x00,0x00,0x30,0x7F,0x00,

0x00,0x27,0xF0,0x00,0x00,0x60,0x30,0x00,

0x00,0xA0,0x3E,0x00,0x00,0x31,0xF0,0x00,

0x00,0x20,0x30,0x00,0x02,0x20,0x3E,0x00,

0x00,0x21,0xF0,0x00,0x00,0x20,0x30,0x00,

0x00,0x20,0x3F,0xC0,0x00,0x21,0xFF,0xE0,

0x00,0x38,0x00,0x20,0x00,0x20,0x00,0x00,

0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char yu32H[]={

/* 以下是'宇' 的32点阵华文新魏字模,128 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x01,0x00,0x00,0x00,0x01,0x80,0x00,

0x00,0x01,0x80,0x00,0x00,0x00,0xC0,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,

0x00,0x00,0x7F,0x00,0x00,0x03,0xC0,0x80,

0x00,0x1C,0x00,0xC0,0x00,0x80,0x21,0xC0,

0x01,0x87,0xF0,0x00,0x00,0x8F,0xC0,0x00,

0x00,0x00,0xC0,0x00,0x00,0x00,0xC1,0x00,

0x00,0x01,0xFF,0x80,0x00,0x1F,0xFF,0xC0,

0x01,0xE0,0xC0,0x00,0x02,0x00,0xC0,0x00,

0x00,0x00,0xC0,0x00,0x00,0x00,0xC0,0x00,

0x00,0x00,0xC0,0x00,0x00,0x00,0xC0,0x00,

0x00,0x00,0xC0,0x00,0x00,0x00,0xC0,0x00,

0x00,0x00,0xC0,0x00,0x00,0x3F,0xC0,0x00,

0x00,0x1F,0xC0,0x00,0x00,0x01,0x80,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char wang32H[]={

/* 以下是'王' 的32点阵华文新魏字模,128 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,

0x00,0x1F,0xFC,0x00,0x00,0x0F,0xF0,0x00,

0x00,0x0F,0xE0,0x00,0x00,0x00,0xC0,0x00,

0x00,0x00,0xC0,0x00,0x00,0x00,0xC4,0x00,

0x00,0x00,0xFE,0x00,0x00,0x1F,0xFC,0x00,

0x00,0x0F,0xE0,0x00,0x00,0x09,0xC0,0x00,

0x00,0x00,0xC0,0x00,0x00,0x00,0xC0,0x00,

0x00,0x00,0xC0,0x00,0x00,0x01,0xFF,0xE0,

0x00,0x07,0xFF,0xF0,0x00,0xF9,0x80,0x70,

0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char xiao32H[]={

/* 以下是'晓' 的32点阵华文新魏字模,128 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,

0x00,0x00,0x22,0x00,0x00,0x00,0x26,0x00,

0x00,0x10,0x3C,0x00,0x00,0xFC,0x78,0x00,

0x03,0x09,0xD9,0x00,0x03,0x08,0x1C,0x00,

0x03,0x08,0x08,0x00,0x03,0x08,0x24,0x00,

0x07,0xC8,0x40,0x20,0x06,0x08,0x01,0xE0,

0x06,0x08,0x08,0x60,0x02,0x18,0xF8,0x00,

0x02,0x08,0xE0,0x00,0x02,0x88,0x58,0x00,

0x03,0x08,0x10,0x00,0x06,0x08,0x10,0x00,

0x0C,0x00,0xB0,0x00,0x08,0x00,0x30,0x02,

0x00,0x00,0x10,0x06,0x00,0x02,0x10,0x06,

0x00,0x08,0x0F,0xFE,0x00,0x00,0x07,0xFE,

0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char lin32H[]={

/* 以下是'琳' 的32点阵华文新魏字模,128 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,

0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,

0x00,0x02,0x04,0x00,0x00,0x02,0x04,0x00,

0x03,0xC3,0x07,0x80,0x07,0x83,0x8F,0x80,

0x07,0x0F,0xFE,0x00,0x01,0x1F,0x04,0x00,

0x01,0x13,0x04,0x00,0x01,0xC3,0x8E,0x00,

0x0F,0x02,0x1F,0x00,0x0F,0x06,0x3C,0x00,

0x03,0x06,0x74,0x40,0x03,0x8E,0xE4,0x70,

0x03,0x0B,0x84,0x7C,0x02,0x12,0x04,0x1E,

0x0C,0x22,0x04,0x00,0x08,0x02,0x04,0x00,

0x00,0x02,0x04,0x00,0x00,0x02,0x3C,0x00,

0x00,0x02,0x0C,0x00,0x00,0x00,0x02,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char liu32H[]={

/* 以下是'刘' 的32点阵华文新魏字模,128 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,

0x00,0x30,0x01,0x80,0x00,0x18,0x01,0x80,

0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,

0x00,0x00,0x21,0x80,0x00,0x07,0x31,0x80,

0x00,0x3F,0x31,0x80,0x07,0xFC,0x31,0x80,

0x03,0x0C,0x31,0x80,0x00,0x08,0x11,0x80,

0x00,0x08,0x11,0x80,0x00,0x98,0x11,0x80,

0x00,0x38,0x11,0x80,0x00,0x3C,0x01,0x80,

0x00,0x3E,0x01,0x80,0x00,0x46,0x01,0x80,

0x00,0x82,0x01,0x80,0x03,0x00,0x01,0x80,

0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,

0x00,0x00,0x1F,0x80,0x00,0x00,0x07,0x80,

0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char qing32H[]={

/* 以下是'庆' 的32点阵华文新魏字模,128 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x80,0x00,0x00,0x00,0xC0,0x00,

0x00,0x00,0xC0,0x00,0x00,0x00,0x40,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,

0x00,0x00,0x3E,0x00,0x00,0x03,0xFF,0x00,

0x00,0x7F,0xC0,0x00,0x00,0x71,0xC0,0x00,

0x00,0x41,0xC0,0x00,0x00,0x41,0xC0,0x00,

0x00,0x41,0xC4,0x00,0x00,0xC1,0xFE,0x00,

0x00,0xDF,0xFE,0x00,0x00,0x9F,0xC0,0x00,

0x01,0x11,0xC0,0x00,0x01,0x01,0xC0,0x00,

0x04,0x02,0x08,0x00,0x0C,0x04,0x04,0x00,

0x18,0x08,0x02,0x00,0x20,0x30,0x03,0x80,

0x00,0x70,0x03,0xE0,0x00,0x00,0x01,0xF8,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

char song32H[]={

/* 以下是'松' 的32点阵华文新魏字模,128 byte */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x20,0x00,0x00,0x00,0x60,0x00,0x00,

0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x00,

0x00,0x40,0x00,0x00,0x00,0x40,0x08,0x00,

0x00,0x40,0x04,0x00,0x00,0x70,0x82,0x00,

0x01,0xE1,0x01,0x00,0x1F,0xC2,0x00,0x80,

0x1C,0xC2,0x00,0xE0,0x00,0xE0,0x30,0xF8,

0x00,0xF0,0x60,0x08,0x00,0xF0,0x40,0x00,

0x01,0xC0,0x80,0x00,0x03,0x40,0x80,0x00,

0x06,0x41,0xF0,0x00,0x04,0x43,0xE1,0x00,

0x00,0x47,0x83,0x00,0x00,0x40,0x01,0x80,

0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

void drawmat(char *mat,int matsize,int x,int y,int color)

/*依次:字模指针、点阵大小、起始坐标(x,y)、颜色*/ {int i,j,k,n;

n=(matsize-1)/8+1;

for(j=0;j

for(i=0;i

for(k=0;k<8;k++)

if(mat[j*n+i]&(0x80>>k)) /*测试为1的位则显示*/

putpixel(x+i*8+k,y+j,color);

}

float th=PI/180; /*定义全局变量th */

star(int x,int y,int r)

{

int r0=r*sin(18*th)/cos(36*th); /*计算小圆半径r0 */

int i,color;

int x1[6],y1[6],x2[6],y2[6];

for(i=0;i<6;i++)

{

x1[i]=x+r*cos((90+i*72)*th); /* 计算出大圆上的五个平均分布点的坐标*/ y1[i]=y-r*sin((90+i*72)*th);

x2[i]=x+r0*cos((54+i*72)*th); /* 计算出小圆上的五个平均分布点的坐标*/ y2[i]=y-r0*sin((54+i*72)*th);

}

setcolor(RED);

for(i=0;i<5;i++) /* 将相应的点用线连接起来。*/

{

line(x,y,x1[i],y1[i]);

line(x,y,x2[i],y2[i]);

line(x1[i],y1[i],x2[i],y2[i]);

line(x1[i],y1[i],x2[i+1],y2[i+1]);

}

for(i=0;i<10;i++) /* 分别填充相应部位,形成立体效果*/

{

setfillstyle(1,i%2?RED:LIGHTRED);

floodfill(x+10*cos(i*36*th),y-10*sin(i*36*th),RED);

}

}

void interrupt(*handler)(); /*声音文件*/

void interrupt music();

int fr[]={392,523,587,587,659,659,659,523,587,659,392,392,494,494,784,\ 880,988,523,523,330,587,587,587,262,262,392,294,392,330,494,\

330,440,330,440,330,494,330,523,659};

int tim[]={2,2,2,4,4,8,2,2,2,2,4,2,8,4,4,4,4,4,2,8,4,2,2,4,8,4,4,2,4,4,

4,4,2,2,4,2,4,4,12};

int donghua() /*动画*/

{

int gd=DETECT,gm,i,j;

initgraph(&gd,&gm,"c:\\Win-TC\\BGI");

setbkcolor(BLUE);

star(320,240,120); /*调用自定义函数star()。*/

drawmat(wang24S,24,40,50,YELLOW);

drawmat(bo24L,24,190,76,RED);

drawmat(tao32L,32,340,50,WHITE);

drawmat(zu32L,32,490,76,BROWN);

drawmat(huan32L,32,80,150,WHITE);

drawmat(ying48H,48,295,160,BLACK);

drawmat(ni32S,32,500,160,GREEN);

drawmat(he32H,32,300,365,GREEN);

drawmat(zuo32H,32,330,365,GREEN);

drawmat(zhe32H,32,360,365,GREEN);

outtextxy(386,378,"*");

outtextxy(386,386,"*");

drawmat(cui32H,32,390,365,GREEN);

drawmat(yu32H,32,420,365,GREEN);

drawmat(wang32H,32,456,365,GREEN);

drawmat(xiao32H,32,486,365,GREEN);

drawmat(lin32H,32,516,365,GREEN);

drawmat(liu32H,32,552,365,GREEN);

drawmat(qing32H,32,582,365,GREEN);

drawmat(song32H,32,612,365,GREEN);

handler=getvect(0x1c);

setvect(0x1c,music);

while(!kbhit()) /*下面循环体是绘制光芒部分,可以不要*/ {

setcolor(YELLOW);

for(j=0;j<20;j++)

{

for(i=0;i<120;i++)

ellipse(320,240,i*3,1+i*3,125+j*20,125+j*10);

delay(5000);

}

setcolor(BLACK);

for(j=0;j<20;j++)

{

for(i=0;i<120;i++)

ellipse(320,240,i*3,1+i*3,125+j*20,125+j*10);

delay(5000);

}}

getch();

closegraph();

}

void interrupt music()

{

static int flag=0,note=0,fre,dur;

if(flag>=(int)(dur*3))

{

flag=0;

nosound();

fre=fr[note];

dur=tim[note];

sound(fre);

note++;

if(note>=39)note=0;

}

handler();

flag++;

}

int Maze[16][17];

MazeType maze[16][17];

PosType StartPlace;

PosType EndPlace;

void Paint(void);

void CreatMaze(void);

void DrawWall(int cx,int cy,int color);

void DrawCursor(int cx,int cy,int color);

void Refresh(void);

void Error(char *message);

Status InitStack(Stack *s);

Status DestroyStack(Stack *s);

Status ClearStack(Stack *s);

Boolean StackEmpty(Stack *s);

int StackLength(Stack *s);

Status Push(Stack *s,SElemType e);

SElemType Pop(Stack *s,SElemType e);

Status GetTop(Stack *s,SElemType *e);

Status StackTraverse(Stack *s,Status (* visit)(SElemType *se)); Boolean Pass(PosType curpos);

void MarkPrint(PosType seat);

void FootPrint(PosType curpos);

PosType NextPos(PosType seat,int di);

Status MazePath(PosType start,PosType end);

void Paint(void)

{

int i,j;

int gdriver=DETECT,gmode;

initgraph(&gdriver,&gmode,"c:\\Win-TC\\BGI");

setbkcolor(LIGHTBLUE);

setcolor(10);

outtextxy(190,10,"MazePath Game");

setcolor(RED);

for(i=30;i<=450;i+=30)

line(30,i,480,i);

for(j=30;j<=480;j+=30)

line(j,30,j,450);

rectangle(29,29,481,451);

rectangle(28,28,482,452);

rectangle(490,320,630,470);

setcolor(1);

outtextxy(500,100,"Complete:F9"); /*电脑运行*/ outtextxy(500,120,"Start:Home"); /*创建*/ outtextxy(500,140,"End:End"); /*结束*/ outtextxy(500,160,"Draw wall:Enter"); /*建墙*/ outtextxy(500,180,"Delete wall:Del"); /*删除*/ outtextxy(500,200,"Exit:Esc"); /*退出*/ outtextxy(500,300,"Message:");

for(i=0;i<16;i++)

for(j=0;j<17;j++)

Maze[j][i]=0;

for(i=0;i<17;i++)

{

Maze[0][i]=1;

Maze[15][i]=1;

}

for(i=0;i<16;i++)

{

Maze[i][0]=1;

Maze[i][16]=1;

}

} /* Paint */

void DrawCursor(int cx,int cy,int color) {

setcolor(color);

rectangle(cx-7,cy-7,cx+7,cy+7);

} /* DrawCursor */

void DrawWall(int x,int y,int color)

{

void DrawCursor(int cx,int cy,int color); register int i;

setcolor(color);

x*=30; y*=30;

for(i=y;i<=y+30;i++)

line(x,i,x+30,i);

for(i=x;i<=x+30;i++)

line(i,y,i,y+30);

DrawCursor(x+15,y+15,CURSORCOLOR); } /* DrawWall */

void Refresh(void)

{

register int i,j;

setcolor(BKCOLOR);

for(i=1;i<=480;i++)

line(1,i,480,i);

for(j=1;j<=480;j++)

line(i,1,i,480);

setcolor(WALLCOLOR);

rectangle(29,29,481,451);

rectangle(28,28,482,452);

rectangle(30,30,480,450);

for(i=1;i<=15;i++)

for(j=1;j<=14;j++)

迷宫问题课程设计报告

目录 第一章:设计问题描述与分析 (1) 1.1.课程设计内容 (1) 1.2. 问题分析 (1) 1.3.功能实现 (2) 1.4.运行环境 (3) 第二章:算法设计与流程图 (4) 2.1.主函数的流程图 (4) 2.2.概要设计 (5) 2.4详细设计 (6) 2.4.1. 节点类型和指针类型 (6) 2.4.2.迷宫的操作 (6) (1)生成迷宫 (6) (2)打印迷宫矩阵与字符图形 (7) (3)迷宫求解路由求解操作 (7) (4)打印迷宫通路坐标 (8) (5)输出迷宫通路的字符图形 (8) 2.4.3. 主函数 (9) 第三章:调试分析 (10) 第四章:使用说明 (11)

第五章:测试结果 (12) 附录1 (19) 附录2 (19)

第一章:设计问题描述与分析 1.1.课程设计内容: 该系统是由C 语言编写的生成一个N×M(N行M列)的迷宫,完成迷宫的组织和存储,并实现迷宫路由算法。基本要求1、 N和M是用户可配置的,缺省值为50和50。 2、迷宫的入口和出口分别在左上角和右下角。 提示:(1)可以使用二维数组maze[M+2][N+2]表示迷宫,其中M,N为迷宫的行、列数,当元素值为0时表示该点是通路,当元素值为1时表示该点是墙。老鼠在每一点都有4种方向可以走,可以用数组move[4]来表示每一个方向上的横纵坐标的偏移量,可用另一个二维数组mark[M+2][N+2]记录节点的访问情况。(2)可以选用深度优先算法或广度优先算法实行,迷宫可由自动或手动生成。测试用例应该包含有解迷宫和无解迷宫。 1.2. 问题分析 本程序要求实现迷宫问题的相关操作,包括迷宫的组织和存储,并实现迷宫路由算法(即查找迷宫路径)。程序所能达到的:具体包括迷宫的建立,迷宫的存储(迷宫由自动生成或手动生成),迷宫中路径的查找 迷宫是一个矩形区域,迷宫存在一个入口和一个出口,其内部包含了不能穿越的墙或者障碍。迷宫的建立即是建立这样一个迷宫矩阵,用于存储迷宫信息,包括可穿越的路和不可穿越的墙或者障碍,分别用0表示通路,1表示障碍。对于迷宫矩阵,用m×n的矩阵来描述,m和n分别代表迷宫的行数和列数。这样,则迷宫中的每个位置都可以用其行号和列号来指定。从入口到出口的路径是由一组位置构成的。每个位置上都没有障碍,且每个位置(第一个除外)都是前一个位置的上、下、左、右的邻居。 为了描述迷宫中位置(i ,j)处有无障碍,规定,当位置(i ,j)处有一个障碍时,其值为1,否则为0.这样迷宫就可以用0、1矩阵来描述,在构造矩阵时,为了操作方便会将矩阵四周置为1(不通)。

程序设计课程设计实验报告

《程序设计》课程设计姓名: 学号: 班级:软件工程14班 指导教师: 成绩:

1.消除类游戏 【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n,m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m 个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 测试数据二 输出说明: 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 【功能实现】 #include #include<> usingnamespacestd;

{ intm,n,i,j; inttemp; cin>>n>>m; temp=m; m=n; n=temp; int*map=newint[m*n]; int*mark=newint[m*n]; int*tmap=map; int*tmark=mark; intdif=0; ount=0; } p rintf("请输入要输入数的个数\n"); s canf("%d",&n);/*输入要输入数的个数*/ f or(i=0;idata1[j+1].number)

(完整word版)走迷宫游戏程序设计.docx

《C 语言程序设计》 题目走迷宫游戏程序设计 一、内容 本系统主要实现了走迷宫游戏,执行游戏的时候出现迷宫图案,每次各不相同,但是入 口均在左上角,出口在右下角,出入口各有“出”、“入”提示。人物为㊣,“█”表示墙,外围为一圈墙,空白部分为可行走的路,使用“上”、“下”、“左”、“右”键操作㊣,当遭遇“墙”时无法前进,操作“█”上下左右移动,直至走到出口,游戏胜利。当无法走出迷宫 时,按“ Esc”键即可退出游戏。 二、上机环境 操作系统: windows XP 开发工具: vc6.0 三、函数调用关系图

main 函数 creat 函数paint 函数game 函数gotoxy 函数get_key函数gotox 函数 图一:函数调用关系图 四、各函数功能说明 main 函数:主函数; create函数:随机生成迷宫; paint函数:画出迷宫; game函数:开始游戏; gotoxy 函数:在文本窗口设置光标; get_key函数:接受按键; 五、算法描述或流程图

开始 游戏界面 画长 33 宽 31 迷宫玩家继续移动人物 开始游戏 N 玩家移动人物 是否到达 口? 出N Y 是否遇 到墙?游戏成功 Y 结束人物坐标位置不变 图二:算法流程图 六、程序运行效果图

图三:游戏开始效果图

图四:到达终点效果图 七、总结 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践 能力的重要环节。大学来说掌握计算机开发技术是十分重要的。在程序设计的过程中,我遇到了不少的问题,请教过学姐或者学长,也请教了老师,最后将程序设计好了。回顾起此次 课程设计,我感慨良多,从拿到题目到完成整个编程,从理论到实践,在整整两个星期的日 子里,我学到了很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识,我发现 c 语言是一门有趣的课程,对它产生了很大的兴趣。并且我明白了细心真的很重要,有时候就是因为一点点的小错误,而导致程序无法调试,并且需要花较长的时间去寻找错误。细心很重要的。 两个星期前的现在,当听到老师布置给我们的题目时,我们都蒙了,这么难的题目我们怎么会啊,我们只能尽我们自己最大的努力把程序给写出来,虽然知道这一路肯定是异常的 艰苦,但豁出去了。上网查资料、去图书馆查,查相关的函数,经过两三天的努力,我把框 架弄出来了,可是还有计算难题摆在我的面前,真的是个难题,自从把框架弄好了以后就没 有进展了,眼看一个星期快过去了,我那个急啊,可是急也没有用。我坚持,终于工夫不负 有心人,大功告成了。

课程设计报告示例:迷宫求解

安徽建筑大学 课程设计报告 课程名称:数据结构与算法课程设计 题目:迷宫求解 院系:数理系 专业:信息与计算数学 班级: 学号: 姓名: 时间:

目录 一、需求分析 (2) 1.问题描述: (2) 2.基本要求 (2) 二、概要设计 (3) 1.数据结构 (3) 2.程序模块 (3) 3.算法设计 (5) 三、详细设计 (7) 1.数据类型定义 (7) 2.函数实现代码 (7) 3.函数之间的调用关系 (7) 四、调试分析 (7) 五、用户手册 (8) 六、测试结果 (8) 七、参考文献 (9) 八、附录 (9)

迷宫求解题目: 以一个m×n长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍,设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。(1)以二维数组存储迷宫数据; (2)求得的通路以二元组( i , j )的形式输出,其中(i, j)指示迷宫中的一个坐标。 一、需求分析 1. 问题描述: 在迷宫中求出从入口到出口的路径。经分析,一个简单的求解方法是:从入口出发,沿某一方向进行探索,若能走通,则继续向前走;否则沿原路返回,换一方向再进行搜索,直到所有可能的通路都探索到为止。即所谓的回溯法。 求迷宫中从入口到出口的所有路径是一个经典的程序设计问题。由于计算机解迷宫时,通常用的是“穷举求解”的方法,即从入口出发,顺某一方向向前探索,若能走通,则继续往前走;否则沿原路退回,换一个方向再继续探索,直至所有可能的通路都探索到为止。为了保证在任何位置上都能沿原路退回,显然需要用一个后进先出的结构来保存从入口到当前位置的路径。因此,在求迷宫通路的算法中应用“栈”也就是自然而然的事了。 假设“当前位置”指的是“在搜索过程中某一时刻所在图中某个方块位置”,则求迷宫中一条路径的算法的基本思想是:若当前位置"可通",则纳入"当前路径",并继续朝“下一位置”探索,即切换“下一位置”为“当前位置”,如此重复直至到达出口;若当前位置“不可通”,则应顺着“来向”退回到“前一通道块”,然后朝着除“来向”之外的其他方向继续探索;若该通道块的四周四个方块均“不可通”,则应从“当前路径”上删除该通道块。所谓“下一位置”指的是“当前位置”四周四个方向(东、南、西、北)上相邻的方块。 2. 基本要求 (1)以二维数组maze.adr[m+1][n+1]表示迷宫,其中mg[0][j]和mg[m+1][j](0 j n)及mg[i][0]和mg[i][n](0 i m)为添加的一圈障碍,数组中以元素值为0表示通路,1表示障碍,限定迷宫大小m,n 10。 (2)用户以文件的形式输入迷宫的数据:文件中第一行的数据为迷宫的行数m 和列数n;从第2行至第m+1行(每行n个数)为迷宫值,同一行的两个数之间用空 白字符相隔。 (3)迷宫入口为(1,1),出口为(m,n)。 (4)每次移动只能从一个无障碍的单元到周围8个方向上任意无障碍的单元,编制程序给出一条通过迷宫的路径或报告一个“无法通过”的信息。 (5)本程序只求出一条成功的通路。 3.测试数据见下表,当入口为(1,1)时,出口为(8,8) 用一个字符类型的二微数组表示迷宫,数组中的每个元素表示一个小方格,取值“0”(表示可以进出)或“1”(表示不可以进出) 随机产生一个8*8的迷宫,其中使用迷宫障碍坐标如下: (1,3),(1,7),(2,3),(2,7),(3,5),(3,6), (4,3),(4,4),(5,4),(6,2),(6,6),(7,2),(7,3), (7,4),(7,6),(7,7),(8,1)。

贪吃蛇游戏程序设计实验报告

Windows编程大作业贪吃蛇设计与实现 学校:武汉轻工大学 院系: 班级: 姓名: 学号: 2015年12月16日

目录 一、题目介绍 二、设计目的 三、详细设计 3.1贪吃蛇本体设计 3.2贪吃蛇食物设计 3.3游戏界面设计 3.3.1游戏初始化 3.3.2游戏开始 3.3.3游戏暂停 3.3.4游戏退出 3.3.5游戏总界面 3.3.6游戏区域与背景 3.3.7关于SNAKE 3.4玩法规则设计 3.5核心设计 四、功能测试 五、总结 六、参考文献

一、题目介绍: 编写一个基于MFC的小游戏。 基本要求: 1、实现一个小游戏 2、实现基本游戏控制功能 3、具有游戏数据保存功能 4、界面布局合理、美观; 二、设计目的: 通过使用vc++6.0实现一个小游戏的课程设计,进一步掌握MFC的高级使用方法和锻炼自己动手写程序的能力。了解游戏设计的整个过程,通过熟练使用MFC来设计游戏。程序主要包括:游戏界面设计,游戏菜单栏设计,游戏初始化,游戏控制等。培养和锻炼开发游戏的能力。 三、详细设计 3.1贪吃蛇的本体设计 贪吃蛇的头部拥有一个坐标(x,y),蛇体有一个长度len,蛇有一个运动方向direct,故定义一个结构体如下: struct Snake { int x,y; int len; int direct; }Snake[50]; 3.2贪吃蛇食物设计 贪吃蛇的食物有一个坐标(x,y),此食物有一个标志isfood,当isfood为0时,表示食物还没被吃,为1时,表示被吃。 struct Food { int x; int y; int isfood; }Food; 3.3游戏界面设计 3.3.1游戏初始化 游戏初始蛇体长度为3,颜色为灰色,食物标志为1,因为此时没有显示出食物,需要随机生成后,才置为0;

课程设计报告(迷宫)详解

武汉东湖学院计算机科学学院 课程设计报告 课程名称数据结构课程设 题目深度与广度优先搜索 迷宫问题 专业班级(请自己填写) 学号(请自己填写) 学生姓名(请自己填写) 指导教师吴佳芬 (请自己填写)年(请自己填写)月(请自己填写)日

武汉东湖学院计算机科学学院 课程设计任务书 课程名称:数据结构课程设计 设计题目:深度与广度优先搜索:迷宫问题 专业:(请自己填写)班级:(请自己填写) 完成时间:自己填写指导教师:吴佳芬专业负责人:许先斌

武汉大学东湖分校计算机科学学院 课程设计成绩评价表 指导教师:吴佳芬年月日

(由学生完成,以下为摸版) 【软件课程设计报告目录】 1、需求分析 说明程序设计的任务,强调的是程序要做什么,明确规定: (1)输入的形式和输入值的范围; (2)输出的形式; (3)程序所能达到的功能; (4)测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。 2、概要设计 说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系。 3、详细设计 实现概要设计中定义的所有数据类型,对每个操作只需要写出伪码算法;对主程序和其他模块也都需要写出伪码算法;画出函数的调用关系。 4、使用说明、测试分析及结果 (1)说明如何使用你编写的程序; (2)测试结果与分析; (3)调试过程中遇到的问题是如何解决提以及对设计与实现的回顾讨论和分析; (4)运行界面。 5、课程设计总结(设计心得) (1)你在编程过程中用时多少?多少时间在纸上设计?多少时间上机输入和调试?多少时间在思考问题? (2)遇到了哪些难题?你是怎么克服的? (3)你对算法有什么改正想法吗? (4)你的收获有哪些? 参考文献 (由学生完成,以下为摸版,编页码:共x页,第x页)

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

java课设走迷宫含代码

目录1.设计目的 1.1课程设计的目的 2.总体设计 2.1设计思路 2.2设计方法 3.关键技术 4.程序流程 5.主要源代码 6. 运行结果及结论 7.参考文献

1.设计目的 1.1课程设计的目的 随着科技进步,时代发展,计算机走进了大家的生活。计算机程序强大的功能为使用者提供服务,编程语言也变得越来越流行。Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。 为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,熟练应用面向对象的思想和设计方法解决实际问题的能力,也是为了增加同学们娱乐游戏选择而开发了一个适合学生的,能提升思考力的迷宫冒险游戏,这既锻炼了动手能力,还能进行消遣娱乐,可谓一举两得。 2.总体设计 2.1设计思路 根据对游戏系统进行的需求分析,本系统将分为6个模块:分别是迷宫主界面模块、记时设计模块、迷宫设计模块、道路和障碍设计模块、动漫冒险者设计模块、出入口设计模块。实现的功能有: (1)迷宫的选择 玩家可以根据自身需求来进行选择简单迷宫、中等迷宫、难度迷宫三类中选择一类迷宫进行游戏。 (2)选择道路和障碍的图像 玩家可以根据个人喜好对迷宫中的道路和障碍的图片进行选择,但是图片的格式有规定,必须是“jpg”或“gif”格式的。 (3)游戏记时 当玩家控制迷宫中的动漫人物进行游戏时,计时器就开始进行记时,直到动漫人物到达出口时,记时结束,并在屏幕上显示游戏用时。 (4)开始游戏 玩家将鼠标移动至迷宫中的动漫冒险者,即可看到“单击我然后按键盘方向键”,单击后,游戏开始。玩家即可通过键盘上的方向键进行游戏。 (5)游戏结束 玩家控制动漫冒险者移动至迷宫地图的出口处时,游戏的计时器停止计时,并弹出信息框“恭喜您通关了”,游戏结束。

迷宫与栈课程设计报告范例

(此文档为word格式,下载后您可任意编辑修改!) 北京理工大学珠海学院课程设计说明书 _2014_—_2015_学年第_一_学期 题目: 迷宫与栈 学院:计算机学院 专业班级:软件工程x班 学号 x 学生姓名: XXX 指导教师:何春香 成绩: 时间: 2014年 11 月 7日

附件4: 北京理工大学珠海学院 课程设计任务书 2014 ~2015 学年第学期 学生姓名:专业班级: 指导教师:何春香工作部门:软件工程教研室一、课程设计题目 迷宫与栈问题 二、课程设计内容(含技术指标) 【问题描述】 以一个mXn的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 【任务要求】 首先实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出。其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。如,对于下列数据的迷宫,输出一条通路为:(1,1,1),(1,2,2),(2,2,2),(3,2,3),(3,1,2),…。 编写递归形式的算法,求得迷宫中所有可能的通路。 以方阵形式输出迷宫及其通路。 【测试数据】 迷宫的测试数据如下:左上角(0,1)为入口,右下角(8,9)

为出口。 出口 出口 三、进度安排 1.初步设计:写出初步设计思路,进行修改完善,并进行初步设计。 2.详细设计:根据确定的设计思想,进一步完善初步设计内容,按要求编写出数据结构类型定义、各算法程序、主函数。编译分析调试错误。 3.测试分析:设计几组数据进行测试分析,查找存在的设计缺陷,完善程序。 4.报告撰写:根据上面设计过程和结果,按照要求写出设计报告。 5.答辩考核验收:教师按组(人)检查验收,并提出相关问题,以便检验设计完成情况。 四、基本要求 1.在设计时,要严格按照题意要求独立进行设计,不能随意更改。若确因条件所限,必须要改变课题要求时,应在征得指导教师同意的前提下进行。 2.在设计完成后,应当场运行和答辩,由指导教师验收,只有在验收合格后才能算设计部分的结束。 3.设计结束后要写出课程设计报告,以作为整个课程设计评分的书面依据和存档材料。设计报告以规定格式的电子文档书写、打印

Java程序设计实验报告2(弹球游戏)[1]1

《Java语言程序设计》课程设计 实习报告 题目: 班级: 学号: 姓名: 同组人员: 指导老师:张彬

一、实验目的 1、掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。 2、掌握多线程编程的基本原理,能使用Runnable、ExecutorService等接口进行 线程的创建、启动等工作。 3、培养独立查找资料,并解决问题的能力。 二、实验任务 1、设计并编程实现弹球游戏: 用户能通过GUI组件指定生成小球的数量,每个小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。 鼠标在界面中显示为方块状,玩家需按住鼠标来回移动以避开运动的小球及屏幕四周,如果鼠标碰到任一小球或者窗口四周,则游戏结束。 程序需提供计时功能,并最终显示玩家能坚持多少秒。 2、程序要求: (1)具备相应界面,并通过事件编程,实现相应的GUI组件功能。 (2)使用多线程技术,在程序窗口区域绘制小球,并以线程控制小球的移动,实现动画效果。 (3)实现鼠标与屏幕四周,以及与小球的碰撞检测。 三、开发工具与平台 1.开发工具:Eclipse默认是一个和Jbuilder类似的Java开发工具,但它不仅仅只

是Java开发工具,只要装上相应的插件,eclipse也可作为其它语言的开发工具。如C/C++插件(CDT)。 2.开发平台:JDK1.5 四、设计思路 1.界面设计 (1)制作一个简单的面板JFrame,文件保存为bollFrame.java 其中为一public的类bollFrame,其构造方法为: bollFrame(int n){ super(); setTitle("我的弹球小游戏"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();//得到电脑屏幕大小 setSize(450,450); setLocation((dimension.width-game.getWidth())/2-250, (dimension.height-game.getHeight())/2-250);//设置面板显示基中; this.n = n; myBollPanel = new bollPanel(n);//构造一个画板; add(myBollPanel);//将画板放入JFrame createMenu();//创建菜单; setJMenuBar(bar); } (2)构造画板类,文件保存为bollPanel.java 其构造函数如下: bollPanel(int n){ this.n = n; // executorThread = Executors.newCachedThreadPool();//创建线程池; mouse = new mouseThread(mxNow,myNow,groupThread,this);//启动鼠标线程; this.setIsOver(false);//游戏开始线程条件的判断; for(int i =0 ;i

大班游戏教案《走迷宫》

大班游戏教案《走迷宫》 【设计意图】 走迷宫能有效地提高幼儿的有意注意和空间智能,帮助幼儿学会整体观察、全方位思考,培养幼儿逆向思维能力及沉着冷静、敢于挑战的品质等。 我班幼儿对走迷宫有一定经验,但能力参差不齐。有的幼儿能迅速判断并选择通畅的路径走出迷宫; 有的幼儿很容易迷失方向,多次“碰壁”后才能走出迷宫; 有的幼儿急于求成,缺乏一定的耐心,等等。基于此,我们设计了这个活动,将数学学习融入走迷宫游戏中,让幼儿在轻松愉快又富有挑战的情境中,提升经验,形成策略,巩固走迷宫的方法。 【活动目标】 1. 掌握走迷宫的一般方法(从进口走向出口;遇到岔路口选路线遇到死胡同回岔路口换条路线走等),学会反向检查(即从出口走向进口)。 2. 喜欢走迷宫,体验探究成功的喜悦。 3. 通过小组合作的形式,运用自己喜欢的的方式表达表现。 4. 初步培养幼儿有礼貌的行为。 【活动准备】 1. 幼儿会认读数字l ~10,知道数序。

2. 教具:电脑课件或图片《走迷宫》一套(大鱼迷宫(图1),数字迷宫(图2),公园迷宫(图3)]。 3. 学具:第1组,“菠萝迷宫”图(图4)、盒子、笔;第2 组,“灰熊迷宫”图(图5)、盒子、笔;第3组,“到海边去”图(图6)、盒子、笔;第4 组,“去吃汉堡"图(图7)、盒子、笔;第5 组,“送 花给妈妈”图(图8)、盒子、笔。 4. 每个幼儿胸前挂一个夹子。 5. 在数学角投放多种已塑封的迷宫图,水彩笔,抹布。 【活动过程】 一、感知了解 1. 揭示课题,引发兴趣。 师(操作课件或图片):欢迎来到迷宫王国。今天,我们要在迷宫王国里玩闯关游戏。有没有信心获胜? 2. 引导幼儿了解走迷宫的方法。 (1)出示“大鱼迷宫”图。 ①感知线条迷宫的结构,了解走迷宫的方法。 师:这是什么迷宫?这个箭头表示什么?(迷宫的进口。)那个箭头又表示迷宫的什么?(出口。) 师:谁知道迷宫一般是怎么走的?(幼儿自由回答。)师幼(小结):迷宫图,拿到手,先找进口和出口,沿着进口通道走,最后顺利到出口。

《数据结构》课程设计报告-运动会分数统计 一元多项式 迷宫求解 文章编辑 纸牌游戏等

《数据结构》课程设计报告-运动会分数统计一元多项式迷宫求解文章编辑纸牌游戏等

南京林业大学 数据结构课程设计报告 专业:计算机科学与技术 课程名称:数据结构 姓名: 学号:090801126 指导老师: 时间: 2011年1月

目录要点: 一.具体内容(题目) (1) 二.需求分析(功能要求) (2) 三.概要设计(程序设计思想) (3) 四.详细设计(源代码) (6) 五.调试分析(运行结果显示及说明) (31) 六.课设总结 (34) 题目1: 运动会分数统计** 任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7,5,3,2,1,取前三名的积分分别为:5,3,2,;哪些取前五名或前三名由学生自己设定。(m〈=20,n〈=20); 题目2:一元多项式** 任务:能够按照指数降序排列建立并输出多项式; 能够完成两个多项式的相加,相减,并将结果输入; 题目4:迷宫求解 任务:可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出; 题目5:文章编辑** 功能:输入一页文字,程序可以统计出文字、数字、空格的个数。 静态存储一页文章,每行最多不超过80个字符,共N行; 题目6:Joseph环 任务:编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有的人出列为止。设计一个程序来求出出列的顺序。 2

最简单的c语言迷宫游戏实验报告

一、内容: 1、本游戏主要实现了人控制键盘方向键使小人(*)走出迷宫。 2、具有的功能: 1)、在游戏菜单里人可以选择不同难度的游戏进行游戏; 2)、在游戏过程中,可以通过键盘方向键使小人移动,走出迷宫; 3)、在游戏过程中,当人碰到墙壁(#)的时候小人过不去; 4)、当人顺利完成游戏之后,输出“========you are win!======”字样,30秒钟后自动返回到游戏菜单; 5)、在游戏过程中,人可以通过按Esc键返回游戏菜单;也可以可以按0直接退出游戏; 6)、在游戏菜单里,按0键可以退出游戏。 3、具体应用: 1)、人主要同过键盘的1,2,3数字键来选择游戏难度; 2)、在游戏中通过Esc键来返回菜单; 3)、同过0键退出游戏。 二、上机环境 操作系统:windows7 开发工具:VC6.0 三、函数调用关系图

四、各函数功能说明 main() 主函数; menu() 游戏菜单; roadcake() 消去小人路径; introduce() 游戏介绍; system(“cls”) 消屏函数; exit(0) 退出游戏; drawmg1() 画初级难度迷宫; drawmg2() 画中级难度迷宫; drawmg3() 画高级难度迷宫; control1() 控制初级难度游戏; control2() 控制中级难度游戏; control3() 控制高级难度游戏; 五、算法流程图 首先定义三个全局数组mg1[20][20]、mg2[30][30]、mg3[30][30]用于画出迷宫的地图;1表示墙(#),0表示空地(); Introduce( )函数里如果按Enter键,则调用menu( )函数,从键盘中输入相应的提示数字,进入难度不同的游戏;游戏的执行在此只初级难度进行描述,其余的难 度与其类似; 选了1后调用system(”cls”)进行清屏;drawmg1()函数进行迷宫的地图的绘

数据结构课程设计——迷宫问题课程设计报告

迷宫问题 ——王欣歆20080564 一.需求设计:以一个m*m 的方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口的通道,或得出没有通路的结论。二.概要设计: 存储结构: 采用了数组以及结构体来存储数据,在探索迷宫的过程中用到的栈,属于顺序存储结构。 /*八个方向的数组表示形式*/ int move[8][2]={{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1, 0},{-1, 1}}; /*用结构体表示位置*/ struct position { int x,y; }; position stack[m*m+1]; 基本算法: 走迷宫的过程可以模拟为一个搜索的过程:每到一处,总让它按东、东南、南、西南、西、西北、北、东北8个方向顺序试探下一个位置;如果某方向可以通过,并且不曾到达,则前进一步,在新位置上继续进行搜索;如果8个方向都走不通或曾经到达过,则退回一步,在原来的位置上继续试探下一位置。 每前进或后退一步,都要进行判断:若前进到了出口处,则说明找到了一条通路;若退回到了入口处,则说明不存在通路。 用一个字符类型的二维数组表示迷宫,数组中每个元素取值“0”(表示通路)或“1”(表示墙壁)。迷宫的入口点在位置(1,1)处,出口点在位置(m,m)处。设计一个模拟走迷宫的算法,为其寻找一条从入口点到出口点的通路。 二维数组的第0行、第m+1行、第0列、第m+1列元素全置成“1”,表示迷宫的边界;第1行第1列元素和第m行第m列元素置成“0”,表示迷宫的入口和出口;其余元素值用随机函数产生。 假设当前所在位置是(x,y)。沿某个方向前进一步,它可能到达的位置最多有8个。 如果用二维数组move记录8个方向上行下标增量和列下标增量,则沿第i个方向前进一步,可能到达的新位置坐标可利用move数组确定: x=x+move[i][0] y=y+move[i][1] 从迷宫的入口位置开始,沿图示方向顺序依次进行搜索。在搜索过程中,每前进一步,在所到位置处做标记“ ” (表示这个位置在通路上),并将该位置的坐标压入栈中。 每次后退的时候,先将当前所在位置处的通路标记“ ”改 成死路标记“×”(表示这个位置曾到达过但走不通,以后 不要重复进入),然后将该位置的坐标从栈顶弹出。 678 51 432 x y o

《程序设计课程设计》实验报告材料

《程序设计》课程设计 姓名: 学号: 班级:软件工程14 班 指导教师: 成绩:

1.消除类游戏 1.1【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 1.2【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n, m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 1.3【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 1.4【功能实现】 #include #include using namespace std;

int main() { int m, n, i ,j; int temp; cin >> n >> m; temp = m; m = n; n = temp; int * map = new int[m * n]; int * mark = new int[m * n]; int * tmap = map; int * tmark = mark; int dif = 0; //输入 for ( i = 0 ; i < m ; i++ ) for (j = 0; j < n; j++) cin >> *(tmap + i * n + j); for (i = 0; i < m; i++) for (j = 0; j < n; j++) { //横行 if ((tmap + 2 - map) % n != 0 || (tmap + 1 - map) % n != 0) if (*(tmap) == *(tmap + 1) && * (tmap + 1) == *(tmap + 2)) { dif = tmap - map; *(tmark + dif) = 0; *(tmark + dif + 1) = 0; *(tmark + dif + 2) = 0; } //竖列 if (tmap + 2 * n - map < m * n || tmap + n - map < m * n) if (*(tmap) == *(tmap + n) && * (tmap + n) == *(tmap + 2 * n)) { dif = tmap - map; *(tmark + dif) = 0; *(tmark + dif + n) = 0; *(tmark + dif + 2 * n) = 0; } tmap = map + (j+1) + i * n; } //输出 cout << endl; tmap = map; for (i = 0; i < m; i++)

初中信息技术七年级《Scratch:小猫走迷宫》公开课精品教案

Scratch《小猫走迷宫》教学设计
刘亚丽 一、教材分析 Scratch 是一门全新的程序设计语言,用其可以很容易的创造交互式故事情节,动画,游 戏,可以大大增加学生的学习兴趣。本课是学生学习的第三课,前两节介绍了 scratch 的界面 和功能,角色的添加、绘制,角色造型的切换,舞台的设置,基本模块的简单应用等,本节课 通过 《小猫走迷宫》 这个生动有趣的实例, 让学生在实践中了解程序设计的思维方式, 熟悉 “动 作、控制、外观、侦测”等模块的用法,提高学生的学习兴趣。本课的内容有承上启下的作用, 为后面程序的编写做了铺垫。b5E2RGbCAP 二、学情分析 本课的教学对象是七年级内初班学生,大部分学生计算机操作水平较低,也是初次接触 scratch 软件, 通过前两节课的学习, 已经掌握了添加、 删除角色, 造型编辑与切换, 对 Scratch 编程创作有了一定的体会,能设计控制角色运动的简单脚本,为本节课的学习奠定了基础。并 且学生对学习本软件很高的兴趣,有利于后续课程的开展。p1EanqFDPw 三、教学目标分析 (一)知识与技能: 1. 学会使用方向键或键盘字母控制角色的运 2.学会使用 3. 能 够 将 4. 会用 , 插入到 模块表达角 , 等模块指令。 条件判断模块中,实现条件的选择功能。 色心里想说的内容。 动。
(二)过程与方法: 1.通过案例分析,让学生理解程序设计的思维方式。 2.通过教师演示、引导,学生自主练习,合作探究,实现知识的拓展和迁移。 3.通过自己编写游戏,激发学生学习兴趣,感受成功喜悦。 (三)情感态度价值观: 1.激发创作热情,建立科学的思维方式。 2.培养自主学习、合作学习的精神。 四、教学重点:“动作、控制、侦测”等模块的用法。 五、教学难点:对循环语句“重复执行”和条件判断语句“如果”的应用,能为游戏角色搭建

《数据结构课程设计》走迷宫游戏

信息工程学院 课程设计报告 课程名称《数据结构》 课题名称走迷宫游戏 专业 班级 学号 姓名 联系方式 指导教师 2015 年 12 月 27 日

目录 1、数据结构课程设计任务书............................................................... 1 1.1、题目........................................................................... 1 1.2、要求........................................................................... 1 2、总体设计............................................................................. 1 2.1、设计思路及总体组成框架......................................................... 1 2.2、操作流程图..................................................................... 2 3、详细设计............................................................................. 5 3.1、程序中所采用的数据结构及存储结构的说明......................................... 5 3.2、函数功能模块说明............................................................... 5 3.3、各函数的调用关系 ............................................................................................................................... 7 4、调试与测试:......................................................................... 7 4.1、调试方法与步骤:............................................................... 7 4.2、测试结果的分析与讨论:......................................................... 8 4.3、测试过程中遇到的主要问题及采取的解决措施:................................... 10 6、源程序清单......................................................................... 10 7、数据结构课程设计总结............................................................... 14 8、参考文献........................................................................... 14

相关文档
最新文档