小游戏贪吃蛇的详细设计.doc
《小游戏贪吃蛇的详细设计.doc》由会员分享,可在线阅读,更多相关《小游戏贪吃蛇的详细设计.doc(30页珍藏版)》请在咨信网上搜索。
摘要 在我们空闲的时候,我们可以用一些我们学过的知识编一些东西,通过这些东西我们可以学习到汇编语言综合应用程序设计方法,还可以提高汇编语言实际应用能力,充分了解计算机硬件和软件,完成理论到实践的推进过程。这个程序就是用我所学过的汇编知识编的一个小游戏,这个游戏的程序主要就是用汇编宏和子程序的知识来编制而成的,我们用宏和子程序定义了很多的模块,模块也就是在我们的程序中直接可以调用的一个独立的程序。所以我们编写程序的时候可以很方便的用到它,所以那些基础知识也是我们编写程序的基础。 关键词 汇编 贪吃蛇 小游戏 1 前言 现在有的一些人感觉生活都是很无聊的,特别是我们这些学生,所以有些时候肯定会玩各种各样的游戏的,有一些大的游戏,玩起来会话掉很多的时间,而且也会花掉大量精力的 ,所以在一些闲暇的时候一些小游戏会博得很多人的喜爱,例如:俄罗斯方块,和一些格斗游戏等等。然而这些小游戏的设计方法和软件有很多,所以也有很多不同的效果,本篇设计是采用汇编中宏定义和调用,子程序的调用等一些汇编知识编制而成的一个贪吃蛇小游戏,通过这个小游戏的制作,我们可以得到很多的益处,一方面我们可以不在浪费平时的一些空闲的时间了,而热中于我们自己喜欢的游戏;另一个方面我们制作完游戏还可以给自己或者别人来享受一下,同时自己也会有一种成就感。特别当你用自己学到的知识制作出一个东西的时候,或者克服一个困难的时候你就会发现你自己的价值所在了,而且这还能促进你喜欢学习的念头。 目录 一、系统分析…………………………………………………………………… 二、系统总体设计…………………………………………………………… 三、详细设计…………………………………………………………………… 1、 窗口化程序…………………………………………………………… 2、 建立小蛇和食物……………………………………………………… 3、 初始对话框…………………………………………………………… 4、 小蛇和食物的位置……………………………………………………… 5、 分配内存空间…………………………………………………………… 6、 调整链表大小…………………………………………………………… 四、系统测试…………………………………………………………………… 1测试方案及用例………………………………………………………… 2.测试结果及软件可靠性分析…………………………………………… 3.游戏规则…………………………………………………………………… 五、软件使用说明书…………………………………………………………… 六、设计总结…………………………………………………………………… 参考文献………………………………………………………………………… 致谢……………………………………………………………………………… 程序清单……………………………………………………………………… 一、系统分析 这个程序的总体的思想也就是主要用的就是宏和子程序的定义和调用,首先,定义了5个宏它们分别为:①屏幕初始化宏定义 ②在光标位置显示字符和属性定义 ③显示字符串宏定义 ④置光标位置宏定义 ⑤读光标位置的字符和属性宏定义。它们在程序中起到主要的作用。其次,就是子程序定义了,程序中定义了很多的子程序,其中有:①控制子程序 ②食物子程序,还有记分子程序等。它们首先被主程序调用,然后它们之间再互相调用,这样构成了完整的游戏程序并实现其功能。具体的设计思想是:第一,对数据进行初始化,即对寄存器的初始化,比如对食物的初始化等。第二,开始运行,判断是否符合条件,如果符合赢的条件的话,就会跳转到赢的那个子程序下,然后那个赢的子程序会调用记分的那个子程序,最后显示赢的信息和分数后再转到控制程序执行控制和其后的程序。如果要是输的话,就会跳转到输的那个子程序下,然后那个输的子程序也会调用记分的那个子程序,最后显示得分和信息。如果要是没有赢也没有输的话,那程序会跳到控制的子程序中,等控制完以后程序又会跳到程序判断的那个地方重复的执行。这个就是完成这个游戏程序的整个思想。 二、系统总体设计 这个程序完成的功能就是和别的游戏一样,最初,给出一个初始化的界面,和一个4个方块组成的小蛇,我们要把那个最初给出那个小蛇穿过那个闪烁的小红黄相间的小方块,然后那个小方块就会变成我们那个小蛇上的组成单元一样的一个小方块,和在别的地方会在出现另一个小方块,我们接下来要做的就是要把那个小方块穿过来,然后我们那个小蛇就会变长了,然后在穿过小方块,就这样重复的做就行了,随着你的穿过你的小蛇就会越来越长了,这是你的得分就会越高,同时你难度也会变大的,因为如果你要碰到四周的变的话,或者你自己的那个小蛇首尾要是相连的话你就会输了,所以当你那个小蛇很长的时候,难度自然就会变大了。 开始 初始化数据 是否成功? LOSE WIN NOLOSE 显示分数和符号 显示成功的符号 上下左右的控制 结束 动画贪吃蛇程序的流程图 三.详细设计 1.窗口化程序 .data ClassName db "DLGCLASS", 0;"snakeDlg",0 helpMsg db "Help: [Space]-Pause or Start | [Esc]-Exit | [Arrow]-Direction", 0 scoreMsg db "Length:%d", 0 gameover db "GAME OVER!", 0 BkgndClr dd 0000dd00h ;0x00bbggrr statusWidth dd 280,350,-1 gSnake SnakeSt <> 2.建立小蛇和食物 InitBmp proc, hWnd:HWND invoke GetDC, hWnd mov hdc, eax ;蛇体画片 invoke CreateCompatibleDC, hdc mov hSnkDC, eax invoke LoadBitmap, hInstance, SnakeBmp mov hSnkBmp, eax invoke SelectObject, hSnkDC, eax ;食物画片1 invoke CreateCompatibleDC, hdc mov hFdDC1, eax invoke LoadBitmap, hInstance, FdBmp1 mov hFdBmp1, eax invoke SelectObject, hFdDC1, eax ;食物画片2 invoke CreateCompatibleDC, hdc mov hFdDC2, eax invoke LoadBitmap, hInstance, FdBmp2 mov hFdBmp2, eax invoke SelectObject, hFdDC2, eax 3.初始对话框 WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM LOCAL rect:RECT LOCAL ps:PosSt .if uMsg == WM_CLOSE invoke DestroyWindow, hWnd .elseif uMsg == WM_CREATE invoke GetWindowRect, hWnd, addr rect invoke SetWindowPos, hWnd, HWND_NOTOPMOST, rect.left , rect.top, CLIENTW, CLIENTH, SWP_NOZORDER .elseif uMsg == WM_INITDIALOG ;此时对话框子控件都已经初始化好了 invoke SendDlgItemMessage, hWnd, IDC_SBR1, SB_SETPARTS, 3, offset statusWidth invoke SendDlgItemMessage, hWnd, IDC_SBR1, SB_SETTEXT, 0, offset helpMsg invoke InitBmp, hWnd invoke InitGame, hWnd 4.小蛇与食物的位置 push rect.left pop ps.x push rect.top pop ps.y mov eax, ps.x mov ebx, ps.y ;ps存放的是下一个位置的坐标 5.分配内存空间 DelFromTail proc, ppNode:dword pushad assume eax:ptr Node, ebx:ptr Node mov eax, ppNode mov eax, dword ptr [eax] cmp eax, 0 je LRET .if [eax].next == NULL ;只有一个元素,释放内在,将表头置空 invoke LocalFree, eax mov eax, ppNode mov DWORD ptr [eax], 0 jmp LRET .endif mov ebx, [eax].next .while [ebx].next != NULL mov eax, [eax].next mov ebx, [ebx].next .endw mov [eax].next, NULL invoke LocalFree, ebx 6.调整链表大小 AddFromHead proc, ppNode:dword, pPos:dword pushad assume eax:ptr Node, edx: ptr PosSt mov edx, pPos push edx invoke LocalAlloc, LPTR, sizeof(Node);会改变edx的值 pop edx mov ebx, [edx].x mov [eax].data.x, ebx mov ebx, [edx].y mov [eax].data.y, ebx mov ebx, ppNode mov ebx, [ebx] mov [eax].next, ebx push eax mov eax, ppNode pop DWORD ptr [eax] assume eax:nothing, edx:nothing popad ret AddFromHead endp 四.系统测试 1.测试方案及用例 (1)在MASMPlus里编译snack.asm,编译无误后,接下来进行下一步测试。 (2)在所创建的窗口化程序里测试小蛇上,下,左,右,和吃食物及碰撞墙壁和自己发生的现象。 2. 测试结果及软件可靠性分析 测试编译显示无误,出现界面 图4.1 界面图 测试小蛇吃食物 图4.2吃食物图 吃食物成功 图4.3吃食物成功图 碰撞墙壁游戏结束 图4.4碰撞墙壁游戏结束 小蛇碰撞自己游戏结束 图4.5小蛇碰撞自己游戏结束图 3.游戏规则 贪吃蛇游戏是一款简单的益智类游戏,规则很简单,就是吃屏幕上的食物增加蛇的长度来提高分数,避免蛇撞墙和撞到自己导致游戏结束。 五.软件使用说明书 1、运行程序 在我们用的软件MASM32的目录下,我们可以找到snake.exe文件,双击就可以打开了。 2、玩游戏 我们通过键盘的上下左右键来控制里面我们的那个小蛇的,即键盘上的键,只需要这四个键就可以了。而且有空格键可以暂停或开始游戏,esc为退出游戏。 六.设计总结 这个小游戏程序主要用的技术包括三个方面:第一个方面就是宏的定义及调用,这个程序当中多次用到宏汇编。这不仅减少了程序的开销,而且还减少了程序运行的时间和一些存储空间。第二个方面就是子程序的调用,这个程序中也有多处用到CALL的调用。使用子程序不仅可以提供模块化程序设计的条件,而且便于程序的调试及修改等。第三个方面就是其中的一些跳转的问题,这个用起来有点麻烦,但是这个用起来比较方便,所以文中很多很多的地方都用到这个跳转。比如:JMP,JNC,JC等。 在这个游戏的设计中,其实也遇到很多的困难,比如说一些寄存器使用冲突的问题 ,还有一些是宏的使用问题和当中跳转的问题等。 经过这一个小游戏程序的设计,我也深刻体会到这个汇编程序设计的意义所在了,原本在课堂上学的东西自己现在把它运用到现时的生活中的一些小的问题上,那种感觉和意义是无法用言语表达的, 在这个过程当中我也知道了汇编这门课程的重要性了。 参考文献 1 IBM-PC 汇编语言程序设计 沈美明等 清华大学出版社。 2 8086/8088宏汇编语言程序设计教程 第二版 王正智/编 电子工业出版社。 3 80X86汇编语言程序设计教程 杨季文/等编 清华大学出版社。 4钱晓捷.汇编语言程序设计(第二版). 电子工业出版社, 2003。 5罗云彬.Windows环境下32位汇编语言程序设计(第二版).电子工业出版社, 2006。 6 Windows API函数参考手册.人民邮电出版社, 2002。 致谢 在这将近一周的汇编语言课程设计里,将我们所学的基础知识加以应用的过程中,在很紧张的时间里完成了这次的课程设计任务。但是在这样很短的时间里完成任务,我们遇到了很多汇编语法知识、程序总体设计思路、程序编程以及程序代码调试困难,幸好在刘树群老师的指导下,将一个个问题都得以解决,再次特别感谢刘老师在这次课设中的帮助。并且要感谢我们小组的另外两名组员,我们各自分工明确并且相互帮助,才完成了这次的课程设计任务。团队是每一个人组成的,只有每一个人分工明确且相互帮助下才能体现出团队的凝聚力,才能更好的完成每一个任务,在这次的课设任务里感谢我们小组以及参与到我们小组的每位成员,谢谢。 程序清单 .386 .model flat,stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\user32.inc include \masm32\include\gdi32.inc include rsrc.inc ;resource.h include \masm32\include\comctl32.inc ;for status bar include snake.inc include list.inc include d:\masmplus\include\masm32.inc ;for Random includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib includelib \masm32\lib\gdi32.lib includelib \masm32\lib\comctl32.lib includelib d:\masmplus\lib\masm32.lib WinMain proto :DWORD,:DWORD,:DWORD,:DWORD AboutProc proto, hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM WndProc proto hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM .data ClassName db "DLGCLASS", 0;"snakeDlg",0 helpMsg db "Help: [Space]-Pause or Start | [Esc]-Exit | [Arrow]-Direction", 0 scoreMsg db "Length:%d", 0 gameover db "GAME OVER!", 0 BkgndClr dd 0000dd00h ;0x00bbggrr statusWidth dd 280,350,-1 gSnake SnakeSt <> .data? hInstance HINSTANCE ? CommandLine LPSTR ? hdc dd ? hSnkDC dd ? hFdDC1 dd ? hFdDC2 dd ? hSnkBmp dd ? hFdBmp1 dd ? hFdBmp2 dd ? hbrBackground dd ? fPause dd ? isOver dd ? buffer db 100 dup (?) .code start: invoke InitCommonControls invoke GetModuleHandle, NULL mov hInstance,eax invoke GetCommandLine mov CommandLine,eax invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT invoke ExitProcess,eax Random proc _r0:DWORD mov eax, _r0 imul eax, 23 add eax, 123 and eax, 7FFFH ret Random endp ;将改变链表头,没有返回值 AddFromHead proc, ppNode:dword, pPos:dword pushad assume eax:ptr Node, edx: ptr PosSt mov edx, pPos push edx invoke LocalAlloc, LPTR, sizeof(Node);会改变edx的值 pop edx mov ebx, [edx].x mov [eax].data.x, ebx mov ebx, [edx].y mov [eax].data.y, ebx mov ebx, ppNode mov ebx, [ebx] mov [eax].next, ebx push eax mov eax, ppNode pop DWORD ptr [eax] assume eax:nothing, edx:nothing popad ret AddFromHead endp ;删除链表最后一个元素,无返回值 DelFromTail proc, ppNode:dword pushad assume eax:ptr Node, ebx:ptr Node mov eax, ppNode mov eax, dword ptr [eax] cmp eax, 0 je LRET .if [eax].next == NULL ;只有一个元素,释放内在,将表头置空 invoke LocalFree, eax mov eax, ppNode mov DWORD ptr [eax], 0 jmp LRET .endif mov ebx, [eax].next .while [ebx].next != NULL mov eax, [eax].next mov ebx, [ebx].next .endw mov [eax].next, NULL invoke LocalFree, ebx LRET: assume eax:nothing, ebx:nothing popad ret DelFromTail endp FreeAll proc, ppNode:dword push eax mov eax, ppNode mov eax, [eax] .while eax != 0 push (Node ptr [eax]).next invoke LocalFree, eax pop eax .endw mov eax, ppNode mov dword ptr [eax], 0 pop eax ret FreeAll endp IsExist proc, pNode:dword, pPos:dword push ebx push ecx push edx mov eax, pNode mov edx, pPos assume eax:ptr Node, edx:ptr PosSt .while eax != NULL mov ebx, [eax].data.x mov ecx, [eax].data.y .if ebx == [edx].x && ecx == [edx].y mov eax, TRUE .break .endif mov eax, [eax].next .endw assume eax:nothing, edx:nothing pop edx pop ecx pop ebx ret IsExist endp WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD LOCAL wc:WNDCLASSEX LOCAL msg:MSG LOCAL hDlg:HWND mov wc.cbSize,SIZEOF WNDCLASSEX mov wc.style, CS_HREDRAW or CS_VREDRAW mov wc.lpfnWndProc, OFFSET WndProc mov wc.cbClsExtra,NULL mov wc.cbWndExtra,DLGWINDOWEXTRA push hInst pop wc.hInstance invoke CreateSolidBrush, BkgndClr mov hbrBackground, eax mov wc.hbrBackground,eax mov wc.lpszMenuName, IDR_MENU1 mov wc.lpszClassName,OFFSET ClassName invoke LoadIcon,hInstance, SnakeIcon mov wc.hIcon,eax mov wc.hIconSm,eax invoke LoadCursor,NULL,IDC_ARROW mov wc.hCursor,eax invoke RegisterClassEx, addr wc invoke CreateDialogParam,hInstance, IDD_DLG1,NULL,WndProc,NULL mov hDlg,eax invoke ShowWindow, hDlg,SW_SHOWNORMAL invoke UpdateWindow, hDlg .WHILE TRUE invoke GetMessage, ADDR msg,NULL,0,0 .BREAK .IF (!eax) ;invoke IsDialogMessage, hDlg, ADDR msg ; .IF eax ==FALSE invoke TranslateMessage, ADDR msg invoke DispatchMessage, ADDR msg ; .ENDIF .ENDW mov eax,msg.wParam ret WinMain endp GetRandNum proc, max:dword invoke GetTickCount invoke Random, eax mov edx, 0 ;取余 div max mov eax, edx mov ebx, BOXSIZE mov edx, 0 div ebx mul ebx ret GetRandNum endp CreateFood proc, pSnake:dword invoke GetRandNum, CLIENTW-BOXSIZE mov ebx, pSnake mov (SnakeSt ptr [ebx]).food.x, eax invoke GetRandNum, CLIENTH-SBR_MEN_CAP-BOXSIZE mov ebx, pSnake mov (SnakeSt ptr [ebx]).food.y, eax ret CreateFood endp InitSnake proc, pSnake:dword local pos:PosSt pushad mov eax, pSnake assume eax:ptr SnakeSt mov [eax].len, 4 mov [eax].direct, EAST mov ecx, 0 .while ecx < BOXSIZE*4 ;初始化链表,长度为4 mov pos.x, ecx mov pos.y, 60;起始位置 lea ebx, pos invoke AddFromHead, addr [eax].header, ebx add ecx, BOXSIZE .endw assume eax:nothing popad ret InitSnake endp InitBmp proc, hWnd:HWND invoke GetDC, hWnd mov hdc, eax ;蛇体画片 invoke CreateCompatibleDC, hdc mov hSnkDC, eax invoke LoadBitmap, hInstance, SnakeBmp mov hSnkBmp, eax invoke SelectObject, hSnkDC, eax ;食物画片1 invoke CreateCompatibleDC, hdc mov hFdDC1, eax invoke LoadBitmap, hInstance, FdBmp1 mov hFdBmp1, eax invoke SelectObject, hFdDC1, eax ;食物画片2 invoke CreateCompatibleDC, hdc mov hFdDC2, eax invoke LoadBitmap, hInstance, FdBmp2 mov hFdBmp2, eax invoke SelectObject, hFdDC2, eax ret InitBmp endp InitGame proc, hWnd:HWND mov fPause, 0 mov isOver, 0 invoke FreeAll, offset gSnake invoke InitSnake, offset gSnake invoke CreateFood, offset gSnake invoke wsprintf, offset buffer, offset scoreMsg, gSnake.len invoke SendDlgItemMessage, hWnd, IDC_SBR1, SB_SETTEXT, 1, offset buffer invoke KillTimer, hWnd, TIMERID invoke SetTimer, hWnd, TIMERID, ELAPSE, NULL invoke InvalidateRect, hWnd, NULL, TRUE ret InitGame endp WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM LOCAL rect:RECT LOCAL ps:PosSt .if uMsg == WM_CLOSE invoke DestroyWindow, hWnd .elseif uMsg == WM_CREATE invoke GetWindowRect, hWnd, addr rect invoke SetWindowPos, hWnd, HWND_NOTOPMOST, rect.left , rect.top, CLIENTW, CLIENTH, SWP_NOZORDER .elseif uMsg == WM_INITDIALOG ;此时对话框子控件都已经初始化好了 invoke SendDlgItemMessage, hWnd, IDC_SBR1, SB_SETPARTS, 3, offset statusWidth invoke SendDlgItemMessage, hWnd, IDC_SBR1, SB_SETTEXT, 0, offset helpMsg invoke InitBmp, hWnd invoke InitGame, hWnd .elseif uMsg == WM_TIMER .if fPause != 0 jmp LRET .elseif isOver != 0 not fPause invoke MessageBox, hWnd, offset gameover, offset gameover, MB_ICONINFORMATION invoke InitGame, hWnd jmp LRET .endif mov eax, hFdDC1 xchg eax, hFdDC2 mov hFdDC1, eax invoke BitBlt, hdc, gSnake.food.x, gSnake.food.y, BOXSIZE, BOXSIZE, hFdDC1, 0, 0, SRCCOPY mov eax, gSnake.header push (Node ptr [eax]).data.x pop rect.left push (Node ptr [eax]).data.y pop rect.top .if gSnake.direct == EAST add rect.left, BOXSIZE .elseif gSnake.direct == SOUTH add rect.top, BOXSIZE .elseif gSnake.direct == WEST sub rect.left, BOXSIZE .else sub rect.top, BOXSIZE .endif push rect.left pop ps.x push rect.top pop ps.y mov eax, ps.x mov ebx, ps.y ;ps存放的是下一个位置的坐标 .if eax == gSnake.food.x && ebx == gSnake.food.y inc gSnake.len invoke wsprintf, offset buffer, offset scoreMsg, gSnake.len invoke SendDlgItemMessage, hWnd, IDC_SBR1, SB_SETTEXT, 1, offset buffer invoke CreateFood, offset gSnake .else .if eax < 0 || eax > CLIENTW || ebx < 0 || ebx > CLIENTH-SBR_MEN_CAP-30 ;越界 mov isOver, 1 .else invoke IsExist, gSnake.header, addr ps .if eax == TRUE mov isOver, 1 .else ;/擦除最后一个元素 mov eax, gSnake.header .while eax != NULL mov ebx, (Node ptr [eax]).next push ebx .if ebx == NULL push (Node ptr [eax]).data.x pop rect.left push (Node ptr [eax]).data.y pop rect.top push (Node ptr [eax]).data.x pop rect.right add rect.right, BOXSIZE push (Node ptr [eax]).data.y pop re- 配套讲稿:
如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。
关于本文