毕业设计方案思路.doc
《毕业设计方案思路.doc》由会员分享,可在线阅读,更多相关《毕业设计方案思路.doc(13页珍藏版)》请在咨信网上搜索。
Java编写贪吃蛇游戏思绪 一、 需求分析: 1. 游戏以经典贪吃蛇默认规则设计需要蛇能够根据给定方向每隔一段时间自动移动;方向键“↑”、“↓”、“←”、“→”能够控制蛇移动方向,蛇每吃到一个食物后身体长度增加一格,原有食物消失,再随机生成一个不再石头上新食物;石头即为地图,蛇吃到石头后游戏结束。 2. 为了使游戏愈加含有娱乐性和挑战性,增设关卡,伴随关卡等级升高,蛇移动速度加紧,蛇吃到食物难度加大,吃到一定数量食物即可过关进入下一个关卡;为蛇吃到食物后添加声音效果,增设背景音乐,能够控制背景音乐开关; 3. 为了区分和经典模式不一样,游戏增加新规则模式,新模式规则中,初始化蛇长度一定,蛇吃到食物后,食物随机产生一个新食物,原来食物经过蛇消化后变为石头固定在原处不能移动。 二、 设计思绪: 1. 首先考虑所需要总体框架 贪吃蛇游戏专题应为蛇,需要创建蛇这个类命名为Snake,还要有食物类命名为Food,石头类命名为Stone,显示面板类命名为DisplayPanel,逻辑处理类命名为Logic和主函数类命名为MainOfGreedySnake。 2. 搭建类和类之间关系 蛇吃食物,食物在被蛇吃到后随机产生新食物,食物不能在石头上生成,关系复杂,我们能够将这些关系在逻辑处理类Logic中搭建,这么即降低了上面三个类之间耦合性,又方便以后对辅助功效添加。 蛇,食物,石头需要在显示面板中显示出来,而三者又在逻辑处理这个类Logic中做逻辑关系运算,我们可创建自己显示面板类DisplayPanel,用逻辑处理类Logic创建对象作为参数传输给显示面板,使得蛇,食物,石头和显示面板直接关系愈加简单。 3. 添加简单测试功效 首先需要创建主函数,主函数中创建逻辑处理类Logic实例对象,创建自定义显示面板对象DisplayPanel,将逻辑处理类Logic实例对象作为参数传输给显示面板DisplayPanel实例对象中,显示面板需要寄托在Frame框架上,这就需要在主函数中创建一个JFrame对象,然后将自定义显示面板添加到JFrame对象上。 接着是在每个类中添加一个测试用功效函数,简单打印一条输出语句,在蛇类Snake中,创建一个功效函数打印“蛇类被加载”,食物类,石头类,逻辑处理类,显示面板类中添加一样功效,在逻辑处理类中定义蛇,食物,石头对象,创建结构函数参数传入蛇,食物,石头类型对象;自定义显示面板继承JPanel类,定义逻辑处理类对象,创建结构函数传入逻辑处理类对象。 经过调用类中功效函数来测试,确保她们之间已经建立联络。 4. 类中填充功效及参数 首先分析蛇: 图2-4.1 我们把显示面板划分为格子,每个单位蛇身占一个格子,食物,石头一样,经过抽取定义一个格子类命名为Square;蛇身体由多个格子组成,需要一个链表集合存放,定义一个LinkedList类型集合命名为snakeBody,存放类型为格子类型Square对象;蛇有一个长度,定义一个int型变量Length存放长度,定义一个int型direction变量控制蛇移动方向;定义一个boolean类型变量iseatfood,来标识蛇是否吃到食物;定义一个boolean类型变量iseatstone来标识蛇是否吃到石头; 蛇功效有移动功效,创建功效函数move(),相关蛇移动,我们能够让存放蛇身体集合snakeBody添加一个蛇头,去掉一个尾巴来实现,蛇头添加位置又应该由蛇移动方向控制,所以在添加蛇头之前应该判定蛇头方向,假如蛇向上移动,direction应为1,我们让改变之前snakeBody调用addFirst()功效添加蛇头,里面参数应为改变之前蛇头纵坐标减一个格子,向下,向左,向右原理相同。 蛇已更改含有改变方向功效,方便于后面控制蛇移动时候改变方向,定义函数changeDirection(),传入int型方向值。 蛇还应该有判定是否吃到食物功效,定义功效函数isEatFood(),判定蛇是否吃到食物只需判定蛇头坐标是否和食物坐标相同,这里有一个小问题,蛇类中没有定义食物Food类型引用,判定时还要有食物类型对象,为了降低蛇和食物之间联络,不得不传入一个Food 类型参数。 图:2-4.2 蛇应该有判定是否吃到石头功效,因为石头是一个比较大集合,若沿用判定是否吃到食物方法必将浪费大量资源,在后面设计石头时候我们能够用一个boolean类型二维数组来存放一组石头命名为map[][],是石头设置这个坐标为true,不是则设为false,这么判定蛇是否吃到食物就较为简单,只需判定蛇头坐标作为石头数组时是否为treu即可。图2-4.2所表示,也即是直接反回map[snakeBody.getfirst().getx()][snakeBody.getfirst().getx()]即可。 蛇另一个功效是判定蛇是否吃到自己身体,需要定义一个功效函数isEatBoody()判定蛇是否吃到身体同判定是否吃到食物相同,只需判定蛇头坐标和蛇身坐标是否相同,为了降低CPU工作量,能够稍微优化一点,判定蛇头和蛇身坐标是否相同时从第4截身体开始判定即可,因为不管蛇怎么移动全部不会和第二截、第三截身体相撞。 蛇要在显示面板中显示,根据面向对象思想,蛇要在面板中显示身体,设计到两个对象,蛇、面板,显然显示这个动作蛇本身应该最具权威性,蛇对自己属性最了解,就应该把显示蛇这个功效定义在蛇这个类中,创建功效函数drawMe()给它传输一个画笔Graphics g,从蛇头到蛇身依次画出每个格子。 最终考虑到以后重新开始游戏,和多个关卡问题,这里先定义好一个蛇初始化功效函数init()。 相关蛇分析先到这里。 其次是对食物分析: 食物在游戏中自始至终只会有一个,只需定义一个Square对象即可,命名为food;因为后面蛇吃到食物后要随机生成一个新食物,需要用到Random类中随机函数,这里事先定义好一个Random ran; 确定好参数后确定功效函数,首先应该是判定食物是否被吃掉,定义函数isFoodEaten();同isEatFood相同。 其次食物被吃掉以后会随机产生一个新食物,定义函数setFood(),产生新食物瞬间,旧食物已经消失,没有必需在去创建一个food对象,只需将food中坐标改变一下即可,x坐标传入一个随机参数,y坐标传入一个随机参数,显示面板大小先确定划分为30*30个格子,x坐标和y坐标应该在0~29之间,只需简单一句话x = (int)(ran.nextFloat()*30),经过Random类获取0~1之间小数,乘以30得到0~30之间数,在强制转换为int类型数传输给x,y; 最终同蛇相同,食物也应该在面板中显示,定义显示功效函数drawMe()传入参数Graphics g。 再接着对石头分析: 在对蛇分析时候仍然考虑到石头存放,定义一个boolean类型数组统计是否画石头,boolean map[][] = new boolean [30][30]; 考虑到以后地图改变,在创建石头时候应该设计不一样地图,依据传入参数不一样,创建不一样地图,定义结构函数Stone();传入一个int类型参数,依据参数创建不一样地图;地图设计较为简单,利用switch()case:判定需要创建何种地图。创建地图既是在map[][]数组中不一样位置设置成true。 同蛇和食物相同,石头类应该含有显示功效drawMe(),传入参数Graphics g。 完善以上功效以后就能够在逻辑处理类Logic中先搭建简单处理关系,以确保蛇,食物,石头能够显示出来;Snake snake = new Sanke();Food food = new Food();Stone stone = new Stone(1);先显示地图1作为测试。 在显示面板类DisplayPanel中创建结构函数传入Logic实例对象;重写paint方法,paint()方法中调用logic.Snake.drawMe() logic.Stone.drawMe() logic.food.drawMe() ;运行可显示效果,看到蛇,食物,石头已经显示到面板中。 5. 逻辑关系处理 做好蛇还不会移动,接下来就来实现此功效: 蛇要在每隔一段时间移动一个格子。蛇要移动,还要在没有死亡之前一直移动,主函数所开启根本程任务是开启窗体和在内存中创建好所需要资源,这里必需另开一个新线程。开启线程方法有两种,这里选择实现Runnable接口方法,让Logic implements Runnable,实现run()方法,因为蛇要不停运动在蛇move方法之外加入while(true),蛇每隔一段时间会自动移动一格,在move方法以后添加Thread.sleep(300),经过数次运行测试得出时间;在主函数MainOfGreedySnake中创建线程thread t = new Thread(logic);运行观察效果,会发觉蛇依旧不会移动,这是因为显示面板中paint函数需要重新被调用才会重新绘制图形,在DisplayPanelpaint最终加上repaint();再次运行,蛇已经能够自己移动。 现在蛇仍然能够移动,但不受控制,会移动出边界,所以需要在蛇移动以后判定蛇是否移出边界,将此功效封装成函数,显然应该定义在蛇类中,命名为isOverBand(),函数所需功效即判定蛇头是否移出边界,若是则将蛇头坐标更换为另一边界坐标,实现了蛇在要求范围内自动移动。 蛇能够自动移动,但仍然还不受控制,后面将实现键盘控制蛇移动方向: 键盘控制蛇移动方向,也即是每按下一个键,经过某种响应,让蛇方向改变,很轻易想到Java GUI开发中提供事件监听机制,但问题在于事件监听机制是针对GUI组件设计,这就需要将蛇方向和主函数创建JFrame联络到一起,主函数中需要创建Logic实例对象,Logic中有创建蛇对象,能够直接在主函数JFrame上添加监听器,相关监听器创建这里为了以后添加更多功效不至于关系复杂化,采取匿名内部类方法为JFrame添加监听器,JFrame jf = new JFrame();jf.addKeyListener(new KeyListener(){}),监听器里面重写keyPressed()功效函数,利用switch(){case}语句判定方向键调用logic.snake.chageDirection()方法改变方向。 到这里程序调试运行方向以然能够控制,但根据要求,蛇不能向相反方向运行,在改变方向时候应该做一个判定,新传入方向值若和snake对象中方向值相同话,snake方向值不做改变,加以判定以后,蛇运行轨迹同想象中运行规则几乎没有差异了,不过还有一个小小bug存在,就是假如蛇向下移动话,在下一次移动触发前,先按下向左,在按下向上,蛇还会向相反方向移动,对于这个问题处理首先要找到问题根源,假如蛇向下移动时候,先按下向左方向,蛇direction会被赋值为向左,但在蛇下一次移动之前,又按下向上方向键,在判定方向时候,向上方向和向左方向值不是相反方向,又会被赋值,这就造成了相反方向仍然会存在可能性,相关此问题处理,能够定义两个方向值,一个用于保留蛇移动之前方向,命名为oldDirection,一个用于保留蛇移动以后方向,命名为newDirection,在做方向判定时候,拿新来方向跟oldDirection向比较,方向不相反,把新传入方向值副给newDirection,在蛇移动一次以后,再将newDirection赋值给oldDirection,这么便处理了无效方向问题。 处理了控制蛇移动问题以后,应该为程序设计蛇吃食物逻辑关系: 蛇吃食物问题较为简单,当蛇吃到食物后,随机产生新食物,蛇是否吃到食物,在蛇移动一次以后调用一下snake.isEatFood()函数即可,随机产生食物只需在蛇吃到食物前提下调用一次food.setFood()函数便能够完成。相关蛇吃到食物后蛇改变,身体长度增加一格,snake.length++,只是实现了蛇长度变量增加了一格,还需要在snakeBody集合中真正添加一个格子单元,问题在于Square一个对象应该加在集合哪个位置、添加格子坐标应该是多少,首先看一下蛇移动功效实现模式,每移动一次是加头去尾,能够在蛇移动以后添加一个不再面范围之内虚拟格子到snakeBody末尾,这么蛇在下一次移动时候就会去掉尾巴便是虚拟尾巴,相当于没有去尾,这么就实现了蛇本身长度加一格功效。测试运行,效果已经不错了。 数次控制蛇吃到食物后,会发觉食物会跑到石头上面,蛇吃到食物同时会吃到石头,意味着游戏结束,这就需要在生成食物以后判定一下食物是否在石头上,调用一下isFoodOnStone();问题基础处理,一样测试运行,又会发觉小问题,有时候食物会在四回头上显示一下,在蛇移动一下以后再重新生成新食物,这是因为生成食物和蛇移动是在同一个线程中锁产生,有不可能单独为食物创建一个线程,处理此问题就需要先让食物生成一次,循环判定食物是否在石头上,若是,继续重新生成,不是才跳出循环,能够用到do{}while()语句来实现。 最终一个逻辑问题便是蛇吃到石头后,游戏结束: run方法中while(true)条件需要重新定义,在Logic中定义一个boolean 类型变量isGameOver,在move以后加以判定蛇是否吃到石头,是则设置isGameOver为true,while中条件应该设置为!isGameOver。吃到石头后,在下一次蛇移动之前判定条件时候便会跳出循环,实施完run()方法体中语句以后,logic线程会自动结束,完成了游戏结束功效。 到此为止,贪吃蛇游戏基础功效全部以实现,做一个标志性存盘处理。 6. 增设暂停\开始按钮,实现游戏暂停\开始功效 暂停游戏方法有多个,能够从线程方向去考虑,让游戏暂停能够使用线中waite和notify机制,不过waite和notify机制中必需有多个线程,还必需在同一个锁中才能够唤醒另一个等候线程过于繁琐。让游戏暂停也即是让蛇不在移动,食物不再随机产生,能够在Logic中设置一个标识变量,定义为boolean类型isSuspend,在蛇移动时候先判定游戏是否为暂停状态,暂停状态步调用move方法,实现游戏暂停效果。 考虑好暂停逻辑以后,能够做暂停效果了,先在主函数中创建JButtion suspendButtion按钮,将暂停按钮suspendButtion添加到JFrame中,JFrame默认布局管理器为边界布局BorderLayout,为了不覆盖原来显示面板,能够在jf.add(),中传入两个参数,suspendButtion,BorderLayout.NORTH,在Frame最上边添加一个按钮。为按钮添加监听器也采取匿名内部类方法来实现,suspendButtion.addMouseListener(new MousListener(){}),实现未创建功效函数,关键为监听器添加单击事件监听,在mouseClicked()函数中设置单击后改变logicisSuspend值为!isSuspend。暂停\开始按钮已添加完成,功效也已实现。测试没什么问题继续后面辅助功效添加。 7. 增设“开始新游戏”按钮,并能够在游戏时重新开始游戏: 先考虑开始新游戏思绪,开始新游戏以后蛇位置会被初始化,食物被初始化,地图被初始化,线程需要被重新开启,有了这些基础思绪后开始实现功效,首先是创建按钮JButtion restarButtion,将按钮添加到JFrame中,为restarButtion添加监听器,监听器添加一样采取创建匿名内部类方法创建,restarButtion.addMousListener(new Moustener(){}),实现功效函数mouseClicked();函数中初始化logic,调用函数logic.init()。初始化完成以后创建新线程,Thread t = new Thread(logic),开启线程t.start();测试新加功效效果。当游戏结束以后,单击“开始新游戏”按钮,游戏会重新开始。 在游戏过程中不小心单击了一下重新开始按钮,游戏仍然重新被创建,但速度会被加紧,再次单击重新开始游戏,速度愈加快,寻求问题根源,当我们重新开始游戏时候,logic对象被初始化,创建了新线程,可是原来线程并没有结束,两个线程操控依旧是同一个对象,相当于在同一段时间内,调用了两次move()函数,所以在restar时候应该对线程进行判定,判定线程是否结束,借用之前标识isGameOver若是游戏结束话,认为着线程结束,再重新创建新线程,开启线程。若是游戏还没有结束,意味着原来线程还没有结束,就不需要创建新线程,只需对logic进行初始化即可。在对程序进行测试,在开始游戏之前点击一下暂停游戏,在点击开始新游戏按钮,蛇不会动,只有再次点击暂停\开始按钮游戏才会被开启,这有违正常操作习惯,需要在点击开始新游戏按钮功效中强制将isSuspend设为false。 到此程序除了框架之外也有往常游戏最基础功效,再做一标志性存盘处理。 8. 为游戏添设不一样关卡: 首先创建一个关卡信息类StageInfo,这个类用于存放关卡信息,应该含有改变关卡功效,经过传入不一样关卡参数,创建不一样关卡。一样是处理逻辑一个类,和Logic放在同一个包下,至于Logic和StageInfo两个类之间关系是Logic处理StageInfo还是相反处理方法全部无所谓,这里采取让StageInfo处理Logic,那么StageInfo中应该创建Logic实例对象,不一样关卡之间区分关键是地图和蛇移动速度不一样,依据前面石头类设置7个地图把关卡设为7关,关卡没提升一个层次,调用石头类对象产生地图难度加大,在Logic中需要新曾一个speedint型变量用于控制蛇移动速度,将speed传输给Logic中run方法sleep中,经过移动之间线程休眠时间减短和增加控制蛇移动速度,改变关卡只需对logic中snake,stone,food对象赋不一样值即可,相当和是初始化StageInfo,改变关卡功效函数命名为init()。 关卡信息处理好,要在游戏中实践需要在框架上添加新按钮“上一关”、“下一关”全部用来实现调用不一样关卡。一样添加MouseListener监听器上一关对单击事件处理方法为让StageInfo中stage—然后调用StageInfoinit();下一关对单击事件处理方法为让StageInfo中stage++然后调用StageInfoinit()。 为了游戏美观,在游戏开始之前让界面实现关卡信息,这里借用坦克大战开始信息界面作为游戏开始前关卡信息,在StageInfo中添加drawStage()函数,实现显示一张类似于图片信息,设置背景等自己认为比很好效果。 三、 备注:后面功效在编写程序中还未实现或功效还不够完美,这里 只叙述实现功效思想,方法,可能会存在不足之处,待程序完善功效并测试以后具体叙述程序设计步骤。 1. 为游戏增加背景音乐和不一样场景音频处理: 要为游戏添加音乐,首先选好所需声音素材,背景音乐选Linkin ParkPale;蛇吃到食物时声音选择最进比较流行植物大战僵尸中大嘴花吃僵尸声音;游戏开始\暂停选童年时期玩街机游戏中暂停\开始音效;游戏结束选名为“啊喔”消息提醒声音。 选好素材以后,实现声音播放功效。Java se中处理声音有3种方法,一个是利用Applet类中play()方法,一个是安装sun企业提供专门处理声音视频开发包,还有一个是利用输入输出流处理,这里选则第三种处理方法,先创建字节型输入输出流,创建一个字节输入输出流缓冲区,因为播放声音和玩游戏是同时进行,这里相关声音处理应该再开启一条线程,一样实现Runnable接口中run()方法,在游戏逻辑类中经过传入不一样音频文件来实现不一样场景下播放部同声音。 2. 实现游戏存盘和读盘功效: 存盘功效实现要考虑需要存放数据,第一条应该是关卡信息,这么在读盘时便能够依据读到数据创建相同关卡地图、速度等信息,第二条应该是目前分数,直接换行存放即可,第三条最复杂应该是蛇身信息,要保留蛇身体每一截坐标,还要存放蛇目前移动方向。最所需保留数据分析过以后,就该考虑存放方法,因为索要存放数据仅仅是部分简单数据,数据量还很小,只需要用一个文件存放即可。接下来便是实现功效,首先应该创建一个输入输出流,然后将关卡信息、目前分数,目前蛇移动方向根据writeLine()方法写入到信息文件下,相关蛇身体存放,从蛇头到蛇尾依次换行写入,最终关闭文件,关闭流。 读盘和存盘相同,先创建输入流,从存放文件中readLine(),第一行信息应该是关卡信息,将读取String数据转换成int型传给StageInfo,第二行信息应该是目前分数,同读取关卡信息相同将读到数据转换类型传给score,方向也以一样方法得到,到蛇身数据读取了,因为不知道之前存放是蛇身有多少截,只能加一个while循环以读取下一行是否为空做为循环条件,没读到一次,在存放蛇集合中添加一个Square对象,这么即可实现读盘功效,再在主函数中创建新赋值后logic线程即可实现接着上次存放游戏进度继续游戏。 3. 创新模式添加: 新模式规则是依据经典模式逆向思维得到,当蛇吃到食物后,经过蛇消化,会变为石头存在和面板中,蛇长度会减短,直到蛇只剩下蛇头和蛇尾游戏胜利。 功效实现需要重新定义一个处理逻辑类,和logic相同,一样要实现Runnable接口中run()方法,方法中功效和logic基础相同,蛇吃到食物后,食物随机产生,蛇吃到石头后游戏结束,蛇吃到自己身体后游戏结束,不一样之处是在判定蛇是否吃到食物处理,蛇吃到食物后,不在蛇身体上添加虚拟一个格子,相反是在蛇尾和食物位置相同时候再次removeLast(),这就需要定义一个oldFood,用来存放刚刚被吃到食物坐标信息,还需在蛇移动一格以后将map[oldFood.getx()][oldFood.gety()]赋值为true,表示食物以变成石头被加载到地图中。 4. 游戏中随机生成一个心形食物,吃到心形食物能够多加游戏成绩,心形食物每隔10秒会生成一次,食物在5秒以后会消失,或在蛇吃到这个食物后消失: 再次创建类Prize,心形食物和游戏关联性较小,令创建新线程比较轻易实现,先实现每隔十秒生成一次,定义boolean型变量isBe,每隔十秒生成一次,isBe = true;Thread.sleep(10000);就是每隔十秒给isBe赋值为ture,然后是新食物存在时间只有5秒,5秒内,蛇能够移动5000/speed次,这里判定蛇是否吃到心形食物,没有则让线程休眠speed段时间,然后5000/speed次数--,直到次数变为0,跳出循环,while(time!=0&&!snake.isEatPrize){time -- };isBe = false。完成线程功效,在游戏创建时候创建这个线程即可。 5. 完成全部功效后对游戏综合测试。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 方案 思路
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文