




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要学 号 2012020423分类号TP311.1本科生毕业论文(设计)题目:基于Flash的射击游戏打飞机的设计与实现 院 (系)电子与信息工程学院专 业计算机科学与技术班 级 2012级5班 学 生 姓 名 指导教师(职称)提 交 时 间 2016年 5 月 基于Flash的射击游戏打飞机的设计与实现摘 要 近年来,Flash技术随着计算机信息技术和动画技术的不断发展而发展,并且在相关领域取得了令人称道的成绩。与大型网络游戏相比,Flash 游戏显得非常简单甚至简陋。但作为一种新的媒介,Flash 游戏凭借其独特的视觉效果吸引了无数玩家,久久地占据着游戏市场。本文介绍的正是用Flash CS 6开发人机对战打飞机游戏的全过程。包括游戏开始界面、游戏运行界面、游戏结束界面及游戏帮助界面的制作。游戏过程中还有得分情况(每击毁一架敌机得10分)、等级渐升模式(每得100分升一级)、个人生命值(随着与敌机的碰撞而渐减)、难度递升模式(难度随等级的提升而变大)。关键词flash;射击游戏;打飞机全套 设计加扣 3012250582AbstarctThe Design and Implementation of aShooting Game Based on FlashZhang Han(Department of Electronics and Information Engineering, Ankang University, Ankang, 725000)AbstractIn recent years, with the continuous development of computer information technology and animation technology, Flash technology has developed, and has made a remarkable achievement in the relevant fields. Compared with large online games, Flash games are very simple and even simple. But as a new media, Flash games with its unique visual effects to attract a myriad of players, a long time to occupy the game market. This paper describes the use of CS Flash 6 development of the aircraft to fight the whole process of aircraft games. Including the start of the game interface, the game interface, the end of the game interface and the game to help the production of the interface.In the course of the game and score (each destroyed an enemy plane to 10 points), level gradually rising mode (every 100 deciliter level), individual life value (as with the enemy aircraft collision and decreasing), the difficulty of ascending mode (difficulty with the level of ascension and bigger).Keywordsflash;shooter;planes目录目录目 录11 绪论11.1 研究背景11.2 射击游戏的发展历程11.3 游戏开发目的21.4 相关技术分析2Flash技术2碰撞检测算法32 游戏的需求分析52.1 游戏的主题52.2 功能概述52.3 设计相关的函数63 游戏的具体实现74 结束语31参考文献33致 谢351 绪 论1 绪论1.1 研究背景随着个人电脑的普及,人们的业余生活质量也在不断提高,游戏业已成为人们生活中不可缺少的一部分。可以这么说,在人们的日常生活中,一款喜爱的游戏已经变成每个人必不可少的“生活用品”了。所以,开发出一款大众化的游戏,毫无疑问将会受到人们的欢迎。让人们在日常的工作之余,体验到快乐,也是一款游戏真正的意义。 Flash 软件拥有强大功能,而且操作起来非常简便,能够很好地将矢量图的灵活性和精确性与声响、位图、视频交融起来,并且具有动感十足和开发周期短的特点,十分适合制作广告、动画、高级页面,以及游戏。Flash 中面向对象的 ActionScript 动作脚本是该公司为了更好操作而新增加的功能,又融入了以前的功能,使之成为应用程序员和 Web人员的理想工具。外部脚本撰写与处理数据库动态数据的能力,使 Flash 能够适用于各种复杂的大规模项目开发。近年来,随着 Flash 软件技术不断发展和更新,Flash 影片及游戏如今也能够不受浏览器版本和操作系统限制跨平台输出,因此,Flash 成为了重要的游戏开发工具。幸运的是,Flash 游戏同样继承了 Flash 软件的特点。Flash 游戏具有操作简单、无需安装、绿色、文件体积小的特点受广大玩家热衷。与传统的游戏比较,游戏形式基本上无太大变化,但它是一种存在于网络上的游戏,因其画面美观、体积小、流传快,所以有取代传统游戏的趋向。目前国内外利用 Flash 制作无端网游已经在游戏开发中很流行了,它与传统的网络游戏对比有了显著地提高。但是,Flash 游戏本身也是有弊端的,这就需要游戏的设计者扬长避短,尽量回避它的缺点,起码把 Flash 游戏的优点呈现的更为突出。1.2 射击游戏的发展历程STG,翻译过来即为飞行射击游戏。70年代末期,电子游戏便开始兴起,那时STG就是电子游戏的代名词。 1978年,STG的鼻祖级游戏太空入侵者(小蜜蜂游戏)应运而生。该游戏问世以后,在当时的日本甚至掀起了“100元硬币短缺”的现象。1982年,日本知名游戏企业南梦宫发布了一款颇具革命性的射击类游戏铁板阵,这是第一部问世的纵式STG,是卷动式配景与双武器系统的先锋,崭新的游戏模式与“漂亮”的画面在世界范围取得了辉煌成果,从此以后STG拉开了它的辉煌历史。 到了80年代,STG再次迸出两部好作品,那就是R-type和沙罗曼蛇,前者蓄力炮的设定以及后者火力选择的机制,也为以后STG游戏的基本奠定了基础框架。 1996年,STG游戏进入全盛时期,雷电、斑鸠、东方系列等神作陆续出来了。据不完全统计,日本14家电子游戏公司至今为止总计开发了170款街机射击类游戏。 1.3 游戏开发目的由于HTML语言的本身限制,所能实现的功能十分有限,无法达到人们心理预期的效果。鉴于这种情况,各种脚本语言便开始应运而生,使得网页设计变得更加多样化。然而,程序设计对普通人来说,总不是那么容易普及的,因为它的基础决定它要求一定的编程能力,而这一点不是每一个人都可以轻松做到的。人们更需要一种既简单直观又有功能强大的动画设计工具,Flash的出现就正好满足这种需求。Flash为我们提供了一种操作简单且功能强大的功能,作为游戏制作工具,它不仅界面简单、操作简单、设计简单,而且做出来的游戏不仅内容广泛,而且还不缺趣味性。它使得我们每个人只要经过简单的学习便可制作出有趣而且精致的游戏,因此游戏制作也就随之变得“大众化”了。1.4 相关技术分析Flash技术Flash的前身是Macromedia公司所做出的FutureSplash Animator,在当时它仅作为交互制作软件Authorware和Director的一个小型插件,后来才被做成单独的交互性软件。曾与Dreamweaver和Fireworks并称为“网页三剑客”。Flash紧跟互联网的发展,在Flash4版本之后嵌入ActionScript函数调用功能,使其在交互应用上变得更实用。该公司及旗下软件于2007年被Adobe公司收购以后对其后续进行开发(Adobe收购后发布的第一个版本就是Flash CS)。本次游戏设计所用到的Adobe Flash Professional CS6仅仅是Adobe Flash Platform开发平台中的一个产品而已,它会向其他Flash软件一样生成相同的结果Flash内容(即SWF文件)。SWF文件应用场景诸多,不仅能在浏览器外面的桌面上的AIR(Adobe Integrated Runtime,Adobe集成运行环境)中运行,装有Flash播放器的浏览器、用户手机上也能轻松做到畅通运行。要在Flash中构建应用程序,首先要用Flash自带的绘图工具创建大概的图形,并将所收集到的相关媒体元素导入文档中。接下来,只需要定义何时以及如何使用这些元素来完成设想中的效果即可。Flash动画归根结底就是各个元件(主要是影片剪辑)与“遮罩+补间动画+逐帧动画”的结合物,通过这些元素的不同组合,从而达到千变万化的效果。碰撞检测算法碰撞检测,相信不仅仅是本次设计的所需的功能,也是每个飞行射击游戏中必须的一个功能。碰撞检测技术的具体实现是基于数学和物理学的相关知识进行计算并判断的,并根据不同的对象有不同的碰撞算法。按碰撞对象的不同分为游戏实体对象(飞机和炮弹)之间的碰撞,以及游戏实体与环境(游戏场景)间的碰撞。这里主要研究的是前一种碰撞,即飞机和炮弹之间的碰撞检测。实现碰撞检测所需注意的主要有三个方面:(1) 确定检测对象游戏在运行中一定会出现不少实体对象,要注意的是在进行碰撞检测时,并不需检测所有的实体对象,比如飞机自己发射的子弹不会和自己发生碰撞,设定静止的物体之间也不会发生碰撞。(2) 检测是否碰撞这是碰撞检测的核心,在这个环节需要考虑游戏本身的环境需求和运行平台的性能高低,然后合理选择碰撞检测的算法。(3) 处理碰撞当检测到有碰撞出现时,就需要根据碰撞的类型进行相应处理,如炮弹会在碰到敌机后爆炸并移除,并且会造成敌机与炮弹的移除。战斗机碰撞到敌机后,移除敌机并判断所剩生命值的多少来决定战斗机是否继续存在。3第二章 游戏的需求分析52 游戏的需求分析2 游戏的需求分析2.1 游戏的主题本次所设计的打飞机游戏是一款射击类游戏,射击类游戏的特点是游戏操作简单,容易上手,配合绚丽的背景和丰富的音乐效果,给予玩家精彩的体验。在设计环节特别需要注意游戏难度的设计,即每个关卡之间要有难度梯度,如果梯度太小,则玩家就没有挑战欲和满足感;如果梯度太大,大到根本无法完成任务,亦不会吸引玩家。通过逐渐提升的等级及难度,就可以吸引不少玩家。另一方面,开发中各个模块要紧密的配合,处理好游戏动画设计,音效设计,多线程操作等技术环节,在满足设计需求的基础上避免出现死机的情况发生。2.2 功能概述本节主要针对打飞机的游戏的主题及功能进行简单介绍,游戏的主题和功能是设计一款游戏时,首先需要考虑的问题,相当于游戏的草稿。功能概述相当于游戏的需求,打飞机游戏主要包括4个界面,游戏开始界面、游戏主体界面、游戏结束界面和游戏帮助界面。点击开始界面的“游戏帮助”即可进入游戏帮助界面,里面有游戏的具体玩法。点击“开始游戏”按钮即可进入游戏的运行界面,运行界面会出现战斗机以及敌机,我们可以通过上下左右来控制战斗机的移动,通过空格键控制发射子弹,每击毁一架敌机可获得10分。如果顺利得到足够的分数的话就会自动进入下一个等级,每个等级敌机移动速度不同,飞机射击子弹速度不同,飞机移动速度也有增加。这样就增加了游戏的难度以及它的趣味性。如果被敌机碰撞,则会减少战斗机的生命值。若生命值耗完,则进入游戏的结束画面。可根据各个功能模块完成游戏的框架设计和各个函数的开发,并做出游戏的流程图。游戏的功能模块见表2-1。表2-1 功能模块流程图见图2-2。5第二章 游戏的需求分析图2-2 游戏的流程图2.3 设计相关的函数图2-3 相关函数的截图3 游戏的具体实现3 游戏的具体实现1、新建Flash 文件:图3-1 新建文件2、快捷键Ctrl + F8 新建战斗机元件:图3-2新建元件简单画出战斗机并上色: 图3-3 战斗机简画 图3-4 上色3、继续快捷键Ctrl + F8 新建敌机元件:第二章 游戏的需求分析图3-5 敌机元件简单画出敌机并上色:图3-6 敌机简画 图3-7 上色4、继续快捷键Ctrl + F8 新建子弹元件:图3-8 新建子弹简单画出子弹并上色:图3-9 子弹简画 图3-10 上色5、继续快捷键Ctrl + F8 新建开始游戏按钮元件:图3-11 新建按钮3 游戏的具体实现快捷键T使用文本工具打出“开始游戏”:图3-12 打字复制帧:图3-13 复制帧粘贴帧:图3-14 粘贴帧如图:图3-15 结果图6、 继续快捷键Ctrl + F8 新建重玩游戏按钮元件:图3-16 新建重玩按钮按快捷键T使用文本工具打出“重玩游戏”:图3-17 打字复制帧:图3-18 复制帧粘贴帧:图3-19 粘贴帧如图:图3-20 结果图7、返回场景。8、Ctrl + F3 调出属性面板,填写类名为 Space:图3-21 命名类名9、快捷键T使用文本工具在第1帧写上游戏名称,Ctrl + L 打开库面版,将开始按钮拖入舞台。图3-22 拖入按钮10、调出按钮属性面板,键入实例名称 button_start:图3-23 键入名称11、新建图层2:图3-24 新建图层12、选中图层2第1帧快捷键F9调出动作面板,输入下面代码:import flash.events.MouseEvent;stop();/ 停止播放动画button_start.addEventListener(MouseEvent.CLICK,Play);/ 为按钮添加监听事件function Play(e:MouseEvent)gotoAndStop(2);/ 跳转停止到第2帧如图:图3-25 输入代码13、图层1和 图层2的第2帧各处插入空白关键帧。图3-26 插入空白关键帧14、选中图层1第2帧,Ctrl + L 打开库面版,将战斗机拖入舞台。图3-27 拖入战斗机调出按钮属性面板,键入实例名称 fighter:图3-28 键入名称15、Ctrl + Enter 测试影片发现游戏画面不生成敌方战斗机,按Ctrl+N新建AS文件:图3-29 新建AS文件输入代码:package / 导入需要的包import flash.display.MovieClip;import flash.events.Event;import flash.ui.Mouse;public class Space extends MovieClippublic var airplane:Airplane;/ 敌方飞机对象public var arr_enemy: Array = new Array;/ 敌方飞机数组public var mc_enemy:MovieClip;/ 敌方飞机MCpublic var max_enemy:int = 5;/ 敌方最多飞机数public var Probability:int = 5;/ 飞机出现机率public var enemy_speed:int = 2;/ 敌方飞机移动速度/*/ 函数名:PlayGame()/ 函数功能:游戏初始化/ 函数参数:无/ 数数返回值:空*/public function PlayGame()Mouse.hide();/ 隐藏鼠标mc_enemy = new MovieClip;/ 实例化敌方飞机MCaddChild(mc_enemy);/ 添加敌方飞机MCstage.addEventListener(Event.ENTER_FRAME, Battle);/ 监听帧频事件执行 Battle 函数/*/ 函数名:Battle()/ 函数功能:游戏战斗处理/ 函数参数:e:Event/ 数数返回值:空*/public function Battle(e:Event)AddPlane();/ 调用函数AddPlane(),添加敌方飞机TestEdge();/ 调用函数TestEdge(),检测飞机是否离开屏幕/*/ 函数名:AddPlane()/ 函数功能:添加敌方飞机/ 函数参数:无/ 数数返回值:空*/public function AddPlane()/trace(arr_enemy.length);/ 打印当前敌方飞机数量if (arr_enemy.length max_enemy)/ 判断屏幕敌方飞机是否超过最大飞机数量 max_enemy 时var chance:int = Math.random() * 100;/ 随机生成0到99的一个数 chanceif (chance Probability)/ 判断随机数是否大于出现机率 Probabilityairplane = new Airplane;/ 实例化飞机对象airplane.y = 0;/ 初始化飞机Y坐标airplane.x = Math.random()*400;/ 随机生成飞机X坐标airplane.SetSpeed(enemy_speed);/ 设置敌方飞机飞机速度arr_enemy.push(airplane);/ 将飞机对象添加到飞机数组mc_enemy.addChild(airplane);/ 舞台中添加敌方飞机/*/ 函数名:TestEdge()/ 函数功能:清除离开屏幕的敌方飞机/ 函数参数:无/ 数数返回值:空*/public function TestEdge()for (var i :int= 0; i = 425)/ 如果飞机Y坐标大于等于425mc_enemy.removeChild(arr_enemyi);/ 移除敌方飞机arr_enemy.splice(i, 1);/ 从敌方飞机数组移除该元素Ctrl + S 保存文件为 Space.as。16、Ctrl+N新建AS文件,代码如下:package import flash.display.MovieClip;import flash.events.Event;public class Airplane extends MovieClipprivate var speed:int = 2;/ 敌机飞行速度public function Airplane()this.addEventListener(Event.ENTER_FRAME,Flight);public function SetSpeed(_speed)speed = _speed;/ 设置敌机飞行速度public function Flight(e:Event)this.y += speed;/ 敌机Y坐标增加Ctrl + S 保存文件为 Space.as。17、返回舞台,选择图层2第2帧,按F9打开动作面板,键入代码:PlayGame();/ 调用Space中的PlayGame函数开始游戏图3-30 键入代码18、Ctrl+ Enter测试发现,已经有敌机随机从画面出现,但无法控制我方战斗机无法移动:图3-31 测试问题19、选中Space.as,添加代码:import flash.events.KeyboardEvent;public var space_is_dowm: Boolean;/ 空格键状态DownKey();/ 调用函数DownKey(),监测按下的按键/*/ 函数名:DownKey()/ 函数功能:监测按键/ 函数参数:无/ 数数返回值:空*/public function DownKey()stage.addEventListener(KeyboardEvent.KEY_DOWN, Action);/监听按键按下,执行Action函数stage.addEventListener(KeyboardEvent.KEY_UP, SpaceUp);/监听按键弹起,执行SpaceUp函数/*/ 函数名:Action()/ 函数功能:响应对应按键,移动战斗机/ 函数参数:e:KeyboardEvent/ 数数返回值:空*/public function Action(e:KeyboardEvent)if (e.keyCode != 32)/ Space键代码(32)fighter.action(e.keyCode);/ 调用action()函数,移动飞机if (e.keyCode = 32)/ Space键代码(32)space_is_dowm = true;/ space_is_dowm 赋值 true/*/ 函数名:SpaceUp()/ 函数功能:根据鼠标状态改变 space_is_dowm 的值/ 函数参数:e:KeyboardEventt/ 数数返回值:空*/public function SpaceUp(e:KeyboardEvent)if (e.keyCode = 32)/ Space键代码(32)space_is_dowm = false;/ space_is_dowm 赋值 false20、Ctrl+N新建AS文件,代码如下:package import flash.display.MovieClip;import flash.events.Event;import flash.events.KeyboardEvent;public class Fighter extends MovieClipprivate var speed:int;/ 战斗机移动速度public function Fighter()this.speed = 8;/ 战斗机初始移动速度为8public function SetSpeed(_speed:int)/ 每次移动的像素大小speed = _speed;public function action(Direction:int)if (Direction = 38 & this.y 0)/ 上this.y -= speed;/ Y坐标减少if (Direction = 40 & this.y 0)/ 左this.x -= speed;/ X坐标减少if (Direction = 39 & this.x 550)/ 右this.x += speed;/ X坐标增加Ctrl+S保存为 Fighter.as。21、Ctrl + Enter 测试发现此时我方战斗机已经可以移动,但是按空格键却没有发射出子弹:图3-32 测试问题22、打开 Space.as 添加好下代码:import flash.utils.Timer;import flash.events.TimerEvent;public var arr_bullet:Array = new Array;/ 我方子弹数组public var mc_bullet: MovieClip;/ 我方子弹MCpublic var max_bullet:int = 10;/ 我方最多子弹数量public var my_speed:int = 8;/ 我方子弹速度public var my_interval:int = 800;/ 子弹发射间隔public var bullet_is_ready:Boolean = true;/ 子弹是否就绪mc_bullet = new MovieClip;/ 实例化我方子弹MCaddChild(mc_bullet);/ 添加我方子弹MCEmission();/ 调用Emissio(),实现子弹发射/*/ 函数名:Emission()/ 函数功能:实现子弹发射/ 函数参数:无/ 数数返回值:空*/public function Emission()if (space_is_dowm = true) & (bullet_is_ready = true)if (arr_bullet.length = 0; i-)/ 遍历我方子弹数组TempBullet = arr_bulleti;/ 为 TempBullet 赋值子弹元素for (var j :int= arr_enemy.length - 1; j = 0; j-)/ 遍历敌方飞机数组TempEnemy = arr_enemyj;if (TempBullet.hitTestObject(TempEnemy)/ 检测子弹与飞机是否交叠text_score.text = score.toString();/ 动态文本框中显示分数mc_bullet.removeChild(TempBullet);/ 移除我方子弹mc_enemy.removeChild(TempEnemy);/ 移除敌方飞机arr_bullet.splice(i, 1);/ 从我方子弹数组中移除元素arr_enemy.splice(j, 1);/ 从敌方飞机数组中移除元素/*/ 函数名:TestEdge()/ 函数功能:清除离开屏幕的子弹/ 函数参数:无/ 数数返回值:空*/public function TestBullet()for (var i:int = 0; i arr_bullet.length; i+)/ 遍历子弹数组if (arr_bulleti.y = 0; i-)/ 遍历我方子弹数组TempEnemy = arr_enemyi;/ 为 TempBullet 赋值子弹元素if (TempEnemy.hitTestObject(fighter)/ 检测战斗机与飞机是否交叠life-;/ 生命值减1text_life.text = life.toString();/ 动态文本框中显示生命值mc_enemy.removeChild(TempEnemy);/ 移除敌方飞机arr_enemy.splice(i, 1);/ 从敌方飞机数组中移除元素29、返回场景,选择图层1第2帧,添加一个静态文本和一个动态文本,动态文本实例名为 text_life:图3-35 添加文本30、按Ctrl+Enter测试发现,与敌机碰撞会触发生命值减少,但生命值却存在负值:图3-36 测试问题31、打开 Space.as ,添加好下代码:TestOver();/ 调用函数TestOver(),检测游戏是否结束/*/ 函数名:TestOver()/ 函数功能:检测游戏是否结束/ 函数参数:无/ 数数返回值:空*/public function TestOver()if (life 0)removeChild(mc_bullet);/ 移除我方子弹removeChild(mc_enemy);/ 移除敌方飞机arr_bullet.splice(0);/ 删除我方子弹数组所有元素arr_enemy.splice(0);/ 删除敌方飞机数组所有元素life = 3;/ 初始血量为3/score = 0;/ 初始得分为0space_is_dowm = false;/ 初始化键盘按下状态为falsefighter.SetSpeed(8);/ 我方战斗机飞行速度my_speed = 8;/ 我方子弹飞行速度enemy_speed = 2;/ 敌方飞机飞行速度max_enemy = 5;/ 敌方最多飞机数max_bullet = 10;/ 我方最多子弹数my_interval = 800;/ 我方子弹发射间隔stage.removeEventListener(Event.ENTER_FRAME, Battle);/ 移除舞台监听事件stage.removeEventListener(KeyboardEvent.KEY_DOWN, Action);/ 移除舞台监听事件stage.removeEventListener(KeyboardEvent.KEY_UP, SpaceUp);/ 移除舞台监听事件Mouse.show();/ 显示鼠标gotoAndStop(3);/ 跳转到游戏结束画面32、转到舞台,在图层1第3帧和图层2第3帧位置各插入空白关键帧:图3-37 插入空白关键帧33、选中图层1第3帧位置,Ctrl + L 从库中拖入“重玩”按钮,实例名为 restart。添加动态文本,实例名为 text_score2:图3-38 拖入按钮、添加文本34、选中图层2第3帧,快捷键 F9 打开动作面版,键入代码:import flash.events.MouseEvent;text_score2.text = score.toString();/ 显示最后成绩score = 0;/ 初始得分为0restart.addEventListener(MouseEvent.CLICK,RePlay);/ 为按钮添加监听事件function RePlay(e:MouseEvent)gotoAndStop(2);/ 跳转停止到第2帧 35、按Ctrl+Enter测试,整个游戏基本完成 ,最后还可以为游戏添加上等级设置及游戏音效等。36、新建图层3,导入背景。图3-39 成果图294 结束语4 结束语经过两个多月的努力,基于Flash的射击游
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年鹤岗萝北县公开招聘农垦社区工作者26人考前自测高频考点模拟试题完整参考答案详解
- 2025年济宁金乡县事业单位公开招聘工作人员(教育类)(39人)模拟试卷完整参考答案详解
- 2025湖南省社会科学院湖南省人民政府发展研究中心招聘高层次人才14人考前自测高频考点模拟试题及答案详解(全优)
- 2025湖南娄底市骨伤医院招聘见习护士8人考前自测高频考点模拟试题及答案详解(夺冠系列)
- 浙江国企招聘2025宁波市水务环境集团股份有限公司招聘4人笔试历年参考题库附带答案详解
- 2025湖南长沙市财盛国际贸易有限公司招聘2人考前自测高频考点模拟试题及一套答案详解
- 浙江国企招聘2025宁波市轨道交通集团有限公司综合物业服务分公司招聘派遣制工作人员4人笔试历年参考题库附带答案详解
- 2025年4月四川成都师范学院考核招聘人员(第二批)模拟试卷及答案详解(名师系列)
- 2025重庆九洲智造科技有限公司招聘项目经理等岗位拟录用人员笔试历年参考题库附带答案详解
- 2025贵州黔南州都匀经济开发区水务有限责任公司招聘10人笔试历年参考题库附带答案详解
- 心理处方手册
- 2025年常州市规划馆公开招聘工作人员1人考试参考题库及答案解析
- 烟花爆竹考试题及答案
- 液压机搬迁改造工程方案(3篇)
- 特殊人才考核管理办法
- 压砂地欧李品种筛选与灌溉定额优化研究:基于生态适应性与水资源高效利用
- 巩固脱贫成果全面推进乡村振兴政策培训测试题(附答案)
- YD-T 3775-2020 大数据 分布式事务数据库技术要求与测试方法
- 大学生心理健康教育(第二版)PPT全套完整教学课件
- 2023年高考英语总复习高中英语常用一百组固定搭配
- 八个有趣模型搞定外接球内切球问题(学生版)
评论
0/150
提交评论