下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计基础课程设计贪吃蛇游戏设计院 系:姓 名: 合作者: 指导教师:时间教育资料教育资料目录1. 1概述 21.1.1 研究的背景与意义 21.1.2 设计的任务和需要的知识点 21 .生成设计主要完成的任务 22 .需要掌握和应用的知识点 21.1.3具体完成的设计内容 31.2 需求分析 41.2.1 功能需求 41.2.2 操作方法 41. 进入防I戏 42. 游戏界面 43. 游戏操作 44. 游戏结束 51.3 总体设计 61.3.1 模块划分 61.3.2 总体数据结构设计 71 . 食物与蛇的数据结构 72 .排行榜中优胜者的数据结构 84 .符号常量的宏定义 81.4 详细
2、设计 91.4.1 主控模块 main 函数 91.4.2 绘制游戏开始界面 DrawK函数 101.4.3 游戏具体过程 GamePlay函数 12Score>per4.score 141.4.5 显示排行榜信息模块pain_board 函数 151.5 程序的调试与测试 161.5.1 动画与音乐的同步播放 161.5.2 蛇的运行 161.5.3 终止程序 171.6 结论 181.7 结束语 191.8 程序 20教育资料教育资料1. 1概述本课程设计一软件方法为指导,采用了结构化、模块化、的程序设计方法,以C语言技术为基础,使用 Turbo C+ 3.0为主要的开发工具,对贪吃
3、蛇的游戏进 行了需求分析、总体设计、详细设计、最终完成系统的实现与测试。1.1.1 研究的背景与意义通过开发贪吃蛇的游戏系统,可使读者初步了解使用软件工程方法、技术和工 具开发的过程,进一步掌握结构化、模块化的程序设计方法和步骤,进一步掌握数 据结构设计、模块划分的方法,掌握局部变量、全部变量、机构体、共用体、数组、 指针、文件等的数据的结构使用方法,掌握图形、声音、随机数等多种库函数的使 用方法,学习动画、音乐、窗口、菜单、键盘等多项编程技术,进一步学会软件测 试、调试、组装等软件测试方法,为以后的学习和将来的实际软件开发打下坚实的 基础。1.1.2 设计的任务和需要的知识点1 .生成设计主
4、要完成的任务1)通过编写“贪吃蛇游戏”程序,掌握结构化、模块化程序设计的细想,培 养解决实际问题的能力。2)设计好数组元素与蛇、食物的对应的关系。3)随即产生食物。4)有分数统计、排行榜、分数存储等的功能。5)有同步播放的音乐、声音效果。2 .需要掌握和应用的知识点1)数组的应用2)全局变量的使用3)按键处理4)机构体的应用5)图形、声音和动画的有关知识6)随机函数的使用教育资料7) 文件的基本操作8)结构化、模块化的设计方法1.1.3 具体完成的设计内容主要完成的任务:包含命令、全局变量的定义和宏定义、函数声明等,主要 模块,动画、音乐播放模块,画出游戏开始界面模块,具体游戏过程模块,游戏结
5、 束处理模块。教育资料1.2需求分析这类型的小游戏的市场价市相当大的,它的玩法简单,又有趣味性,市人们休 闲的好游戏。这样的游戏操作简单,迎合了人们的需求。1.2.1 功能需求程序运行后显示动画、音乐,按 <Eas啾推出欢迎的界面,进入游戏的界面后, 左边有一个矩形区,为游戏区域,在矩形区中有食物和贪吃蛇,上方有统计分数和 关数的显示区。蛇在封闭的墙里用用矩形表示,围墙里随机的出现一个食物,通过按键盘的 四个光标键控制蛇向上、下、左、右四个方向移动,蛇头撞到食物,食物就被吃掉, 蛇本身长一节,接着又出现了食物,等待蛇来吃。食物用另一种颜色的矩形表示, 并且每次食物的位置是随机出现的。游戏
6、中要使蛇的长度尽可能的长,但是不能使 蛇撞到四周的墙壁,且蛇的身体不能撞到一起,否则游戏结束。游戏中每吃掉一个食物就会有积分,随着分数的增加可以进入下一关,及速 度会加快。游戏结束的时候,还能进行排名,输入自己的名字即可。1.2.2 操作方法1 .进入游戏进入游戏后,首先出现的是游戏的片头,在这里 ,可以看到一个同步播放的动 画音乐和在屏幕不断的变换字体等等,此时,可以按回车键跳出游戏的画面。2 .游戏界面游戏界面的左上角为游戏的标题和游戏的创作人,右上变是目前的游戏成绩和 关数,界面中部是围墙,围墙中有一个正在爬行的蛇,还在某处有一个食物。现在 就可以开始游戏操作了。3 .游戏操作在游戏中,
7、游戏者可以用上、下、左、右控制蛇的行动,按<Eas>键可以结束游戏。教育资料4 .游戏结束并将画出的排行榜界面,若打出高分可以进入排行榜, 此时就会提示输入名字, 显示出前5名的游戏者的姓名和分数。教育资料1.3总体设计却东贪吃蛇游戏体系机构,给出总体的模块结构图,确定程序的主要函数及 之间的调用关系,同时设计蛇与游戏者等等的具体的数据结构。1.3.1 模块划分总体的结构模块结构图如下所示。主控模板动画音乐图形驱动画主界面游戏过程结束处理退出读取记录成绩排行写入文件排行榜主控模板主控模块是由main函数实现,主要用来依次调用各个下层的模块,从而控制完成整个程序的功能。动画音乐模块读
8、模块用来同步播放下雪的动画和简单的音乐,并在屏幕的中间输出颜色不 断变化的欢迎词。画主界面模块画出一个封闭的墙,当蛇贴这墙走的时候会擦掉部分的围墙,使线变细,图形变得不好看,如果不是这种情况发生,可将线型宽度设置为1像素。游戏过程模块该模块是整个程序的核心,它完成整个游戏过程,用函数来实现,每次蛇移 动的时候,从最后一节开始到第二节,将前一节的坐标赋给后一节的坐标,移动后 把最后的一节用背景色覆盖,然后蛇头按方向键更改位置,要确保食物出现在10的倍数位置上,判断蛇是否迟到食物的是蛇头坐标和食物坐标是否相同。游戏结束处理模块游戏结束的时候,读取出记录、成绩排行、写入文件等模块实现有关的处理 功能
9、。读取记录模块该模块是由函数实现的,用来读取排行榜的记录,如果是首次读取文件,将 用另一个函数,初始化记录文件,设置多名选手,初始姓名为"null初始分数为0.成绩排序模块将最后的选手的成绩加入成绩排行榜中进行排序0写入文字模块该模块是由函数来实现的,即将新的排行榜信息输入文件中。排行榜模块该模块是由函数实现的,主要功能是建立排行榜界面,输出多名最高分的玩 家的姓名个成绩。退出显示出排行榜后,返回函数,按任意键关闭图形系统,并退出程序。1.3.2 总体数据结构设计1 .食物与蛇的数据结构表示食物与蛇的数据结构设计为10*10个像素单位,用 X和Y坐标表示,则矩形块用函数画出来,由于每
10、次出现一个食物,所以设定 yes表示是否需要出现食 物,yes=1表示没有食物或者食物应经被吃掉,需要画出食物。放置食物后,设置 yes=0 o蛇的一节身体为一个矩形块,用坐标来表示,由于在游戏的过程中蛇的身体 不断的增长,需要用数组来存放每节的坐标,利用1、2、3、4分别表示蛇的右、左、上、下的方向,life 表示蛇的生命,life=0 ,表示蛇活着,life=1 ,表示蛇已经死 了,结束游戏。#define N 200 struct Foodint y; /*食物的木ft坐标*/ 食物的纵坐标*/intx; /*int yes; /*判断是否要出现食物的变量*/食物的Z构体*/蛇的节数*/
11、蛇移动方向*/蛇的生命,0活着,1死亡*/food; /* struct Snake int xN;int yN;int node; /*int direction; /* int life; /* snake;2 .排行榜中优胜者的数据结构排行榜主要记录优胜者的姓名和成绩,为了存放排行榜的信息,可以定义下 面的结构体类型,其中字符数组name成员存放优胜者的姓名,整型变量score存放 优胜者的成绩。struct personchar name20;int score;其他全局变量的定义struct person per5;int score=0;int gamespeed=400; /*控
12、制蛇的移动速度的变量,初始值为400ms*/4 .符号常量的宏定义# define LEFT 0x4b00 /*左移方向键 */# define RIGHT 0x4d00 /*右移方向键 */# define DOWN 0x5000 /*下移方向键 */# define UP 0x4800 /*上移方向键 */# define ESC 0x011b /*Esc 方向键 */#include FILENAMEC:person.dat" /*保存排行榜的文件全名*/1.4 详细设计画出N-S图和流程图来表示出每一个部分的模块功能1.4.1 主控模块main函数主函数是函数的数控模块。首先
13、初始化图形系统,然后然后调用DrawSnow函数播放动画和音乐, 接着调用Init函数初始化图形系统, 之后调用DrawK函数画 出游戏开始画面,再调用 GamePlay函数,即开始了游戏的具体过程,游戏结束后调 用EndPlay函数进行游戏结束处理:从文件中读取记录信息、排序、显示排行榜信 息,最后关闭图形系统,结束程序。主控模块的算法流程图如图所示。其中带有两 个竖线的矩形框表示对自定义函数的调用。结束1.4.2 绘制游戏开始界面DrawK函数主界面就是一个封闭的围墙,用两个循环语句分别在水平方向和垂直方向输出连续的宽度和高度均为 10个像素单位的矩形小方块,围城封闭图形表示为围墙,为了醒
14、目,设置为淡青色,用函数setlinestyle设置线型宽度为3个像素。设置3个像素的围墙,蛇在贴墙走的时候,会擦掉部分围墙线,使线变细,图形变得不好看,为了避免这种情况出现,可将线型宽度设置为1个像素。最后,在界面的左上部输出游戏程序的版本信息,在右上部输出游戏成绩( score)和关(level )的表 头。如下图所示:设置前景色设置线形为实线,3像素宽在(20,5)输出创作人1.4.3 游戏具过程一GamePlay函数结束该函数是游戏的核心部分。游戏具体过程GamePlay函数大致算法流程如图 所示。下面对该算法不够详细的地方作进一步的描述。1)初始化。为防止食物总是出现在一个位置上,要
15、设置随机数发生器的种子数,产生真正的随机数。由于还没有画出食物,并设置需要食物,并设置蛇活着。初始 时,蛇只有蛇头和1节蛇身,设置这2节坐标。设定蛇开开始的爬行方向向右。2)随机确定食物位置。由于蛇吃到食物的判断是蛇头的坐标和食物的坐标相等, 所以要确保食物随机出现的位置在10的倍数位置上。先用两个带随机函数的表达式产生一个位于围墙内的 x,y坐标,然后用两个 while循环将两个坐标值调整到10的倍数上,这样就可以让蛇吃到。3)循环确定蛇身的新位置。这里的难点是表示蛇的新位置并消除前一次的图形。 采用的方法是每次移动的时候从最后一节开始到第二节,将前一节的坐标的值赋给 最后一节的坐标,移动后
16、只要把最后一节用背景色除去即可。这里用 for循环来实 现这样的新位置。4)吃到食物后的处理。蛇吃到食物后,首先将食物擦除,即使用背景色画出 该食物,然后给蛇的节数增加 1节,设置需要食物标志,使游戏成绩加10分,如果成绩达到50分的倍数,则给关数增加一关。并加快游戏速度。5)由按键判断的方向,这是一个内嵌的条件结构,根据按动上、下、左、右方向键 来设定蛇的移动方向。判断时还要考虑了相反方向键无效,比如蛇正在向上爬行, 按下移方向键是无效。1.4.4 游戏结束处理模块处理函数游戏结束的时候,用该调用函数来进行游戏结束处理。其算法流程图如下:该模块首先调用读排行榜记录文件函数读取排行榜文件记录,
17、如果文件不存在, 在函数中调用另一个函数来建立文件,然后再读出记录。其次,判断游戏者的成绩是否可以上排行榜。如果可上榜,则画出浅蓝色矩形界面,在界面中输入游戏者姓名,对成绩进行赋值,然后调用CompareScore函数对记录排序,并调用 WriteFiles 函数将记录写入排行榜文件;如果不能上榜,则直接在 游戏界面输出不能上榜信息。最后,调用pain_borad函数显示排行榜信息。1.4.5 显示排行榜信息模块pain_board函数函数void pain_board完成排行榜的绘制流程,流程图如图所示。运行结果如图 所示。1.5 程序的调试与测试调试与测试软件的目标就是发现并改正潜伏的错误
18、。一个程序,必须经过认真的 调试和测试,才能尽量减少错误、保证程序满足功能、性能需求,达到最初的设计、 使用要求,从而保证程序的开发质量。详细设计完成后,用 c语言根据各个模块的算法来设计程序,每个模块都设计成 一个自定义函数。几个模块放在一个构成一个源程序文件,或者一个模块构成一个 源程序文件。源程序设计好后,输入到计算机,并储存到磁盘上;然后对每个源程 序文件都进行独立编译和调试;并针对不同的模块设计测试用例进行单元测试;最 后,将几个分别开发的模块组装到一起,形成一个完整的程序,进行集成测试,从 而发现并改正程序中存在的一些潜藏的错误,并使程序的容错能力大大增强。调试 与测试过程及结果如
19、下所述。1.5.1 动画与音乐的同步播放预期结果:(1)片头在显示动画的同时播放音乐;(2)按任意键后进入游戏主界面;(3)进入游戏主界面后动画音乐同时停止。实际运行结果:满足(1)和(2),进入游戏后仍然播放片头音乐。错误分析:程序中使用循环播放动画,并在其循环体中插入发声函数以达到音乐和动画的同步。由于在结束动画时没有关闭扬声器,所以进入游戏界面后仍然发声。修改:在动画播放完后加一条“ nosound()语句将扬声器关闭,问题得到解决。修改后程序运行的实际结果与预期效果一致。动画音乐的界面如图所示。1.5.2 蛇的运行(1)蛇撞到墙预期效果:蛇运行时如果撞到墙壁,则游戏结束。实际运行效果:
20、超出左右墙壁后程序结束,但超出上面墙壁后仍然运行如图所示错误分析:错误程序段在蛇运行的条件判断语句中 ,它的判断条件是:if(snake.x0<55|snake.x0>595), 即少了上、下俩个方向的判断。修改如下:if(snake.x0<55|snake.x0>595|snake.y0<55|snake.y0>455) 修改后的运行效果和预期的效果一致。(2)蛇头撞到蛇身预期结果:当蛇的头部和蛇身相撞的时候,游戏应当结束。实际运行的效果:蛇头撞到蛇身时,程序停止了。如图所示。修改后的代码为:for(i=3;i<snake.node;i+) if(s
21、nake.xi=snake.x0&&sanke.i=snake.y0) snake.life=1;break; 1.5.3 终止程序经过对各个模块的调试和单元测试并修改了错误以后,将各个模块组装成一个软级 系统,并进行集成测试。在集成的过程中发现了一些错误,比如全局变量重复定义、 函数重复声明等,分别进行了改正。最后连续运行了5次,以便测试该游戏程序的功能、性能是否达到了预期的目标,并根据所使用的具体机器岁蛇的爬行速度进行 适当的调整。测试内容包括蛇的运行、分数、关数、排行榜及排序、文件存储、音 乐动画等的功能,情况均正常。最后要求输入游戏者的姓名来进行排名。1.6 结论在我们
22、的共同努力下,我们终于完成了贪吃蛇的游戏程序,该游戏程序实现用了方 向键控制蛇在围墙内的爬行、随机产生食物、控制蛇吃掉食物并加分、控制游戏中 闯关的数目和蛇的运行速度、实时显示分数和关数、结束时处理和显示排行榜等功 能。该游戏程序具有的界面友好、操作方便、控制准确和容错能力强等特点。但是这个贪吃蛇的游戏还有一些缺陷:1)进入游戏后,到蛇的死亡,只能玩一次就退出游戏,应该加入实现多次游戏的控制弄能。2)蛇的样子不美观,应将蛇头、蛇尾和蛇身进一步美化,使其更像真实的蛇。3)当分数达到一定的分数的时候,蛇的速度变得非常的快,一下子就撞到围墙上了, 应适当控制蛇的速度和关数,以便使游戏更具有吸引力。1
23、.7结束语通过贪吃蛇的游戏编程的练习思考数据结构的使用,比如定义食物的坐标来控制它的出现的位置,用函数来画出矩形,用 life 来表示蛇的生命,用方向键来表示蛇 的移动的房间等等,还有用数组来存放蛇身各节的坐标,这些都让我们熟悉了对数 组的操作,此外还熟悉了各种函数的调用。在编程的时候我们遇到了很多的困难,这就需要我们多与别人交流。在编程的过 程中,我们也发现了有良好的编程风格是十分重要的,至少在时间效率上就体现了 这一点,养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。这 些都是提高我们编程能力的要点。还有在编程中最能体现简单的原则,简单的方法更容易使人被理解, 更容易实现,也
24、更容易维护。遇到问题是要优先考虑解决的最简单的方案,只有简单的方案不能 满足要求的时候我们在考虑用复杂的方案。在进行课程设计的过程中我们学到了许多别的东西。首先,我们学会了合作,要 以别人的眼光看看问题,也许这样得到的会比各自得到的都要多;其次,我们学会 了分工,分工是为了更好的合作,分工才能提高合作的效率;最后,我们学会了奋 斗,我们相信,通过四年的学习,我们一定能写出更精彩的程序,将来会描绘出更 精彩的人生。在这里,我们要感谢我们课程设计的指导教师张凤君老师,给了我们悉心的指导,是老师经过一学期为我们上课, 让我们了解了编程和怎么样编程,在老师的教导下,我们通过自己和同学的合作,我们真正的
25、掌握了怎么样编程以及处理一些在编程的 过程中出现的一些问题,我们真正的学会了这门课,在老师和同学的共同帮助下, 我们完成了这项任务。1.8程序#include<stdio.h>#include<string.h>#include<bios.h>#include<time.h>#include<graphics.h>#include<conio.h>#include<stdlib.h>#include<dos.h>#define N 200#define LEFT 0x4b00#define RIGH
26、T 0x4d00#define DOWN 0x5000#define UP 0x4800#define ESC 0x011b#define FILENAME "c:person.dat" struct personchar name20;int score;struct person per5;struct Snowint x;int y;int speed;snow100;int snownum=0;int size;int change=10;int score=0;void *save;教育资料int i,key;int gamespeed=400;struct Fo
27、odint x;int y;int yes;food;struct Snakeint xN;int yN;int node;int direction;int life;snake;void DrawSnow();void ReadFiles();void WriteFiles(struct person *);void InitScoreFiles();void CompareScore(struct person);void EndPlay();void GameOver();void Pr() int s15=0,100,150,200,150,200,250,150,250,300,2
28、50,150,100,250,350;setcolor(change/10);setbkc010r(BLACK);settextstyle(0,0,4);outtextxy(20,200,"GAME WORLD!");sound(schange/10);void DrawSnow() int i1,i2;int sx100;setlinestyle(SOLID_LINE,0,THICK_WIDTH);line (2,7,5,7);line (5,7,6,10);line (6,10,7,7);line (7,7,10,7);line (10,7,8,5);line (8,5
29、,9,3);line (9,3,6,4.5);line (6,4.5,3,3);line (3,3,4,5);line (4,5,2,7);save=malloc(200);getimage(0,0,10,10,save);cleardevice();randomize();for(i1=0;i1<100;i1+)sxi1=(i1+4)*10;setlinestyle(SOLID_LINE,0,THICK_WIDTH);line (10,1,10,10);for(i2=0;i2<100;i2+)sxi2=(i2+4)*20;while(!kbhit() Pr();if(snownu
30、m!=100) snowsnownum.speed=2+random(10);i1=random(50);snowsnownum.x=sxi1;snowsnownum.y=10-random(10);i2=random(20);snowsnownum.x=sxi2;snowsnownum.y=100-random(10);for(i=0;i<snownum;i+)putimage(snowi.x,snowi.y,save,COPY_PUT);delay(50);cleardevice();Pr();if(snownum!=100) snownum+;sefillstyle(SOLID_F
31、ILL,4);for(i=0;i<snownum;i+) snowi.y+=snowi.speed;putimage(snowi.x,snowi.y,save,COPY_PUT);if(snowi.y>500)snowi.y=10-random(200);change+;if(change=140) change=10;nosound();cleardevice();void Init(void) int gd=DETECT,gm;initgraph(&gd,&gm,"D:tc3BGI");cleardevice();void DrawK(voi
32、d) int i;setcolor(11);setbkcolor(2);setlinestyle(SOLID_LINE,0,THICK_WIDTH);for(i=50;i<=600;i+=10)/* 画围墙 */rectangle(i,40,i+10,49); /*上边 */rectangle(i,451,i+10,460);/*下边 */for(i=40;i<=450;i+=10)rectangle(50,i,59,i+10); /*左边*/line (601,i,610,i+10);/*右边*/outtextxy(20,5," Greedy Snake Game co
33、me from ji 11-2 06 ");outtextxy(480,10,"score level");void GamePlay(void)int level=1;char buffer10;randomize();food.yes=1;snake.life=0;snake.direction=1;snake.x1=100; snake.y1=100;snake.x0=110; snake.y0=100;snake.node=1;while(1) while(!kbhit() if(food.yes=1) food.x=rand()%400+60;food.
34、y=rand()%350+60;while(food.x%10!=0)food.x+;while(food.y%10!=0) food.y+;food.yes=0;if(food.yes=0)setcolor(RED);rectangle(food.x,food.y,food.x+10,food.y-10);setfillstyle(1,1);bar(475,18,590,35);setcolor(15);itoa(score,buffer,10);outtextxy(480,20,buffer);itoa(level,buffer,10);outtextxy(560,20,buffer);f
35、or(i=snake.node-1;i>0;i-)snake.xi=snake.xi-1;snake.yi=snake.yi-1;switch(snake.direction)case 1:snake.x0+=10;break;case 2:snake.x0-=10;break;case 3:snake.y0-=10;break;case 4:snake.y0+=10;break;for(i=3;i<snake.node;i+)if(snake.xi=snake.x0&&snake.yi=snake.y0) snake.life=1;break;if(snake.x
36、0<55|snake.x0>595|snake.y0<55|snake.y0>455)snake.life=1;if(snake.life=1)break;if(snake.x0=food.x&&snake.y0=food.y)setcolor(0);rectangle(food.x,food.y,food.x+10,food.y-10);snake.node+;food.yes=1;score+=10;if(score%50=0)level+=1;gamespeed-=50;setcolor(57);for(i=0;i<snake.node;i+
37、)rectangle(snake.xi,snake.yi,snake.xi+10,snake.yi-10);delay(gamespeed);setcolor(0);rectangle(snake.xsnake.node-1,snake.ysnake.node-1, snake.xsnake.node-1+10,snake.ysnake.node-1-10);if(snake.life=1) break;key=bioskey(0);if(key=ESC) break;else if(key=UP&&snake.direction!=4)snake.direction=3;el
38、se if(key=RIGHT&&snake.direction!=2)snake.direction=1;else if(key=LEFT&&snake.direction!=1)snake.direction=2;else if(key=DOWN&&snake.direction!=3)snake.direction=4;void ReadFiles()FILE *fpread;if(fpread=fopen(FILENAME,"ab+")=NULL)printf("can't open the file
39、 person.dat!");exit(0);if(fgetc(fpread)=EOF) InitScoreFiles();rewind(fpread);fread(per,sizeof(struct person),5,fpread); fclose(fpread);void WriteFiles(struct person *tmp) FILE *fpwrite;if(fpwrite=fopen(FILENAME,"wb+")=NULL) printf("can't open the file person.dat!");exit(0);fwrite(tmp,sizeof(struct person),5,fpwrite); fclose(fpwrite);void InitScoreFiles() int i;struct person a5;for(i=0;i<5;i+) ai.score=0;strcpy(,"null");WriteFiles(a);void CompareScore(struct person des) int i,j;for(i=0;i<5;i+) if(des.score>=peri.score) if(i<5)for(j=4;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2031中国女装行业发展趋势及前景战略研究分析报告
- 中学化学题库及答案
- 2026年笔记本定制合同
- 2026年医生在线诊疗服务合同
- 2026年网红代言合同
- 2025年医院护士三基考试试题及答案
- 2025年lng安全知识考试题及答案
- 2025年酒店运营与管理题目及答案
- 2025道路运输安全员两类人员考试考核题库含答案
- 2025年客服逻辑思维试题及答案
- 美术馆员工合同协议书
- 2025年广西普法考试(一)及答案
- 2025年中国华电集团有限公司总部部门招聘12人考试参考试题及答案解析
- 2024年Q1起重机指挥模拟练习题及答案
- 2025年庄河市公开招录社区工作者招聘62人笔试考试备考题库及答案解析
- 2026年辽宁医药职业学院单招职业倾向性测试题库附答案
- 幼儿园韵律活动培训
- 2025年广东普法考试考场二题目及参考答案
- 安全生产巡检及整改方案表格
- 2025中国微生物制剂农业应用与市场推广研究报告
- 焦裕禄事迹课件
评论
0/150
提交评论