已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河河北北农农业业大大学学 本本科科毕毕业业论论文文 设设计计 题题 目 目 网络对战五子棋 学学 院 院 信息科学与技术学院 专业班级 专业班级 计算机科学与技术 0902 学学 号 号 二二 O 一三一三 年年 六六 月月 一一 日日 摘要 五子棋游戏以其优秀的人工智能深受广大玩家的喜爱 而对于初步探究网络 编成的编程爱好者来说 编制五子棋程序因其规则简单而大受欢迎 然而它却要 求程序员对五子棋规则有相当深入的了解 程序员考虑得越周到 其五子棋程序 就越智能 五子棋游戏软件设计的主要内容是 根据五子棋的基本规则 要让对方客户 端知道该在哪一点下子 就要根据盘面的形势 并把棋盘棋子的重新绘制绘制 也就是更新该点的位置 然后再通过监听网络传递的消息 直到新的位置放在棋盘 的什么位置上 在进行修改 并通过计算 得出玩家是否获得胜利 因此玩家就能反 复的进行联机游戏 本文论述了采用联机对战的方式体现出五子棋程序的分析与设计 并采用面 向对象的开发工具 C 来具体实现 关键字 Socket C S 五子棋 网络对弈 C Abstract Gobang game with excellent artificial intelligence by the vast number of players who for the initial research network organization programming enthusiasts Gobang procedures for the preparation of the rules simple and popular but it requires programmer to Gobang game has a deep understanding of the rules Other thoughtful consideration they treat their Gobang game procedures more wisdom Gobang game software design is the main content According Gobang basic rules to know each other s customers in violation of the West we must under Permian situation and the board pawn re mapping mapping that is updating the point position and then through the monitoring network news until the new location on the board what position Following changes and through the calculation resulting in players is victory the on line game players can repeatedly This article discusses the use of on line way reflect those Gobang procedures analysis and design object oriented development tools and the adoption of specific C to achieve Key Words Socket C S Gobang play chess on network C 目 录 1 绪论 5 1 1 选题背景和意义 5 1 2 国内外研究现状和发展趋势 5 1 3 研究内容与目标 6 2 相关理论与技术 7 2 1 五子棋简介 7 2 2 相关技术简介 7 2 2 1 C S 体系结构 7 2 2 2 SOCKET 简介 8 2 2 3 面向对象的理论知识 10 2 2 4 C NET 相关知识介绍 10 3 系统的分析与设计 11 3 1 需求分析 11 3 2 功能分析 11 3 3 运行环境 12 4 系统的实现 12 4 1 概要设计 12 4 2 流程图 13 4 3 程序详细设计 14 5 总结 31 致谢 31 参考文献 32 1 绪论 1 1 选题背景和意义 五子棋是起源于中国古代的传统黑白棋种之一 现代五子棋日文称之为 连珠 英译为 Renju 英文称之为 Gobang 或 FIR Five in a Row 的缩写 亦有 连五子 五子连 串珠 五目 五目碰 五格 等多种称谓 五子棋不仅能增强思维能力 提高智力 而且富含哲理 有助于修身养性 五子棋既有现代休闲的明显特征 短 平 快 又有古典哲学的高深学问 阴 阳易理 它既有简单易学的特性 为人民群众所喜闻乐见 又有深奥的技巧和 高水平的国际性比赛 它的棋文化源渊流长 具有东方的神秘和西方的直观 既 有 场 的概念 亦有 点 的连接 它是中西文化的交流点 是古今哲理的结 晶 五子棋起源于古代中国 发展于日本 风靡于欧洲 对于它与围棋的关系有 两种说法 一说早于围棋 早在 尧造围棋 之前 民间就已有五子棋游戏 一 说源于围棋 是围棋发展的一个分支 在中国的文化里 倍受人们的青睐 古代 的五子棋的棋具与围棋相同 纵横各十七道 五子棋大约随围棋一起在我国南北 朝时先后传入朝鲜 日本等地 据日本史料文献介绍 中国古代的五子棋是经由 高丽 朝鲜 于 1688 年至 1704 年的日本元禄时代传到日本的 到日本明治 32 年 公元 1899 年 经过公开征名 连珠 这一名称才被正式确定下来 取意 于 日月如合壁 五星如连珠 从此 连珠活动经过了不断的改良 主要是规 则的变化 即对执黑棋一方的限制 例如 1899 年规定 禁止黑白双方走 双三 1903 年规定 只禁止黑方走 双三 1912 年规定 黑方被迫走 双三 亦 算输 1916 年规定 黑方不许走 长连 1918 年规定 黑方不许走 四 三 三 1931 年规定 黑方不许走 双四 并规定将 19 19 的围棋盘改为 15 15 的连珠专用棋盘 本世纪初五子棋传入欧洲并迅速风靡全欧 通过一系列 的变化 使五子棋这一简单的游戏复杂化 规范化 而最终成为今天的职业连珠 五子棋 同时也成为一种国际比赛棋 1 2 国内外研究现状和发展趋势 电脑游戏行业经过二十年的发展 已经成为与影视 音乐等并驾齐驱的全 球最重要的娱乐产业之一 其年销售额超过好莱坞的全年收入 互联网的出现为 电脑游戏行业发展注入了新的活力 凭借信息双向交流 速度快 不受空间限制 等优势 让真人参与游戏 提高了游戏的互动性 仿真性和竞技性 使玩家在虚 拟世界里可以发挥现实世界无法展现的潜能 改变了单机版游戏固定 呆板 与 机器对话的状况 网络游戏的这些优势不仅使其在电脑游戏行业中异军突起并在 某种程度上取代了单机版游戏 而且成为网络业三大 网上金融 网上教育和网 络游戏 赢利且利润优厚的领域之一 网络作为一种新兴的传播方式 主要包括三大内容 娱乐 资讯 通讯 提到网络娱乐 过去主要指的是单机版游戏 没有引入网络的概念 2 但随着科 技的发展 游戏娱乐产业也在成长 3 目前 国内的游戏娱乐产业正处于起步阶 段 特点表现为 第一 它是一种文化的传播 娱乐产业可以潜移默化地改变人 的观念 当前 很多多媒体的播放已被电脑网络所取代 4 第二 网络游戏加 强了人与人的沟通 第三 网络游戏具有一定的教育意义 5 网络游戏所具有 的角色扮演的功能 使得玩家能通过互助更好地完成游戏中的各项任务 网络无 国界 游戏在网络文化产业世界的发展中地位会越来越高 目前在国外 休闲游戏如棋类等 玩家的年龄跨度非常大 这和我国目前 网游市场以青少年为主要消费人群的状况截然不同 7 其实 网络可以解决空 间的问题 网络和生活越来越息息相关 因此 开辟适合各个年龄层的游戏产品 迫在眉睫 同时 这也涉及到一个企业开发的能力 娱乐产业发展到一定程度 通过不断锻炼和经验的积累 完全可以通过融入娱乐的成分把教条的东西深入浅 出地展现给消费者 就国内的发展来看 最近這两三年内国内的游戏公司如雨后春笋般的成立 所開發或代理的网络游戏更是不胜枚举 以全球游戏业界的发展来看 這几年韩 国的表现最为突出 特別是在网络游戏的技术研发兴游戏制作 其所发行的网络 游戏更成为全球游戏产业重要的指标之一 去年在美国洛杉矶所举行的 E3 Electronic Entertainment Exposition 展中 已经有几家的韩国厂商挤 入世界第一线的游戏开发厂商之列 近几年来 由于 3D 硬体绘图技术的突破 使得即时描绘的书面越来越精致 而且 3D 遊戏性更多元化更逼近真实世界 因此在遊戏产业中 3D 游戏已经逐渐 取代 2D 游戏为游戏市场的主流 即使是网络游戏 也慢慢趋向 3D 化 然而游戏 3D 化将会带来的游戏开发上的困难等问题 这些问题以后都需要逐步解决 1 3 研究内容与目标 实验要求如下 1 玩家能通过局域网进行局域网对战 2 实现游戏员的网络对话 3 游戏规则 在棋盘上的行 列 对角线上连续放五个旗子的一方获胜 本程序旨在用 C 语言实现一个基于 NET 架构的 C S 模式的五子棋局域网对 战游戏 玩家作为客户端通过服务器端与其它玩家进行对战 聊天等功能 界面 使用 VS2008 WindowForm 窗体实现 界面美观 操作简单 可行性强 2 相关理论与技术 2 1 五子棋简介 1 棋盘 棋子 1 棋盘为十五路 正中一点为 天元 周围四点为小星 2 棋子分黑白两色 黑子 113 枚 白子 112 枚 共 225 枚 2 比赛规则 1 黑先白后 从棋盘任意位置开始落子 然后执白棋的一方在黑棋周围的 交叉点上落子 以此类推 黑白交替落子 2 最先在横向 竖向 斜向形成连续的相同色五个棋子的一方为胜 本文所论述的联机五子棋系统就是依照这种方式进行的 2 2 相关技术简介 2 2 1 C S 体系结构 C S 结构 即大家熟知的客户机和服务器结构 它是软件系统体系结构 通 过它可以充分利用两端硬件环境的优势 将任务合理分配到 Client 端和 Server 端来实现 降低了系统的通讯开销 Client Server 或客户 服务器模式 Client 和 Server 常常分别处在相 距很远的两台计算机上 Client 程序的任务是将用户的要求提交给 Server 程序 再将 Server 程序返回的结果以特定的形式显示给用户 Server 程序的任务是接 收客户程序提出的服务请求 进行相应的处理 再将结果返回给客户程序 C S 结构的基本原则是将计算机应用任务分解成多个子任务 由多台计算机 分工完成 即采用 功能分布 原则 客户端完成数据处理 数据表示以及用户 接口功能 服务器端完成 DBMS 的核心功能 这种客户请求服务 服务器提供服 务的处理方式是一种新型的计算机应用模式 C S 结构的优点是能充分发挥客户端 PC 的处理能力 很多工作可以在客户端 处理后再提交给服务器 对应的优点就是客户端响应速度快 C S 编程模式概括如下 服务器端 打开通信道路 告诉本地机器 愿意在该通道上接受客户请求 监听 等 待客户请求 接受请求 创建专用链接进行读写 处理完毕 关闭专用链接 关闭通信通道 当然其中监听到关闭专用链接可以重复循环 客户端 打开通讯道路 链接服务器 数据交互 关闭信道 2 2 2 SOCKET 简介 Socket 代表了一种文件描述符 这个描述符则是用于网络访问的 其实 Socket 可以象流 Stream 一样被视为一个数据通道 这个通道架设在应用程序端 客户端 和远程服务器端之间 而后 数据的读取 接受 和写入 发送 均 针对这个通道来进行 在应用程序端或者服务器端创建了 Socket 对象之后 就 可以使用 Send SendTo 方法将数据发送到连接的 Socket 或者使用 Receive Receive From 方法接受来自连接 Socket 的数据 Socket 通讯方式 同步 客户端在发送请求之后必须等到服务器回应之后才可以发送系一条请 求 串行运行 异步 客户端请求之后 不必等到服务器回应之后就可以发送下一条请求 并行运行 用 Socket 访问网络的基本步骤 a 建立一个套接字 b 绑定本机的 IP 和端口 c 如果是 TCP 因为是面向连接的 所以要利用 ListenO 方法来监听网络 上是否有人给自己发东西 如果是 UDP 因为是无连接的 所以来这不拒 d TCP 情况下 如果监听到一个连接 就可以使用 accept 来接受这个连接 然后就可以利用 Send Receive 来执行操作了 而 UDP 则不需要 accept 直接 用 SendTo ReceiveFrom 来执行操作 e 如果你不想继续发送和接受了 就可以使用 close 来关闭连接 在 TCP IP 网络中 IP 网络交互分类两大类 面向连接的交互和面向唔连接 的交互 Socket 面向两种连接的通讯图如下 服务器方 Socket 建立流式套接字 返回套接字号 s Bind 将套接字 s 与本地地址相连 建立连接 服务请求 应答 面向连接的套接字系统调用时序 服务器 客户方 服务器 客户方 Listen 通知 TCP 服务器准备好接受连接 accept 接受连接 它等待客户的连接 连接建立 accept 返回 得到新的数据套接字 如 ns Recv send 在套接字 ns 上读 写数据 直到数 据交换完 Closesocket 关闭套接字 ns Closesocket 关闭最初套接字 s 服务结束 Socket 建立流式套接字 返回 套接字号 s Connect 将套接字 s 与远地主 机连接 Send recv 在套接字 s 上写 读 数据 直到数据交换完 Closesocket 关闭套接字 s 结 束 TCP 对话 Socket 建立流式套接字 返回套接字 s Socket 建立流式套接字 返回套接字 s 数据报文 无连接的套接字系统调用时序 2 2 3 面向对象的理论知识 面向对象方法是一种运用对象 类 封装 继承 多态和消息等概念来构造 测试 重构软件的方法 面向对象方法是一种以知识为基础 用对象来理解和分析问题空间 并设计 和开发出由对象构成的软件系统 解空间 的方法 由于问题空间和解空间都是 由对象组成的 这样可以消除由于问题空间和加空间结构上的不一致带来的问题 简言之 面向对象就是面向事物本身 面向对象的分析古城就是认识客观世界的 过程 面向对象方法从从对象出发 发展出对象 类 消息 继承等概念 面向对象的主要优点是 符合人们通常的思维方式 从分析到设计再到编码 采用一致的模型表示具有高度连续性 软件重用性好 2 2 4 C NET 相关知识介绍 C 是微软公司发布的一种面向对象的 运行于 NET Framework 之上的高级 程序设计语言 C 是一种安全的 稳定的 简单的 优雅的 由 C 和 C 衍生出 来的面向对象的编程语言 它在继承 C 和 C 强大功能的同时去掉了一些它们的 复杂特性 例如没有宏以及不允许多重继承 C 综合了 VB 简单的可视化操作 和 C 的高运行效率 以其强大的操作能力 优雅的语法风格 创新的语言特性 和便捷的面向组件编程的支持成为 NET 开发的首选语言 本次设计是用 C NET 完成的 采用的是 windows 窗体应用程序来实现图形 界面功能的 本设计主要用到的 一些控件有 ImageList MenuStrip button textbox label 等一些简单的控件 用到的主要技术就是 Bind 将套接字 s 与本地地 址绑定 Closesocket 关闭最初套接 字 s 服务结束 ReceiveFrom SendTo 通过 套接字 s 收发报文 Bind 将套接字 s 与本地地 址绑定 ReceiveFrom SendTo 通过 套接字 s 收发报文 Closescoket 关闭最初套接 字 服务结束 Socket 通讯 以及多线程编程 下面简单的介绍一下这些知识 ImageList 控件包含 ListImage 对象的集合 该集合中的每个对象都可以通过 其索引或关键字被引用 ImageList 控件不能独立使用 只是作为一个便于向其它 控件提供图象的资料中心 ImageList 控件的作用象图像的储藏室 同时 它需要 第二个控件显示所储存的图像 第二个控件可以是任何能显示图像 Picture 对象的控件 也可以是特别设计的 用于绑定 ImageList 控件的 Windows 通用控件之一 本程序中在 Label PictureBox 中调用了 ImageList 中的图像 MenuStrip 控件是 Visual Studio 和 NET Framework 中的功能 使用该控件 可以轻松创建 Microsoft Office 中那样的菜单 MenuStrip 控件支持多文档界面 MDI 和菜单合并 工具提示和溢出 您可以通过添加访问键 快捷键 选中 标记 图像和分隔条 来增强菜单的可用性和可读性 MenuStrip 控件取代了 MainMenu 控件并向其中添加了功能 但是也可选择保留 MainMenu 控件以备向 后兼容和将来使用 3 系统的分析与设计 3 1 需求分析 1 满足游戏双方记录的游戏动作的基本要求 2 满足对战双方及时通讯的基本要求 3 满足游戏双方及时显示游戏状态的基本要求 4 在服务器端分析双方是否胜利 3 2 功能分析 基于系统需求分析 该系统需要实现以下基本功能 1 棋盘绘制 在游戏加载时 即时显示棋盘 2 对连接到客户端数据的基本要求 能够将要发送的聊天记录发送至对 方手上 能够完成即时通讯 3 实时显示 当从游戏一方将数据传入另一方系统中 将五子棋的表格 进行重新的刷新 和更改 4 通过控制鼠标点击五子棋表格 触发事件 把该动作发送到游戏另一 方 并判断是否胜利 3 3 运行环境 系统运行环境 WindowsXP 及以后版本 开发环境 VS2008 4 系统的实现 4 1 概要设计 本次毕业设计的内容主要是利用 Socket 实现一个网络对战五子棋 首先先要 绘制出棋盘 然后实现 Socket 通讯 连接 聊天等功能 然后实现下棋功能 下棋这部分功能的实现根据 Socket 通讯传递的信息流控制双方该谁下棋 再通过 传递过来的消息触发事件从而实现对战双方的同步显示 每走一步棋子 都要利 用一个算法来判断一下有没有出现五个相同棋子连到一起的情况 及是否有人赢 棋 这个算法要分两种情况 一种是黑棋 另一种是白棋 如果刚落下的棋子是 黑棋 那么就要在整个棋盘上通过上下 左右 以及斜上 斜下 这几个方向来 寻找看看有没有五子连在一起的情况 如果有的话 那么黑棋胜 游戏结束 如 果刚落下的是白棋的话 用同样的方法判断 对战方 1 对战方 2 加载主界面 棋盘 对话窗口 等 加载主界面 棋盘 对话窗口 等 4 2 流程图 下面用我们用数据流图 DFD Data Flow Diagram 也就是从数据传递和加 工的角度 以图形的方式刻画数据流从输入到输出的移动变换过程 如下图所示 等待连接 连接至对方的服务端 输入对方 IP 进行连接 开始游戏 通讯对话开始游戏 输入对方 IP 进行连接 分出胜负游戏结束 分出胜负游戏结束 准备 启动服务 开始监听 开始 建立连接 等待对方链接自己的服务端 可以进行及时通讯 等待轮到自己下棋 将信息传递到对方的棋盘上 更新胜负记录 4 3 程序详细设计 4 3 1 期盼的绘制代码和图解 using System using System Collections Generic namespace WindowsApplication1 public partial class Form1 Form public Form1 InitializeComponent 收到对方链接请求 建立连 接 判断谁先下棋 下棋 更新 实现双方显示同步 判断胜负 重新开始 断开连接 public int BBow 0 int a new int 225 int BCount 0 int BwinCount 0 int WwinCount 0 int k g x 15 bool Out false public bool CanAgin CanAgins CanDown WhoFisrtDown private Socket listener private Thread mainThread public void Form1 Load object sender EventArgs e for int i 0 i 15 i 棋盘 for int j 0 j 15 j PictureBox pictureBox1 new PictureBox pictureBox1 Location new System Drawing Point i 29 30 j 29 30 pictureBox1 Name pictureBox i j 15 ToString pictureBox1 Size new System Drawing Size 30 30 pictureBox1 TabIndex 0 pictureBox1 Image imageList1 Images 2 pictureBox1 TabStop false a i j 15 3 pictureBox1 Click new EventHandler asd this Controls Add pictureBox1 button3 Enabled false button6 Visible false button1 Enabled false label7 Visible true label8 Visible false CanDown false 4 3 2 连接服务器模块 namespace WindowsApplication1 public class Client 1 连接服务器 2 发送消息 3 接收数据包 private Socket client 跟服务器连接的socket private bool connected socket连接状态 表示断开或已经连接两种情况 连接服务器 public void ConnectServer string ip int port 指定地址和端口 client new Socket Socket类构造函数 AddressFamily InterNetwork Socket使用的寻址方案 IP版本为 SocketType Stream 连接是基于流套接字的 ProtocolType Tcp 连接协议是使用TCP协议 IPEndPoint ep new IPEndPoint IPAddress Parse ip port 初始化制定的地址和端口 client Connect ep connected true 返回值true 返回连接状态 public bool Connected get return connected 关闭连接 public void CloseConnection if connected client Close connected false 发送消息 public void SendMessage string message byte buffer Encoding Default GetBytes message r n r n client Send buffer 4 3 3 判断先行 先行者添加棋子 程序代码和图 public void First if WhoFisrtDown true MessageBox Show 先行 else MessageBox Show 后行 public void FiDnMessage object sender FiDnMessageEventArgs e 谁先下棋的判断 if this InvokeRequired this Invoke new EventHandler this FiDnMessage new object sender e else WhoFisrtDown true First 4 3 4 添加后行者下棋模块 程序代码和图 public void AddChess object sender AddChessEventArgs e if this InvokeRequired this Invoke new EventHandler this AddChess new object sender e else string name pictureBox e Number int num Int32 Parse e Im BBow Int32 Parse e Bow PictureBox bb PictureBox this Controls name bb Image imageList1 Images num if num 0 label7 Visible false label8 Visible true else if num 1 label7 Visible true label8 Visible false bb Enabled false int s Int32 Parse e Number a s Int32 Parse e Im ChessJudge WhoFisrtDown true 4 3 5 判断黑白棋输赢的模块 程序代码和图 判断黑棋是否赢 public void Bwin for g 0 g 225 g string name pictureBox g ToString PictureBox aa PictureBox this Controls Find name false 0 aa Enabled false MessageBox Show 黑子赢了 请按重新开始 BwinCount label1 Text 黑胜 BwinCount button3 Visible false button6 Visible true button6 Enabled true CanAgins false CanAgin false 判断白棋是否赢 public void Wwin for g 0 g 225 g string name pictureBox g ToString PictureBox aa PictureBox this Controls Find name false 0 aa Enabled false MessageBox Show 白子赢了 请按重新开始 WwinCount label2 Text 白胜 WwinCount button3 Visible false button6 Visible true button6 Enabled true CanAgins false CanAgin false public void ChessJudge 算法 for k 0 k 225 k if a k 0 BCount for int p 1 p 5 p 从左往右判断横着的黑子是否有 个相同的棋子想 连 if k p k 15 1 x if a k p 0 BCount else if a k p 1 BCount 0 if BCount 5 Bwin return else BCount 0 for k 0 k 225 k 从右往左判断横着的黑子是否有 个相同的棋子想连 if a k 0 BCount for int p 1 p k 15 x if a k p 0 BCount else if a k p 1 BCount 0 if BCount 5 Bwin return else BCount 0 for k 0 k 225 k 判断 竖 着的黑子是否有 个相同的棋子想连 if a k 0 BCount for int p 1 p 5 p if k p 15 225 if a k p 15 0 BCount else if a k p 15 1 BCount 0 if BCount 5 Bwin return else BCount 0 for k 0 k 225 k 判断右 斜 上方的黑子是否有 个相同的棋子想连 if a k 0 BCount for int p 1 p 0 if a k p 14 0 BCount else if a k p 14 1 BCount 0 if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年海西州辅警招聘考试题库含答案详解(培优)
- 2025年铜仁辅警协警招聘考试真题附答案详解(基础题)
- 2025年铜川辅警招聘考试题库含答案详解(完整版)
- 2025年鄂尔多斯辅警协警招聘考试备考题库(含答案详解)
- 7月国开中央电大专科成本会计期末考试试题及答案-2025成本会计考试题
- 2025年百色辅警招聘考试真题完整答案详解
- 2025年淄博辅警协警招聘考试真题附答案详解(模拟题)
- (2025)保密教育测试题及参考答案
- 2025年赤峰辅警协警招聘考试备考题库含答案详解(b卷)
- 2025年焦作辅警协警招聘考试备考题库及1套完整答案详解
- 中国人口政策和问题
- 信息时代的生产技术-终考任务-国开(NMG)-参考资料
- (2025)国家公务员考试时事政治试题(附答案)
- 2025年直通链路测距和定位白皮书
- 市政工作台账管理制度
- 欧米奇就业协议书
- 制造业数字化转型数据驱动的质量管理培训课件
- 国务院关于学前教育深化改革规范发展的若干意见-课件-解读-模板
- 城管干部培训课件
- 急诊急救三基知识
- 黄曲霉毒素测定的其他方法-高效液相色谱-柱前衍生法
评论
0/150
提交评论