




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于 vc 的俄罗斯方块 创业创新 知识管理 ahead institute of software and technology 编 号: 090619090619 审定成绩: 先锋软件学院 2012 届 毕业设计(论文) 题目: 基于 vc 的俄罗斯方块 分 院: 软 件 分 院 学生姓名: 专 业: 电 脑 游 戏 班 级: 学 号: 指导教师: 填表时间:2012 年 03 月 基于 vc 的俄罗斯方块 创业创新 知识管理 ahead institute of software and technology 学生毕业设计(论文)工作自查表 (2011 年 11 月- 2012 年 4 月检查) 学生姓名专业电脑游戏学号 200900008920 导师姓名职称 讲师导师每周指导次数5 次每次: 1 小时 题目名称基于 vc 的俄罗斯方块 作息时间上午8:3012:00下午 2:00 4:30 晚间 7:008:30 个人精力 实际投入 日均工 作小时 7 小时 周均工 作小时 35 小时 缺席 天数 无出勤率%100% 已完成主要内容100%待完成主要内容0% 毕业设计 (论文) 工作进度 完成 封面 摘要 引言 第一章 绪论 第二章 可行性研究 第三章 需求分析 第四章 设计基本的游戏 功能 第五章 程序主要功能设 计及按键事件的 控制 第六章 程序设计思想与 流程图 致谢 参考文献 本毕业设计基本完成。 存在问题 工作措施 存在问题:在开发设计中存在诸多问题 工作措施:在网上进行了查阅以及学习以及询问导师 指导教师指导教师(签字): 日期:日期: 年年 月月 日日 基于 vc 的俄罗斯方块 创业创新 知识管理 ahead institute of software and technology 先锋软件学院毕业论文(设计)评阅表 (指导教师、评阅人用) 论文(设计)名称 学生姓名学号 指导教师或评阅 人)姓名 序号评审项目指标满分评分 1论文(设计)完成量 论文(设计)内容完成量,难易程度符合 教学基本要求 20 2调查与综合 根据论文(设计)任务,能独立查阅文献 资料和从事其它有关调研。有收集、综合 和正确利用各种信息的能力。 20 3论文(设计)质量 文章切合选题,材料丰富、内容充实,观 点明确、论据充分、论证严格,构思完整、 层次分明、段落、论题间的衔接自然、舒 展。文笔流畅、语言通顺、使用专业术语 准确,图表清楚,符合要求。 50 4创新有独特的见解,或有一定应用价值10 总分 评语:(明确指出论文(设计)的调研论证材料收集是否适合论点要求、创新点、论文(设计) 论证能力、写作水平,同时要明确指出论文(设计)的不足之处及改进方向。 ) 评阅人: 年 月 1 创业创新 知识管理 ahead institute of software and technology 摘摘 要要 俄罗斯方块是有史以来最伟大的游戏之一。它是永恒的娱乐经典,但它实际上又和那些传统的经 典娱乐方式不同,因为它的本质是电子化的,所以它的确属于现代产物。俄罗斯方块举世闻名的游戏 性,在该游戏新鲜出炉时就显得非常直观。某些与坠落的玩具碎片和它们的形状有关的东西,使得哪 怕新手也会很自然地企图把它们排列起来,并加以适当组合,就好似俄罗斯方块触动了我们某些内在 的感官,使得哪怕是我们当中最杂乱无章的人也要把事情整理妥当。 俄罗斯方块是一款风靡全球的掌上游戏机和 pc 机游戏,它造成的轰动与创造的经济价值可以说 是游戏史上的一件大事。它由俄罗斯人阿列克谢 帕基特诺夫发明,故得此名。俄罗斯方块的基本规 则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。它看 似简单却变化无穷,俄罗斯方块上手极其简单,但是要熟练地掌握其中的操作与摆放技巧,难度却不 低。作为家喻户晓老少皆宜的大众游戏,其普及程度可以说是史上任何一款游戏都无法相比的。相信 大多数人都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。 俄罗斯方块是个老幼皆宜的小游戏,它实现由四块正方形的色块组成,然后存储在一个数组的四 个元素中,计算机随机产生不同七种类型的方块,根据计算机定时器控制它在一定的时间不停的产生, 用户根据键盘的四个方向键控制翻转、向左、向右和向下操作, (用信号和槽函数的关联来实现对按键 事件的控制) 。然后程序根据这七种方块堆叠成各种不同的模型。qt 是诺基亚开发的一个跨平台的 c+ 图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。 论文描述了游戏的历史,开发此游戏的环境,游戏开发的意义。遵循软件工程的知识,从软件问题定 义开始,接着进行可行性研究、需求分析、概要设计、详细设计,整个开发过程贯穿软件工程的知识 体系。 此次设计在 linux 系统下,以 qt+creator 为开发语言,使用 c+和 qt 库来进行游戏的设计与实现。 关键词:游戏设计;算法;数组;事件关键词:游戏设计;算法;数组;事件 2 创业创新 知识管理 ahead institute of software and technology 目 录 摘 要1 目 录2 引 言3 1 绪 论 4 1.1电子游戏及其分类3 1.2 电子游戏发展现状4 1.2.1 电子游戏在国外的发展现状4 2.可行性研究.5 2.1 设计目的6 2.2 软件问题定义 6 2.3 可行性分析 6 3.概要设计.7 3.1 游戏设计方案的确定7 3.2 系统流程结构设计8 3.3 各个功能模块图设计8 3.3.1 模型层功能模块图设计.8 3 3 2 试图层功能模块图设计 9 3.3.3 控制层功能模块设计 9 4.详细设计代码.10 总 结 25 致 谢 26 参 考 文 献 27 3 创业创新 知识管理 ahead institute of software and technology 引引 言言 游戏是人们活动中一项非常重要的内容,有人认为如果哪一天人类对所有的游戏都失去兴趣,恐怕 世界的末日就要到了。电脑对游戏的贡献有目共睹,现在摸过电脑的人很少有没玩过电脑游戏的,喜 欢游戏的人也很少有不玩电脑的。 俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值 可以说是游戏史上的一件大事。这款游戏最初是由苏联的游戏制作人alex pajitnov制作的,它看似简 单但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时 代。究其历史,俄罗斯方块最早还是出现在pc机上,而我国的用户都是通过红白机了解、喜欢上它的。 现在联众又将重新掀起这股让人沉迷的俄罗斯方块风潮。对一般用户来说,它的规则简单,容易上手, 且游戏过程变化无穷,而在“联众俄罗斯方块“中,更有一些联众网络游戏所独有的魅力有单机作 战与两人在线对战两种模式,用户可任选一种进行游戏。网络模式还增加了积分制,使用户既能感受 到游戏中的乐趣,也给用户提供了一个展现自己高超技艺的场所。 俄罗斯方块游戏可以说是随计算机的发展而发展,并不断推陈出新演变出各种类似游戏, 深受广大 玩家喜爱。这个游戏有的简单, 有的复杂, 但其根本原理是一样的都是对运动的方块进行组合, 来训 练玩家的反应能力。谈到游戏软件, 大多数人都认为其神妙莫测, 高不可及。而一般游戏软件也确实 具有很高的技术难度, 随着开发工具及软件开发方法学的不断发展, 动手开发游戏也不是十分困难的。 俄罗斯方块游戏是一种古老而又有趣的游戏, 游戏软件不计其数, 网上就有好多关于实现的复杂算法 和设计, 其难度让一般初学者望而却步。本文利用数组作为方块的数据结构,提出一种用pascal语言 实现的简易方法, 对初学者可仿此开发类似游戏, 并了解游戏软件的设计与开发过程。 4 创业创新 知识管理 ahead institute of software and technology 1.1. 绪绪 论论 1.1 电子游戏及其分类 电子游戏,也就是运行在家用电脑、家用电子游戏机或是掌中宝游戏机及街机上的电子游戏程序。 电子游戏是一种结合剧情故事、美术、音乐、动画、程序等技术于一身的互动型娱乐软件,涉及到多 个行业。 从电子游戏的分类来看,有着多种分类方式。传统的游戏分类是按照游戏类型,将其分为即时战略 游戏、第一人称射击游戏、角色扮演游戏、策略型游戏等类别。根据游戏运行平台的不同,可将电子 游戏分为游戏机游戏、单机版 pc 游戏、互动电视游戏、在线游戏和手机游戏。此外,韩国政府将电 子游戏业分为家用游戏机游戏、单机版 pc 游戏、网络游戏和街机游戏四大类。考虑到中韩游戏业比 较接近,论文采用韩国的分类标准。 “网络游戏”也就是人们一般所指的“在线游戏” ,是指通过互联 网进行的电脑游戏,通过人与人之间的互动达到交流、娱乐和休闲的目的。在互联网(局域网)技术 出现之前,电子游戏都可以归于单机版游戏,即“人机对战”游戏,或最多是双人对战游戏。而随着 互联网技术的出现,通过连接游戏服务器,上百、上千、乃至上万的游戏玩家同时连线娱乐成为了现 实,这就大大增加了游戏的互动性、真实性,丰富了电子游戏的内涵。从网络游戏的分类来看,目前 业界还没有一个比较统一规范的分类。随着计算机设备和网络技术的发展,电子游戏在全球得到了迅 猛的发展,取得了巨大的成功,已成为当今世界上不可缺少的精神粮食。 1.2 电子游戏发展现状电子游戏发展现状 1.2.1 电子游戏在国外的发展现状电子游戏在国外的发展现状 电子游戏是最初产生于美国,1971 年,一个还在 mit 就读的学生设计了世界上第一个业务用游戏 机,这个街机游戏的名字叫电脑空间 。可以说时至今日,电子游戏仍然是外国的天下。 美国至今仍是世界第一大游戏市场,它遵循的是以发行商为主的产业开发链模式,根据美国市场调 查公司 npd group 调查统计,美国 2004 年游戏总销售金额(包括家用、掌上型主机及软件)为 99 亿 5 创业创新 知识管理 ahead institute of software and technology 美元,占了全球游戏市场的 45%。其中游戏软件销售的具体数字是:视频游戏软件的销售额达 52 亿 美元(1.6 亿套),pc 游戏软件销售额达 11 亿美元(4500 万套),掌机游戏销售额达 10 亿美元(4230 万套)。 2004 年一共大约有 2.48 亿套游戏售出。据估计,美国每个家庭平均购买过 2 部游戏3。 日本近 20 年来疯狂赚电子游戏的钱。从上世纪 60 年代初的街机,到六七十年代之间的家用游戏机, 再到八九十年代的掌上游戏机,日本经过 30 多年的耕耘,终于把电子游戏这棵“摇钱树” ,培育成第 一时尚娱乐产业,垄断全球业界长达 10 余年。对于日本来说,电玩业已是国家经济的重要支柱之一, 在 gdp 中占有 1/5 的举足轻重地位。日本游戏业在最辉煌的 1998 年,曾经占领全球电子游戏市场硬 件 90%以上,软件 50以上。 韩国号称世界上网络游戏产业最发达国家之一。迄今为止,国内网络游戏市场有超过 60%的产品 来自韩国游戏软件开发商,韩国网络游戏使国内很多游戏运营公司在游戏营销市场或股票资本市场上 获得了巨大的成功。 韩国游戏市场的发展不是偶然,韩国政府不仅给游戏产业以正确的定位和引导, 更是将其和本国经济发展紧密地联系到一起,做了很多市场培育方面的工作。韩国政府认识到,靠重 型工业来支撑全国经济的做法是片面的,于是将、娱乐产业视为新的经济增长点,开始大力扶持。 从那时起,科技含量极高而能源消耗极低的游戏制作及相关产业担负起了“富国兴邦”的重担。由文 化观光部出面组建韩国游戏支援中心,向韩国游戏产业提供从资金到技术上的多方面支援;成立游戏 投资联盟,政府每年向游戏产业投入的资金多达亿韩元,并为游戏企业提供长期的低息贷款; 设立信息化基金和文化产业基金,为游戏产业服务;对指定的风险企业实行各种税制优惠政策,减少 甚至免除游戏企业的税务负担;建设游戏产业基地以扶持中小游戏企业的发展;对从事游戏产业的高 科技人才免除两年的兵役。 在韩国,从制作到运营,一个网络游戏公司起步门槛较低,主要得益于政 府实行的援助计划。此外,在有利的政策形势下,韩国出现了众多的游戏院校,一些原本不涉足此领 域的大学也开设了游戏相关专业课程,以大力培养游戏专业人才,从而为游戏生产提供了基础保障。 2可行性研究可行性研究 2.1 设计目的 通过本游戏的设计,综合自己在校期间所学的理论知识,设计开发俄罗斯方块游戏,使自己熟悉应 6 创业创新 知识管理 ahead institute of software and technology 用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握软件工程的系统理论, 初步掌握 mvc 这种设计模式,进一步巩固和加强自身对 j2se 基础知识的理解,提高自己的编程水平, 从而达到理论与实践相结合的目的。 2.22.2 软件问题定义软件问题定义 基本要求:本游戏开发的总体任务是实现游戏的可操作性,以及界面的美观性。整个开发过程遵 循软件工程规范,采用 pascal 编程来实现界面以及事件的控制,用户根据键盘的四个方向键控制翻 转、向左、向右和向下操作,通过菜单栏中的相应菜单选项实现游戏的开始、结束、变换方块、积分 以及等级的功能。 目标:通过本游戏的开发,主要实现游戏的可操作性以及美观性,同时使自己对 pascal 语言 的了解更进一层,为将来的实际工作打下坚实的基础。 条件、假定和限制:由于知识以及能力的限制,本游戏所实现的功能不够强大,可对本游戏进行 改善,从而增强游戏的功能。 可行性研究的方法:通过研究分析俄罗斯方块所具备的能力及实现的方法、确定主体结构。利用 现阶段我所能达到的能力,以最简洁、最容易的办法,边开发边测试边修改,实现一个初级游戏软件。 评价尺度:由于本软件是一个初级产品,对其要求不是太苛刻,所以能够达到俄罗斯游戏的一般 功能即可。 2.32.3 可行性分析可行性分析 技术可行性:开发本游戏的编程语言有多种,考虑到自身对语言的掌握程度,选择 pascal 语言进行游戏的开发,采用 pascal 编程来实现界面以及事件的控制。 经济可行性:本游戏的开发旨在完成毕业设计,不注重直接的经济效益和其后的发展方向, 只在注重自身水平和能力的提高,对自身的经济要求也不高,只要有一台能运行相应 java 程序的 手机便可,所以不用考虑到经济问题。 社会可行性:本游戏的开发主要为了完成毕业设计,开发的主体是个人,不存在法律上的侵权 行为,也不会为社会造成影响,这方面是完全可行的。 7 创业创新 知识管理 ahead institute of software and technology 3 概要设计概要设计 31 游戏设计方案的确定 本游戏的设计采用 mvc 模式(model -view -controller) ,即把本游戏的输入、处理、输出流 程按照 model、view、controller 的方式进行分离,这样本游戏的设计被分成三个层模型层、视图 层、控制层。mvc 模型图如下所示: 8 创业创新 知识管理 ahead institute of software and technology 32 系统流程结构设计系统流程结构设计 图形工厂类 图形类 障碍物类 中央控制器 处理按键事件 处理逻辑 显示面板 显示 生产 33 各个功能模块图设计各个功能模块图设计 3.3.1 模型层(model)功能模块图设计 图形工厂 图形 障碍物 生产图形 下落产生障碍 物 触发按键事件 9 创业创新 知识管理 ahead institute of software and technology 3.3.23.3.2 视图层视图层(view)(view)功能模块设计功能模块设计 游戏面板 gamepanel 方块的显示障碍物的显示 3.3.33.3.3 控制层控制层(controller)(controller)功能模块设计功能模块设计 中央控制器 controller 类 图形工厂生 产图形 显示面板显 示图形和障 碍物 处理按键 和鼠标事 件 10 创业创新 知识管理 ahead institute of software and technology 4 详细设计代码详细设计代码 tetris - a midletpascal implementation of a classic game. you are allowed to use this code free, change it on your own will, use it, distribute it etc., as long as you make no profit outof it. program tetris; const fieldwidth = 10; fieldheight = 15; vargamefield: array1fieldwidth, 1fieldheight of integer; block: array14, 14 of integer; blockx, blocky: integer; blocksize: integer; screenwidth, screenheight: integer; screenx, screeny: integer; score: integer; time: integer; gamerunning: boolean; gamespeeddelay: integer; pausecommand, quitcommand, clickedcommand: command; gamepaused: boolean; procedure rotateright; forward; function blockpositionvalid: boolean; forward; 11 创业创新 知识管理 ahead institute of software and technology welcomescreen - display the wellcome screen procedure welcomescreen; var texttodisplay : string; textxpos : integer; textypos : integer; keycode : integer; begin setcolor(255, 0, 255); fillrect(0, 0, screenwidth, screenheight); setcolor(0, 0, 255); setfont(font_face_proportional, font_style_bold, font_size_large); texttodisplay := tetris; textxpos := (screenwidth - getstringwidth(texttodisplay) div 2; textypos := (screenheight - getstringheight(texttodisplay) / 2; drawtext(texttodisplay, textxpos, textypos); textypos := textypos + getstringheight(texttodisplay); setcolor(0, 0, 0); setfont(font_face_proportional, font_style_plain, font_size_small); texttodisplay := created with midletpascal; textxpos := (screenwidth - getstringwidth(texttodisplay) div 2; drawtext(texttodisplay, textxpos, textypos); textypos := textypos + getstringheight(texttodisplay); texttodisplay := press any key; textxpos := (screenwidth - getstringwidth(texttodisplay) div 2; drawtext(texttodisplay, textxpos, textypos); repaint; wait until user presses any key repeat keycode := getkeyclicked; 12 创业创新 知识管理 ahead institute of software and technology until keycode emptycommand); if clickedcommand = quit then gameover := true; else gameover := false; removecommand(newgame); removecommand(quit); end; setsizes - calculates the size of a single block and the position of the game field procedure setsizes; var blockwidth, blockheight: integer; begin screenwidth := getwidth; screenheight := getheight; blockwidth := screenwidth / fieldwidth; blockheight := screenheight / fieldheight; if blockheight blockwidth then blocksize := blockwidth; else blocksize := blockheight; screenx := (screenwidth - blocksize*fieldwidth) / 2; screeny := (screenheight - blocksize*fieldheight) / 2; end; 14 创业创新 知识管理 ahead institute of software and technology initializegamefield - makes the game field empty procedure initializegamefield; var i, j:integer; begin for i:=1 to fieldwidth do for j:=1 to fieldheight do gamefieldi, j := 0; end; drawscore - writes the score on the screen in black procedure drawscore; var stringwidth, stringheight: integer; outputtext: string; begin outputtext := lines: + score; stringwidth := getstringwidth(outputtext); stringheight := getstringheight(outputtext); setfont(font_face_proportional, font_style_plain, font_size_small); setcolor(0, 0, 0); drawtext(outputtext, (screenwidth - stringwidth) / 2, (screenheight - stringheight) / 2); end; drawblock - draws a single game block procedure drawblock(col, row, color: integer); var red, green, blue: integer; begin set the color 15 创业创新 知识管理 ahead institute of software and technology if color = 1 then red := 255; if color = 2 then green := 255; if color = 3 then blue := 255; if color = 4 then begin red := 255; green := 255; end; if color = 5 then begin red := 255; blue := 255; end; if color = 6 then begin green := 255; blue := 255; end; if (color 0) and (row 0) and (col 0 then gamefieldi + blockx, j + blocky := blocki, j; end; check if any lines can be removed removefulllines; blockx := (fieldwidth - 4) / 2; blocky := fieldheight - 4; create the new block createnewblock; check if the block can be placed on the screen if not blockpositionvalid then gamerunning := false; end; blockpositionvalid - returns true if the blocks current position is ok. if the blocks current position is not ok because 20 创业创新 知识管理 ahead institute of software and technology the block overlaps with other elements or because it is out of the game are, return false; function blockpositionvalid: boolean; var i, j: integer; x, y: integer; begin blockpositionvalid := true; for i:=1 to 4 do for j:=1 to 4 do begin if blocki, j 0 then blockpositionvalid := false; end; end; end; rotateleft - rotates a block to the left procedure rotateleft; var i, j, t: integer; begin transpose the block for i:=1 to 4 do for j:=i to 4 do begin t := blocki, j; blocki, j := blockj, i; blockj, i := t; 21 创业创新 知识管理 ahead institute of software and technology end; do the vertical mirror transformation for i:=1 to 4 do begin t := blocki, 1; blocki, 1 := blocki, 4; blocki, 4 := t; t := blocki, 2; blocki, 2 := blocki, 3; blocki, 3 := t; end; if not blockpositionvalid then rotateright; else redrawgamescreen; end; rotateright - rotates a block to the right procedure rotateright; var i, j, t: integer; begin transpose the block for i:=1 to 4 do for j:=i to 4 do begin t := blocki, j; blocki, j := blockj, i; blockj, i := t; end; do the horizontal mirror transformation for i:=1 to 4 do begin t := block1, i; block1, i := block4, i; 22 创业创新 知识管理 ahead institute of software and technology block4, i := t; t := block2, i; block2, i := block3, i; block3, i := t; end; if not blockpositionvalid then rotateleft; else redrawgamescreen; end; moveblock - moves the block and checks if the block can be moved to the given position procedure moveblock(deltax, deltay: integer); begin blockx := blockx + deltax; blocky := blocky + deltay; if not blockpositionvalid then begin blockx := blockx - deltax; blocky := blocky - deltay; if (deltay gamespeeddelay) or (currenttime - time) 0) then begin moveblock(0, -1); time := currenttime; end; end; main program - initialize the game, read the keyboard inputs and measure timings begin setsizes; welcomescreen; setdefaultfont; repeat initializegamefield; 24 创业创新 知识管理 ahead institute of software and technology gamespeeddelay := 500; 500 ms = 0.5 s score := 0; createnewblock; blockx := (fieldwidth - 4) div 2; blocky := fieldheight - 4; time := getrelativetimems; gamerunning := true; redrawgamescreen; gamepaused := false; pausecommand := createcommand(pause, cm_screen, 1); quitcommand := createcommand(quit, cm_exit, 1); addcommand(pausecommand); addcommand(quitcommand); while gamerunning do begin if (not ismidletpaused) and (not gamepaused) then begin processkeyactions; checktime; end; clickedcommand := getclickedcommand; if clickedcommand = quitcommand then begin gamerunning := false; halt; end; if clickedcommand = pausecommand then gamepaused := not gamepaused; end; removecommand(pausecommand); removecommand(quitcommand); until gameover; 25 创业创新 知识管理 ahead institute of software and technology end 评价尺度:由于本软件是一个初级产品,对其要求不是太苛刻,所以能够达到俄罗斯游戏的一般功 能即可。 总总 结结 游戏设计与实践是一项复杂而且庞大的工作,在选题之后,我才意识到过程的艰难,因为以前从来 26 创业创新 知识管理 ahead institute of software and technology 没有接触过游戏设计,刚开始时有点迷茫和彷徨。后来通过看书和在网上查找资料,逐渐找到了一些 感觉,也依照资料自己动手编写了几个简单经典的游戏。本文仅以俄罗斯方块为例予以说明。 本次设计让我初步懂得了电子游戏所涉及到的有关技术、方法,包括电子游戏分类、选题、构思等。 并实现几个可演示的游戏软件,其中有很多应用了学习的相关技术,并且做到了图、文、声并茂,能 实际演示。此次设计过程中印象最深的收获有:1、学到了很多新知识,并且对老知识进行了回顾。经 过长时间的学习,更进一步熟悉了 c+语言。2、通过不断上机实验,调试程序,总结经验,从对课 题的不理解到能够开始动手去做,提出问题并自己想办法解决问题,自己多实践,所以增强了动手能 力。3、提高了中、英文资料的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮行业员工加班费与调休合同
- 红薯种植承包协议书范本
- 油气输送管道配套厂房土建施工及安全监测合同
- 标准化反担保合同样本跨境并购项目风险控制协议
- 茶楼茶文化体验馆合作合同
- 绿植产品摄影保密协议及电商合作合同
- 车辆购置担保与贷款发放协议
- 画廊场地租赁及水电费艺术品交易服务合同
- 【课件】重力教学课件2024-2025学年初中物理人教版(2024)八年级下册
- 综合实践活动案例设计与实施
- 2025年高考云南卷历史高考真题(无答案)
- 中医茶饮培训课件模板
- 2025至2030中国实木门行业发展趋势分析与未来投资战略咨询研究报告
- 2025年安徽省高考生物试卷(含答案解析)
- (湖北省高考卷)2024年湖北省普通高中学业水平选择性考试高考物化生+政史地真题试卷及答案
- 真实情境下的“5E”教学模式在高中化学教学中的应用与成效探究
- 湖北省武汉市武昌区三年级下学期数学期末试卷(含答案)
- 2025年人教版七年级下册地理全册知识点
- 2024-2025学年人教PEP英语六年级下学期期末模拟试卷(含答案含听力原文无音频)
- 广东省珠海市香洲区2023-2024学年七年级下学期语文期末试卷(含答案)
- 供热领域自查工作报告
评论
0/150
提交评论