基于android的2048游戏的设计与实现-毕业论文.doc
《基于android的2048游戏的设计与实现-毕业论文.doc》由会员分享,可在线阅读,更多相关《基于android的2048游戏的设计与实现-毕业论文.doc(38页珍藏版)》请在咨信网上搜索。
本科毕业论文(设计) 题目:基于Android的2048游戏的设计与实现 姓 名: 学 号: 专 业: 11级计算机科学与技术 院 系: 信息工程 指导老师: 职称学位: 讲师/硕士 完成时间: 教务处制 安徽新华学院本科毕业论文(设计)独创承诺书 本人按照毕业论文(设计)进度计划积极开展实验(调查)研究活动,实事求是地做好实验(调查)记录,所呈交的毕业论文(设计)是我个人在导师指导下进行的研究工作及取得的研究成果。据我所知,除文中特别加以标注引用参考文献资料外,论文(设计)中所有数据均为自己研究成果,不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的工作已在论文中作了明确说明并表示谢意。 毕业论文(设计)作者签名: 日期: 安徽新华学院15届本科毕业论文(设计) 基于Android的2048游戏的设计与实现 摘 要 现如今,电子游戏已慢慢渗透进人们生活中,并在扮演着越来越重的角色。可以说,随着他的迅猛发展,现今的电子游戏已经不仅仅是一种娱乐,而是形成了一种文化现象,具有很强的民族性和丰富的文化内涵。伴随着游戏软件在市场的销售,与其相关的文化也随之传播。 2048游戏的制作属于电子游戏中的益智类小游戏,它做到了娱乐性、趣味性、教育性相统一。益智类的游戏即是需要去开动大脑去思考从而获得游戏的胜利。简单的益智类游戏可以使玩家在娱乐中不断的开发大脑。这样一来就实现了在娱乐中学习。 本文通过对Android应用开发的初步研究,设计出了一款基于Android平台的2048小游戏。本文是在通过对系统进行详细分析的情况下,基本的确定了系统的相关的功能要求,对游戏的关卡设置、菜单界面、屏幕绘制和布局进行了设计,实现了一款界面清晰、内容丰富的2048游戏,它能够让人们在这个快节奏的生活压力中得到缓解。 关键字:Android;游戏;益智 Design and implementation of 2048 games based on Android Abstract Nowadays, electronic games have seeped into people's life, and plays an increasinglyimportant role. It can be said, with his rapid development of electronic games, today is not only a kind of entertainment, but the formation of a cultural phenomenon, has a strong national character and rich cultural connotation. With the game software sales in the market, theculture also spread. 2048 the game belongs to the puzzle game in electronic games, it did entertainment, fun,educational unity. Puzzle game is to use your brain to think in order to win the games. A simplepuzzle game can make the game player development brain constantly in entertainment. So asto achieve the learning in the entertainment. The preliminary study on the development of Android application, designed a 2048 gamebased on Android platform. In this paper through the detailed analysis of system, the basic to determine the system's related functional requirements, setting, rendering and layout of the screen menu interface, the game's level for the design, implementation of a clear interface,rich content of the 2048 game, it can let people get relief in this fast the rhythm of lifepressure. Key Words:Android;Game;Puzzle 目 录 1 绪 论 1 1.1 背景 1 1.1.1 手机的应用市场发展现状 1 1.1.2 国内外现状 1 1.1.3 课题意义 1 1.2 本章小结 2 2 开发环境的介绍和搭建 3 2.1 开发环境的介绍 3 2.1.1 JDK的介绍 3 2.1.2 Eclipse的介绍 3 2.1.3 Android SDK的介绍 3 2.2 开发环境的搭建 3 2.2.1 JDK的安装与环境变量配置 3 2.2.2 Android SDK 与Eclipse的安装与配置 4 2.2.3 Android虚拟机AVD的配置 4 2.3 本章小结 5 3 系统的需求分析和概要设计 6 3.1系统需求分析 6 3.1.1系统功能需求分析 6 3.1.2游戏基本规则 7 3.2系统概要设计 7 3.2.1系统流程的设计 7 3.2.2系统模块设计 8 3.3 本章小结 10 4 系统实现 12 4.1 开始界面的实现 12 4.2游戏界面的实现 12 4.3 游戏滑屏卡片移动的实现 13 4.4 重新开始游戏功能的实现 19 4.5关卡的实现 21 4.6游戏帮助的实现 23 4.7 本章小结 24 5 测 试 25 5.1 游戏系统测试 25 5.1.1游戏流程测试 25 5.1.2 游戏模式 27 5.2 本章小结 28 6 总结与展望 28 6.1 论文总结 28 6.2 展 望 29 致 谢 29 参考文献 30 1 绪 论 第一章 主要是对课题的总体介绍,主要包括对课题的背景资料简介、国内外研究现状,还有就是对课题研究的价值的介绍。 1.1 背景 1.1.1 手机的应用市场发展现状 随着3G的越来越普及以及手机应用的日益丰富还有智能水平的不断的提高,从便携性和随身性这两方面来考虑,电脑所带来的体验已经不能跟手机相提并论了,他已经完美的超过了电脑[1]。 现如今Android、苹果等各智能手机已经基本占领整个手机市场,从而使得更多应用的出现,然而手机游戏应用在其中占领主要的位置。 随着Android智能手机的普及以及游戏种类的多元化,使得Android手机游戏用户规模保持着稳步增长之势[2,3]。 1.1.2 国内外现状 目前国内外的Android开发还是主要以应用开发为主,主要分成3类:企业应用、通用应用以及游戏应用。第一类应用的开发主要是一些大公司为了自己的品牌而开发的。第二类的应用主要是一些创业型公司或者独立开发者为了盈利开发的应用。第三类应用目前跟第二类应用相同[4]。 2048小游戏是一款最近风靡全球的手机游戏,简单的游戏模式和趣味的玩法,几乎游戏下载排行榜的前10名都可以看到“他的身影”。 1.1.3 课题意义 现如今,手机游戏已在我们的生活中占据一席之地,并在一步步的壮大。可以说,随着他的迅猛发展,现今的手机游戏已经不单单是一种缓解压力的工具,而是形成了一种文化现象。随着游戏软件在市场的一步步壮大,与其有关的文化也随之传播。 2048游戏的制作属于电子游戏中的益智类小游戏,它做到了娱乐性、趣味性、教育性相统一。益智类的游戏即是需要去开动大脑去思考从而获得游戏的胜利。简单的益智类游戏可以使玩家在娱乐中不断的开发大脑。这样一来就实现了在娱乐中学习。 现有2048游戏最大的不足在于过度强调简洁,它是由数字组成的游戏,所以在长时间的游戏后就会感觉无聊,同时在熟知玩法后就会知道下一个要拼出的数字,这就缺乏神秘感,当一款游戏缺乏了神秘和趣味时就注定失败。所以我们要勇于创新,将2048游戏开发出不同的版本,当玩家觉对拼接数字感到无聊时可以有不同的选择。2048还有一大缺点就是当玩家拼出‘2048’时游戏就会结束,这样就会让玩家感到失落,所以我们要创作一个永无止境的游戏,让玩家去不断的超越自己。 1.2 本章小结 本章首先介绍了本游戏2048的研究背景,主要是以手机的应用市场发展现状和国内外现状两方面来阐述,以及简单的介绍了本课题的意义。 2 开发环境的介绍和搭建 本章是对Android应用开发的开发环境进行简单的介绍以及如何搭建。 2.1 开发环境的介绍 2.1.1 JDK的介绍 Java Development Kit(JDK) 是Java语言的软件开发工具包。Java的核心就是JDK,JDK主要包括了Java基础类库、Java运行环境以及Java工具。它主要是为Java程序员开发而发布的免费开发工具包[5,6]。 2.1.2 Eclipse的介绍 Eclipse是一个基于Java的和开源的开发平台,刚开始只是用于Java语言的开发,现在人们使用一些外挂程式使得Eclipse可以开发一些其他的计算机语言。Eclipse对他本身而言它只是一个框架平台,但最多的外挂程式使得它变得具有灵活性[7]。 2.1.3 Android SDK的介绍 SDK(software development kit)是软件开发工具包。Android SDK 指的是Android专属的软件开发工具包[8]。 2.2 开发环境的搭建 2.2.1 JDK的安装与环境变量配置 (1)从网上下载JDK1.6或者JDK1.7版本。 (2)双击文件安装JDK。 (3)环境变量的配置:右击“我的电脑”-->"属性"-->“高级系统设置”-->"环境变量"[9]。环境变量的设置界面分“用户变量”和“系统变量”[10]。在系统变量里点击新建在变量名中输入“JAVA_HOME”,在变量值中填入JDK的安装路径;接着新建classpath变量,变量值设为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar,然后双击“系统变量”中存在的path在弹出的对话框中添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,最后运行->cmd,输入javac,如果出现用法说明,则表示成功[11,12]。 2.2.2 Android SDK 与Eclipse的安装与配置 在网上搜索adt-bundle-windows并下载。下好之后直接解压缩,此文件为已经集成了Eclipse和Android SDK 的完整版,这样就可以适合一些新手。 2.2.3 Android虚拟机AVD的配置 在Eclipse菜单栏中点击Window->Android Virtual Device Manager[13],在弹出的窗口中点击“new”按钮,进入到创建的AVD配置窗口,可以创建自己想要的AVD[14],如图2.1所示: 图2.1 AVD配置图 配置成功后,选中创建好的AVD并点击“start”按钮弹出对话框点击Launch按钮,由于AVD第一次启动时间较长,需耐心等待[15]。开启成功后如图2.2所示: 图2.2 AVD界面图 2.3 本章小结 本章是对Android应用开发所需的开发环境进行简单的介绍和对开发环境如何搭建进行介绍。 3 系统的需求分析和概要设计 这章主要讲述了系统的需求分析,简单的描述了各个功能模块和游戏的基本规则,然后是对系统概要设计的介绍。 3.1系统需求分析 3.1.1系统功能需求分析 系统主要实现以下的几个功能:关卡选择、呈现游戏界面、重新开始游戏、当前分数和最高分数、游戏帮助等功能。 关卡选择是当玩家点击此按钮时,游戏就会从主界面跳转到关卡选择界面,当玩家选择相应的关卡时,先判断此关卡是否开启,如果没有开启此关卡就会弹出对话框提示玩家此关卡未开启,如果此关卡已经开启就会跳转到主界面同时开始此关卡。重新开始游戏是当玩家无法满足当前进度时点击此按钮就会重新开始游戏,如果玩家处于不同关卡时重新开始游戏还是停留在此关卡。游戏帮助是当新手玩此游戏时无法知道游戏玩法时给予相应的提示。呈现游戏界面是游戏开始时主界面在游戏区域会生成4×4的矩阵同时在矩阵里面随机生成两个2或4的卡片。当前分数和最高分数是显示此局玩家所获得的分数和历史最高的分数,如果当前的分数超过最高分数那么最高分显示当前的分数,如图3.1所示。 图3.1系统功能图 3.1.2游戏基本规则 在开始游戏后玩家通过滑动屏幕来操控卡片的移动方向,当卡片滑动中如果有两张卡片相同且他们的中间也没有其他卡片时,在滑动的过程中这两张卡片会合并,显示为这两张卡片之和。在滑动之中有三张卡片相同时只会合并向滑动方向两张卡片。在滑动中如果有两张卡片一样同时又有一张卡片的值跟这两张卡片相加的值时,滑动只会使那两张相同的卡片合并而不会接着让合并后的卡片和另一张卡片合并。 3.2系统概要设计 3.2.1系统流程的设计 游戏开始进入开始页面,能够进入游戏的主界面并开始普通开局,从主界面能够重新开始游戏、查看帮助和进入关卡选择界面。当玩家点击重新开始按钮会弹出相应的对话框让玩家选择,如果玩家选择“是”时则重新开始游戏,如果选择“否”则返回游戏界面不做任何处理。当玩家点击关卡按钮会跳转到关卡选择界面,关卡界面将显示所有的关卡,当玩家点击相应的关卡时后台会判断此关卡是否开启,如果已经开启将会跳转到主界面并运行此关卡,如果没有开启将给予玩家提示“此关卡未开启”对话框。在开始界面按返回按钮时则会退出游戏。游戏的流程图如图3.2所示: 图3.2系统流程图 3.2.2系统模块设计 从总体出发,将该系统划分为三大模块:“菜单设计”,“界面设计”和“算法设计”。 3.2.2.1 菜单设计 菜单的实现是在游戏界面实现,可进一步划分为三个模块,分别是:“游戏帮助”,“重新开始”,“关卡选择”,如图3.3所示: 重新开始 关卡选择 游戏帮助 图3.3菜单设计 3.2.2.2界面设计 可进一步划分为:“主界面设计”,“游戏界面设计”和“关卡界面设计”,如图3.4所示: 开始游戏 关卡选择 分数 游戏区域 重新 帮助 关卡 (a) 开始界面 (b)游戏界面 (c)关卡选择界面 图3.4 界面设计 3.2.2.3算法设计 (1)当有两张卡片相同时,向它们可以碰撞的方向滑屏,卡片会移动到最底边并生成其两倍数字的卡片,并且生成一个“2”或“4”的卡片,如图3.5所示: 图3.5 简单卡片合成 (2)当有两张卡片相同时,且在他相同的方向有张跟它们之和的卡片,向它们可以碰撞的方向滑屏,相同的卡片会移动到无法移动的位置并生成期两倍数字的卡片,但合成的卡片不会跟那张两倍数字的卡片合并,并且生成一个“2”或“4”的卡片,如图3.6所示: 图3.6 复杂卡片合成 (3) 当界面上没有空位并且两两相邻的卡片不相同时游戏结束。如图3.7所示: 图3.7游戏结束 3.3 本章小结 本章主要对游戏所实现的功能进行需求分析,对图形和系统性能进行了分析,分析了图形的特点和实现的可行性。对系统的性能进行了详细的分析同时也提出来解决性能问题的解决方案。 对系统的流程,系统所需的图形文件,系统的总体架构和系统用例进行了设计。通过本章的分析、设计能更加具体的了解系统功能,对系统所要实现的功能和图形文件有了更深的认识。为下一章系统功能的具体实现提供了可靠的参考依据。 32 4 系统实现 本章主要是详细介绍每个功能是怎样的实现。 4.1 开始界面的实现 游戏的主界面是按钮图片,只是实现了界面的跳转,当玩家点击此界面时就会调用ZuomianActivity.java此函数让页面跳转到游戏界面开始游戏,如图4.1所示: public class ZuomianActivity extends Activity{ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main0); } 图4.1 开始界面 4.2游戏界面的实现 游戏界面主要是在activity_main.xml中当前分数、最高分数、游戏区域、重新开始按钮、关卡选择按钮、帮助按钮,当跳转到游戏界面时就会调用并执行MainActivity.java函数来展示游戏界面,如图4.2所示。 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } 图4.2 主界面 4.3 游戏滑屏卡片移动的实现 当玩家滑动屏幕时,主要是通过initGameView函数来监听玩家手指滑动的位置,先通过获取开始坐标和结束坐标,然后通过比较结束坐标跟开始坐标的差值来判断玩家是怎样滑动屏幕的。判断出玩家的滑动轨迹后,通过调用swipeLeft、swipeRight、swipeUp、swipeDown方法来实现卡片的移动,如图4.3所示。 public void initGameView() { setColumnCount(4); setOnTouchListener(new OnTouchListener() { private float startX, startY, offsetX, offsetY; public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: startX = event.getX(); startY = event.getY(); break; case MotionEvent.ACTION_UP: offsetX = event.getX() - startX; offsetY = event.getY() - startY; if (Math.abs(offsetX) > Math.abs(offsetY)) { if (offsetX < -5) { swipeLeft(); } else if (offsetX > 5) { swipeRight(); } } else { if (offsetY < -5) { swipeUp(); } else if (offsetY > 5) { swipeDown(); } } break; } return true; } }); } private void swipeLeft() { boolean merge = false; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { for (int x1 = x + 1; x1 < 4; x1++) { if (cardsMap[x1][y].getNum() > 0) { if (cardsMap[x][y].getNum() <= 0) { cardsMap[x][y].setNum(cardsMap[x1][y].getNum()); cardsMap[x1][y].setNum(0); x--; merge = true; } else if (cardsMap[x][y].equals(cardsMap[x1][y])) { cardsMap[x][y].setNum(cardsMap[x][y].getNum() * 2); cardsMap[x1][y].setNum(0); MainActivity.getMainActivity().addScore( cardsMap[x][y].getNum()); merge = true; } break; } } } } if (merge) { addRandomNum(); checkComplete(); } } private void swipeRight() { boolean merge = false; for (int y = 0; y < 4; y++) { for (int x = 3; x >= 0; x--) { for (int x1 = x - 1; x1 >= 0; x1--) { if (cardsMap[x1][y].getNum() > 0) { if (cardsMap[x][y].getNum() <= 0) { cardsMap[x][y].setNum(cardsMap[x1][y].getNum()); cardsMap[x1][y].setNum(0); x++; merge = true; } else if (cardsMap[x][y].equals(cardsMap[x1][y])) { cardsMap[x][y].setNum(cardsMap[x][y].getNum() * 2); cardsMap[x1][y].setNum(0); MainActivity.getMainActivity().addScore( cardsMap[x][y].getNum()); merge = true; } break; } } } } if (merge) { addRandomNum(); checkComplete(); } } private void swipeUp() { boolean merge = false; for (int x = 0; x < 4; x++) { for (int y = 0; y < 4; y++) { for (int y1 = y + 1; y1 < 4; y1++) { if (cardsMap[x][y1].getNum() > 0) { if (cardsMap[x][y].getNum() <= 0) { cardsMap[x][y].setNum(cardsMap[x][y1].getNum()); cardsMap[x][y1].setNum(0); y--; merge = true; } else if (cardsMap[x][y].equals(cardsMap[x][y1])) { cardsMap[x][y].setNum(cardsMap[x][y].getNum() * 2); cardsMap[x][y1].setNum(0); MainActivity.getMainActivity().addScore( cardsMap[x][y].getNum()); merge = true; } break; } } } } if (merge) { addRandomNum(); checkComplete(); } } private void swipeDown() { boolean merge = false; for (int x = 0; x < 4; x++) { for (int y = 3; y >= 0; y--) { for (int y1 = y - 1; y1 >= 0; y1--) { if (cardsMap[x][y1].getNum() > 0) { if (cardsMap[x][y].getNum() <= 0) { cardsMap[x][y].setNum(cardsMap[x][y1].getNum()); cardsMap[x][y1].setNum(0); y++; merge = true; } else if (cardsMap[x][y].equals(cardsMap[x][y1])) { cardsMap[x][y].setNum(cardsMap[x][y].getNum() * 2); cardsMap[x][y1].setNum(0); MainActivity.getMainActivity().addScore( cardsMap[x][y].getNum()); merge = true; } break; } } } } if (merge) { addRandomNum(); checkComplete(); } } 图4.3 卡片移到 4.4 重新开始游戏功能的实现 当玩家点击游戏界面的重新开始游戏时,会弹出给玩家选择的对话框,让玩家选择是否重新开始游戏。当玩家选择“是”时游戏会重新开始,重新开始游戏会根据玩家当前所选的关卡来重置游戏,如果玩家选择“否”时,游戏将继续下去,如图4.4所示。 btnNewGame = (Button) findViewById(R.id.btnNewGame); btnNewGame.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { new AlertDialog.Builder(MainActivity.this) .setTitle(" 是否重新再来!") .setNegativeButton("取消",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int which) { } }) .setPositiveButton("确定",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int which) { if (getGameid() == 0) gameView.startGame(); else if (getGameid() == 1) gameView.startGame64(); else if (getGameid() == 2) gameView.startGame128(); else if (getGameid() == 3) gameView.startGame256(); else if (getGameid() == 4) gameView.startGame512(); else if (getGameid() == 5) gameView.startGame1024(); else if (getGameid() == 6) gameView.startGame2048(); else if (getGameid() == 7) gameView.startGame4096(); else if (getGameid() == 8) gameView.startGame8192(); else if (getGameid() == 9) gameView.startGame16384(); else if (getGameid() == 10) gameView.startGame32768(); else if (getGameid() == 11) gameView.startGame65536(); } }).show(); } }); } 图4.4 重新开始游戏 4.5 关卡的实现 当玩家的分数达到一定的高度的时候就会解开相应的关卡,玩家可以在游戏界面点击游戏关卡的按钮,后台会通过调用MainActivity中关卡相关的代码跳转到关卡界面执行GqActivity将写好的activity_guanqia.xml显示出来,当玩家点击相应的关卡时会传递相应的值给MainActivity,MainActivity根据传过来的值调用相应的开局方式,如果点击的关卡已开启则跳转到游戏界面开启此关卡,如果没有开启则弹出对话框提示玩家此关卡没开启,如图4.6所示。 public class GqActivity extends Activity { private Button fanhui; private Button butpt; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_guanqia); fanhui = (Button) findViewById(R.id.fanhui); fanhui.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(GqActivity.this, MainActivity.class); startActivity(intent); } }); butpt = (Button) findViewById(R.id.butpt); butpt.setOnClickListener(new View.OnClickListener() { MainActivity mat = MainActivity.getMainActivity(); public void onClick(View arg0) { Intent intent = new Intent(GqActivity.this, MainActivity.class); setResult(0, intent); finish(); } }); } 图4.6 关卡功能 4.6 游戏帮助的实现 当新玩家进入到游戏且不知道此游戏玩法,玩家可以点击游戏帮助按钮来了解游戏玩法,点击按钮时游戏会弹出对话框显示游戏玩法,如图4.7所示。 btnHelpInfo.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { showGameHelpInfo(); } }); private void showGameHelpInfo() { TextView view = new TextView(MainActivity.this); view.setText(R.string.gametactics); view.setMaxLines(10); new AlertDialog.Builder(MainActivity.this).setTitle("2048游戏攻略") .setView(view) .setNeutralButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }).show(); } 图4.7 游戏帮助 4.7 本章小结 本章主要阐述本游戏相关功能的实现,详细的讲述了主界面的实现和个按钮功能的实现。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 android 2048 游戏 设计 实现 毕业论文
咨信网温馨提示:
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。
关于本文