俄罗斯方块优秀课程设计.doc
《俄罗斯方块优秀课程设计.doc》由会员分享,可在线阅读,更多相关《俄罗斯方块优秀课程设计.doc(32页珍藏版)》请在咨信网上搜索。
学生课程设计 题 目: 俄罗斯方块 学生姓名: 学 号: 所在院(系): 数学和计算机学院 专 业: 级软件工程 班 级: 软件工程1班 指 导 教 师: 职称: 题 目 俄罗斯方块 1、课程设计目标 经过本课程设计使学生能够较全方面掌握面向对象程序设计相关概念和开发方法,方便能较全方面地了解、掌握和综合利用所学知识,提升本身编程能力。 2、课程设计内容和要求(包含原始数据、技术要求、工作要求等) 实现一个俄罗斯游戏,要求: (1)尽可能使用图形用户界面方法实现(不作硬性要求) (2)能够实现人机对战,自动判定胜败 (3)界面美观 3、关键参考文件 4、课程设计工作进度计划 序号 时间(天) 内容安排 备注 1 1 分析设计准备 周一 2 2 编程调试阶段 周 至周三 3 1 编写课程设计汇报 周四 4 1 考评 周五 总计 5(天) 指导老师(签字) 日期 年 月 日 教研室意见: 年 月 日 学生(签字): 接收任务时间: 年 月 日 注:任务书由指导老师填写。 附件3: 课程设计(论文)指导老师成绩评定表 题目名称 评分项目 分值 得分 评价内涵 工作 表现 20% 01 学习态度 6 遵守各项纪律,工作刻苦努力,含有良好科学工作态度。 02 科学实践、调研 7 经过试验、试验、查阅文件、深入生产实践等渠道获取和课程设计相关材料。 03 课题工作量 7 按期圆满完成要求任务,工作量饱满。 能力 水平 35% 04 综合利用知识能力 10 能利用所学知识和技能去发觉和处理实际问题,能正确处理试验数据,能对课题进行理论分析,得出有价值结论。 05 应用文件能力 5 能独立查阅相关文件和从事其它调研;能提出并很好地叙述课题实施方案;有搜集、加工多种信息及获取新知识能力。 06 设计(试验)能力,方案设计能力 5 能正确设计试验方案,独立进行装置安装、调试、操作等试验工作,数据正确、可靠;研究思绪清楚、完整。 07 计算及计算机应用能力 5 含有较强数据运算和处理能力;能利用计算机进行资料搜集、加工、处理和辅助设计等。 08 对计算或试验结果分析能力(综合分析能力、技术经济分析能力) 10 含有较强数据搜集、分析、处理、综合能力。 结果 质量 45% 09 插图(或图纸)质量、篇幅、设计(论文)规范化程度 5 符合本专业相关规范或要求要求;规范化符合本文件第五条要求。 10 设计说明书(论文)质量 30 综述简练完整,有见解;立论正确,叙述充足,结论严谨合理;试验正确,分析处理科学。 11 创新 10 对前人工作有改善或突破,或有独特见解。 成绩 指导老师评语 指导老师署名: 年 月 日 摘 要 多年来,伴随游戏产业突飞猛进,游戏玩家技术也是和日俱增,当你看见游戏高手完美演出时,你是否想过我也能达成那种水平,本程序采取全世界最金典游戏—俄罗斯方块作为背景,程序设置了鼠标和键盘两个选择方法,游戏运行时伴随等级提升而速度加紧,这需要玩家快速操作。所以,本程序关键意义是为高手玩家提供训练平台。其次也可为刚踏入游戏领域新手们,提供一个很好锻炼机会。 此次课程设计关键处理利用Visual C++设计实现俄罗斯方块游戏算法、游戏内部功效、游戏区域绘图程序设计。对于每个俄罗斯方块各自形态改变改变到下一个形态利用数组来实现,在程序设计中,采取WIN32机制来实现,而且直接从架构其中一个类对象中继承下来,将它完善而变成有某功效特征物件对象。 关键词 俄罗斯方块 数据结构 算法 数组 Visual C++ 目 录 摘 要………………………………………………………………………………………Ⅰ 一、 绪论…………………………………………………………………………………2 1.1 课题背景………………………………………………………………………………2 二、课程设计要求和目标……………………………………………………3 2.1 课程设计要求………………………………………………………3 2.2课程设计目标…………………………………………………………3三、程序需求分析 3.1 功效需求………………………………………………………………………………… 3.2方块及多种改变需求…………………………………………………………………… 3.3操作需求 3.31 向上键…………………………………………………………………………………… 3.32向下键…………………………………………………………………………………… 3.33向右键…………………………………………………………………………………. 四、程序步骤图 4.1 关键功效设计………………………………………………………………………… 4.2 程序步骤图…………………………………………………………………………… 4.3 游戏界面……………………………………………………………………………… 4.4生成方块…………………………………………………………………………… 4.5 方块变形……………………………………………………………………………… 4.6 方块显示…………………………………………………………………………… 4.7 障碍判定……………………………………………………………………………… 4.8 消行记分……………………………………………………………………………… 4.9 暂停退出……………………………………………………………………………… 4.10 软件使用说明…………………………………………………………………………… 五、源程序代码 5.1 源程序代码……………………………………………………………………………… 六、程序结果 6.1 程序结果………………………………………………………………………………… 参考文件……………………………………………………………………………………… 致 谢……………………………………………………………………………………………56 第一章 绪论 俄罗斯方块是个老幼皆宜小游戏,是经久不衰一款游戏,自从它诞生那天起就一直深受大家喜爱。几乎每个人全部玩过这个游戏,也是大家接触最多一款游戏,它实现由四块正方形色块组成,然后存放在一个数组四个元素中,计算机随机产生不一样七种类型方块,依据计算机时钟控制它在一定时间不停得产生,用户依据键盘四个方向翻转、向左、向右和向下操作,(控制键实现是由键盘方向键消息函数实现)。然后程序依据这七种方块堆叠成多种不停得模型。 1.1游戏背景 俄罗斯方块是一款风靡全球电视游戏机和掌上游戏机游戏,它曾造成轰动和造成经济价值可言说是游戏史上一件大事。这款游戏最初是由苏联游戏制作人Alex Pajitnov制作,它看似简单但却改变无穷,令人上瘾。相信大多数用户全部还记得为它痴迷得茶饭不思不想那个俄罗斯方块时代。 俄罗斯方块最早还是出现在PC机上,而中国用户全部是经过红白机了解、喜爱上它。现在联众又将重新掀起这股让人沉迷俄罗斯方块风潮。对于通常见户来说,它规则简单,轻易上手,且u、游戏过程改变无穷,俄罗斯方块游戏现在基础上是每个手机必备游戏,种类千变万化,多个多样。 第二章 课程设计目标和要求 2.1课程设计目标 本课程是一个综合性实践教学步骤,其目标在于促进学生复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想了解,并能利用所学知识进行开发。期望经过本课程设计中简单系统开发,使学生掌握软件设计基础方法和基础步骤,提升学生综合应用能力。 2.2课程设计要求 要求用VC++编写和实现俄罗斯方块。 要求包含系统需求分析; 系统总框图及每个模块设计分析; 算法设计和实现; 游戏内部实现; 游戏区域绘画实现; 系统存在问题及错误处理; 列出全部定义函数及说明; 附上源程序; 第三章 程序需求分析 3.1 功效需求 随机给出不一样形状下落填充给定区域,若填满一条便消掉,记分,设计不一样游戏难度,即方块下落速度不一样,若在游戏中各形状填满了给定区域为输者。 3.2 方块及多种变换需求 本游戏需要七种方块,而每种方块还能够进行旋转。每种方块每行每列最多只有4个小方块。能够将它们放在一个n*m区域内,该区域能够看做是有很多个等面积小方块组成区域,而这些区域状态只有两种,被方块占据或空闲。所以,对于整个游戏区域空间是被占据或空闲,能够用一位数来标识。对于七种方块和它们旋转后形态我们能够用不一样标识进行标识。对于旋转,游戏中全部方块全部是根据逆时针旋转规则进行,而且在旋转过程中它们不会因为旋转而下降,总会保持在同一高度。任何方块经过一个旋转周期还会变 回原型。 3.3 操作需求 3.31 向上键 产生方块旋转操作,方块并非任何情况全部能旋转,假如旋转后和小方块矩阵显示方块有冲突或超出边界是,均不发生旋转。所以首先要判定是否有足够空间进行旋转。然后是旋转是否旋转。 3.32 向下键 产生方块加速下落操作,假如方块已经达成游戏区域底部或有其它方块遮挡,则方块停止下降。 3.33 向右键 产生下落方块右移操作。首先要判定此方块是否能够发生右移,当越界或被其它显示方块阻挡时,则不能右移。 第四章 具体设计 4.1 关键功效设计 依据分析,俄罗斯方块这个程序一共要实现以下多个功效,开始游戏(F8)、游戏暂停\继续(S)和退出游戏(Q)。其中游戏控制最为关键和关键,它控制着整个游戏画面和相关数据操作,是游戏关键部分。暂停和退出功效做成一体,在退出提醒下不做任何操作即可实现暂停功效。 4.2 程序步骤图 依据分析后程序结构图设计出对应步骤图。俄罗斯方块内容关键包含游戏开始,画背景和边框,显示分数等级和下一个方块预览图;依据速度没隔一定时间方块自动下落,当有按键操作时,依据对应按键实施动作,每次动作前要判定是否动作能够实施。下落方块满一行时,消去该行,依据消去行数得到对应分数。分数达成一定程度,等级提升,速度加紧。同时能够响应Esc按键,提醒是否退出程序。 4.3 游戏界面 俄罗斯方块游戏界面包含游戏区域边框、下落方块绘制、右部计分和预览图显示等。 游戏区域边框绘制比较简单,循环中确定光标位置输出特定字符,即可完成边框绘制。游戏区方块绘制,循环从数据数组中依次读出数据,依据读到数据显示“□”,最终组成方块形状,完成方块绘制。计分和预览图部分先画出一个矩形区域,然后控制光标在其中显示分数、等级、预览图和提醒信息。 4.4 生成方块 本程序中生成方块有7种形状,每一个方块以shapeindex标识,在程序运行生成方块时,调用shapeindex=rand()%5+1;语句,确定目前要显示是哪一个方块形状。而在实际运行中,第一次需要调用两次生成方块函数make(),将先产生赋给游戏目前方块,第二个赋给预览图方块。以后每次产生一个方块,把预览方块赋给目前方块,把新产生赋给预览方块。 4.5 方块变形 俄罗斯方块特点就在于经过方块变形拼满整行来消去该行方块从而使游戏能够继续下去,极难想象不能变形俄罗斯方块是什么样子。而变形过程就是依据目前方块形状改变方块相对位置,这么就能够改变方块形状了。在程序中每当按下“↑”键,程序判定能够变形后,依据目前方块形状序号shapeindex和改变形状序号changeindex调用对应方块数值赋给draw()函数,经过刷新重画就能够显示改变后方块了。 4.6 方块显示 以上方块操作全部是数据层面操作,而真正要在游戏窗口中看到数据改变,还必需把方块不停绘制出来。这就是draw()函数作用。把目前运动方块对应节点存放在一个4*4数组里,变形和生成方块过程就是更新该数组数据过程。然后在draw()函数里检测数组各个值,并控制光标跳到一定位置,画出“□”组成方块。 4.7 障碍判定 障碍判定,就是在方块运动中或变形中判定周围是否有障碍阻碍下落、移位、变形。当方块下落碰到下面有方块或抵达下边界则应停止下落并统计数据,存入背景数据数组。变形时应判定这个变形是否能够进行,假如有障碍则不能变形。比如当方块达成右边界,而若变形则会越过边界,那么这个变形命令是不应实施。全部这些判定全部由meet()函数进行,依据是否有障碍返回1或0,再由其它函数接收实施对应操作。 4.8 消行计分 游戏玩家拼满一行后,程序消去满行,并计分。中当一个方块下落停止后,程序检验方块是否充满了游戏区域,假如是结束游戏。不是,则判定是否组成消行条件,从下落方块最低点依次向上检验是否能够消行,依据消去行数分数增加。分数达成一定程度,等级提升,分数暂定为每1000升一级。 4.9 暂停退出 游戏友好性在于能考虑用户需要,随时能够暂停/继续游戏,在不愿继续游戏时退出游戏。本程序能够在用户需要时候响应Esc按键,提醒是否退出游戏,假如不做选择即可暂停游戏,等候选择。 程序调试 经过调试和修改,程序完全实现设计要求,成功模拟了俄罗斯方块运行过程和游戏效果,只是界面略微简陋,但已从程序层面上实现了游戏,达成了这次实训要求和目标。程序正常生成方块,依据速度值每隔一定时间自动下落,如有操作按键按下,依据按键实现位移和变形。当方块满一行后,能够消除该行,同时统计分数和等级。按下Esc键红色提醒信息正常显示,能够响应Y,N键决定是否退出游戏 4.10 软件使用说明 打开俄罗斯方块游戏后,经过控制方向区域“↑”、“↓”、“←”、“→”来控制,“↑”键代表变形转换,“↓”、“←”、“右”均代表方向键,“Q”代表退出游戏键。若想暂停游戏,可经过“S”键,当初来问询框是,可不做选择,则可达成暂停效果第五章 源代码 #include <windows.h> #include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> class Console { public: Console() { hStdOutput = INVALID_HANDLE_VALUE; hStdError = INVALID_HANDLE_VALUE; } bool Open( void ) { hStdOutput = GetStdHandle( STD_OUTPUT_HANDLE ); hStdError = GetStdHandle( STD_ERROR_HANDLE ); return INVALID_HANDLE_VALUE!=hStdOutput && INVALID_HANDLE_VALUE!=hStdError; } inline bool SetTitle( char* title ) // 设置标题 { return TRUE==SetConsoleTitle(title); } bool RemoveCursor( void ) // 去处光标 { CONSOLE_CURSOR_INFO cci; if( !GetConsoleCursorInfo( hStdOutput, &cci ) ) return false; cci.bVisible = false; if( !SetConsoleCursorInfo( hStdOutput, &cci ) ) return false; if( !GetConsoleCursorInfo( hStdError, &cci ) ) return false; cci.bVisible = false; if( !SetConsoleCursorInfo( hStdError, &cci ) ) return false; return true; } bool SetWindowRect( short x, short y ) // 设置窗体尺寸 { SMALL_RECT wrt = { 0, 0, x, y }; if( !SetConsoleWindowInfo( hStdOutput, TRUE, &wrt ) ) return false; if( !SetConsoleWindowInfo( hStdError, TRUE, &wrt ) ) return false; return true; } bool SetBufSize( short x, short y ) // 设置缓冲尺寸 { COORD coord = { x, y }; if( !SetConsoleScreenBufferSize( hStdOutput, coord ) ) return false; if( !SetConsoleScreenBufferSize( hStdError, coord ) ) return false; return true; } bool GotoXY( short x, short y ) // 移动光标 { COORD coord = { x, y }; if( !SetConsoleCursorPosition( hStdOutput, coord ) ) return false; if( !SetConsoleCursorPosition( hStdError, coord ) ) return false; return true; } bool SetColor( WORD color ) // 设置前景色/背景色 { if( !SetConsoleTextAttribute( hStdOutput, color ) ) return false; if( !SetConsoleTextAttribute( hStdError, color ) ) return false; return true; } bool OutputString( const char* pstr, size_t len=0 ) // 输出字符串 { DWORD n = 0; return TRUE==WriteConsole( hStdOutput, pstr, len?len:strlen(pstr), &n, NULL ); } bool OutputStringNoMove( short x, short y, const char* pstr, size_t len=0 ) // 输出字符串 { COORD coord = { x, y }; DWORD n = 0; return TRUE==WriteConsoleOutputCharacter( hStdOutput, pstr, len?len:strlen(pstr), coord, &n ); } private: HANDLE hStdOutput; HANDLE hStdError; }; const char bg[] = "┏━━━━━━━━━━━┓ " "┃■■■■■■■■■■■┃ ←↓→↑ " "┃■■■■■■■■■■■┃ Begin: F8 " "┃■■■■■■■■■■■┃ " "┃■■■■■■■■■■■┃ Sleep " "┃■■■■■■■■■■■┃ Quit " "┃■■■■■■■■■■■┃ " "┃■■■■■■■■■■■┃ " "┃■■■■■■■■■■■┃ NEXT " "┃■■■■■■■■■■■┃┏━━━━┓" "┃■■■■■■■■■■■┃┃ ┃" "┃■■■■■■■■■■■┃┃ ┃" "┃■■■■■■■■■■■┃┗━━━━┛" "┃■■■■■■■■■■■┃ LEVEL " "┃■■■■■■■■■■■┃┏━━━━┓" "┃■■■■■■■■■■■┃┃ 0┃" "┃■■■■■■■■■■■┃┗━━━━┛" "┃■■■■■■■■■■■┃ SCORE " "┃■■■■■■■■■■■┃┏━━━━┓" "┃■■■■■■■■■■■┃┃ 00000┃" "┗━━━━━━━━━━━┛┗━━━━┛"; const char bk[7][4][4][4] = { { { { 0,1,1,0 },{ 1,1,0,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 1,0,0,0 },{ 1,1,0,0 },{ 0,1,0,0 },{ 0,0,0,0 } }, { { 0,1,1,0 },{ 1,1,0,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 1,0,0,0 },{ 1,1,0,0 },{ 0,1,0,0 },{ 0,0,0,0 } } } , { { { 1,1,0,0 },{ 0,1,1,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 0,1,0,0 },{ 1,1,0,0 },{ 1,0,0,0 },{ 0,0,0,0 } }, { { 1,1,0,0 },{ 0,1,1,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 0,1,0,0 },{ 1,1,0,0 },{ 1,0,0,0 },{ 0,0,0,0 } } } , { { { 1,1,1,0 },{ 1,0,0,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 1,0,0,0 },{ 1,0,0,0 },{ 1,1,0,0 },{ 0,0,0,0 } }, { { 0,0,1,0 },{ 1,1,1,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 1,1,0,0 },{ 0,1,0,0 },{ 0,1,0,0 },{ 0,0,0,0 } } } , { { { 1,1,1,0 },{ 0,0,1,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 1,1,0,0 },{ 1,0,0,0 },{ 1,0,0,0 },{ 0,0,0,0 } }, { { 1,0,0,0 },{ 1,1,1,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 0,1,0,0 },{ 0,1,0,0 },{ 1,1,0,0 },{ 0,0,0,0 } } } , { { { 1,1,0,0 },{ 1,1,0,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 1,1,0,0 },{ 1,1,0,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 1,1,0,0 },{ 1,1,0,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 1,1,0,0 },{ 1,1,0,0 },{ 0,0,0,0 },{ 0,0,0,0 } } } , { { { 0,1,0,0 },{ 1,1,1,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 0,1,0,0 },{ 1,1,0,0 },{ 0,1,0,0 },{ 0,0,0,0 } }, { { 1,1,1,0 },{ 0,1,0,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 1,0,0,0 },{ 1,1,0,0 },{ 1,0,0,0 },{ 0,0,0,0 } } } , { { { 1,1,1,1 },{ 0,0,0,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 1,0,0,0 },{ 1,0,0,0 },{ 1,0,0,0 },{ 1,0,0,0 } }, { { 1,1,1,1 },{ 0,0,0,0 },{ 0,0,0,0 },{ 0,0,0,0 } }, { { 1,0,0,0 },{ 1,0,0,0 },{ 1,0,0,0 },{ 1,0,0,0 } } } }; const WORD COLOR_A = FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY; // 运动中颜色 const WORD COLOR_B = FOREGROUND_RED; // 固定不动颜色 const WORD COLOR_C = FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE; // 空白处颜色 int score = 0, level = 0; char data[19][11] = { 0 }; int next = -1; int x=4, y=-2, c=-1, z=0; // x坐标,坐标,目前方块,方向 Console csl; // 定义控制台对象 void DrawScoreLevel( void ) // 绘制得分 { char tmp[6]; sprintf( tmp, "%05d", score ); csl.OutputStringNoMove( 31, 19, tmp, 5 ); sprintf( tmp, "%1d", level ); csl.OutputStringNoMove( 35, 15, tmp, 1 ); } void DrawNext( void ) // 绘制 "next框" 中图形 { for( int i=0; i<2; ++i ) { for( int j=0; j<4; ++j ) { csl.OutputStringNoMove( 28+j*2, 10+i, bk[next][0][i][j]==0?" ":"■", 2 ); } } } void DrawOver( void ) // 游戏结束 { csl.OutputStringNoMove( 28, 10, "GAME" ); csl.OutputStringNoMove( 28, 11, "OVER" ); } void Draw( WORD color ) { for( int i=0; i<4; ++i ) { if( y+i<0 || y+i>= 19 ) continue; for( int j=0; j<4; ++j ) { if( bk[c][z][i][j] == 1 ) { csl.SetColor( color ); csl.GotoXY( 2+x*2+j*2, 1+y+i ); csl.OutputString( "■", 2 ); } } } } bool IsFit( int x, int y, int c, int z ) // 给定x,y,c,z是否可行 { for( int i=0; i<4; ++i ) { for( int j=0; j<4; ++j ) { if( bk[c][z][i][j]==1 ) { if( y+i < 0 ) continue; if( y+i>=19 || x+j<0 || x+j>=11 || data[y+i][x+j]==1 ) return false; } } } return true; } void RemoveRow( void ) // 消行 { const char FULLLINE[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; int linecount = 0; for( int i=0; i<19; ++i ) { if( 0 == memcmp( data[i], FULLLINE, 11 ) ) { ++linecount; for( int m=0; m<11; ++m ) { for( int n=i; n>1; --n ) { data[n][m] = data[n-1][m]; csl.SetColor( data[n][m]==1?COLOR_B:COLOR_C ); csl.GotoXY( 2+m*2, 1+n ); csl.OutputString( "■", 2 ); } data[0][m] = 0; csl.OutputStringNoMove( 2+m*2, 1, "■", 2 ); } } } char data[19][11] = { 0 }; if( linecount == 0 ) return; int _score = 0; switch( linecount ) { case 1: _score = 100; break; case 2: _score = 300; break; case 3: _score = 700; break; case 4: _score = 1500;break; } score += _score; if( score > 99999 ) score = 99999; level = score/10000; DrawScoreLevel(); } void MoveTrans( void ) // 逆时针翻转 { if( IsFit( x, y, c, (z+1)%4 ) ) { Draw( COLOR_C ); z=(z+1)%4; Draw( COLOR_A ); } } void MoveLeft( void ) // 向左移 { if( IsFit( x-1, y, c, z ) ) { Draw( COLOR_C ); --x; Draw( COLOR_A ); } } void MoveRight( void ) // 向右移 { if( IsFit( x+1, y, c, z ) ) { Draw( COLOR_C ); ++x; Draw( COLOR_A ); } } void MoveDown( void ) // 向下移 { if( IsFit( x, y+1, c, z ) ) { Draw( COLOR_C ); ++y; Draw(- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 俄罗斯方块 优秀 课程设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文