版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 面向对象程序设计课程设计报告题 目: 记忆测试系统 院 (系): 信息科学与工程学院 专业班级: 计算机科学与技术1201班 学生姓名: 程 伟 学 号: 20121183011 指导教师: 吴 奕 20 14 年 12 月 29 日至20 15 年 1 月 9 日华中科技大学武昌分校制 面向对象程序设计 课程设计任务书一、设计(调查报告/论文)题目记忆测试系统二、设计(调查报告/论文)主要内容内容:本游戏是通过由用户点击图片显示出图片后,如果是相同的,便保持图形,如果用户点开的是不同的图片则先前点击的图片被清空。当用户同时点击出规定数目的图片后,弹出保存成绩框。基本功能与要求:记忆测试系统
2、是通过回忆法测试记忆能力,测试手段分为初级、中级、高级三个级别。 1、单击“选择级别”菜单可以选择初级、中级或高级。 2、单击“查看排行榜”菜单可以查看初级记忆榜、中级记忆榜或高级记忆榜,通过记忆榜存储每个级别的成绩。 3、选择级别后,将出现相应级别的测试区。测试区由m×n个方块组成,程序通过设置m和n的值来确定相应的测试级别,例如,对于初级级别,m=5,n=6。每个方块上都有一个图标,但该图标默认不可见。用鼠标单击测试区中的任何一个方块,则计时器开始启动,同时该方块上的图标将显示出来。 4、m×n个方块组成的测试区中有m个图标,每个图标重复出现n次,并且随机分布在测试区中
3、的m×n各方块上。用户必须用鼠标连续单击出n个图表相同的方块,也就是说,如果用户已经用鼠标连续单击出p(p<n)个图标相同的方块,当再单击另一个方块时,如果该方块的图标和上一个的相同,那么该方块的图标和前p次单击出的方块的图标仍然可见;否则前p次单击出来的方块的图标全都变得不可见,只有当前单击的方块的图标可现。 5、测试区能显示用户的同时,并根据级别的不同,提示用户必须用鼠标连续单击出多个图标相同的方块。 6、测试区有提示图标所在位置的功能。用户单击测试区中的“提示”按钮后,测试区将持续秒为用户显示全部方块上的图标。用户没单击一次“提示”按钮,用户的勇士将增加10秒。 7、连续
4、单击出级别所要求的若干个相同的方块后,将弹出保存成绩对话框,用户可以通过该对话框选择是否将自己的成绩保存到成绩表中。 8、单击“选择图标”菜单可重新选择方块图标样式,既可以重新选择m个图标。三、原始资料1.面向对象程序设计课程设计指导书2. 耿祥义JAVA大学实用教程北京:清华大学出版社,2009四、要求的设计(调查/论文)成果五、进程安排布置任务,查找资料、需求分析1天总体设计1天详细设计编制源程序实现测试与修改1天撰写课设报告2天六、主要参考资料1 张广彬. Java课程设计案例精编(第二版).北京:清华大学出版社, 2011. 2 耿祥义. Java课程设计(第二版).北京:清华大学出版
5、社, 2008.3 耿祥义JAVA大学实用教程北京:清华大学出版社,20094 邹林达陈国君 Java2程序设计基础北京:清华大学出版社,20105 邹林达Java2程序设计基础实验指导北京:清华大学,2010指导教师(签名): 20 年 月 日目 录1需求与总体设计11 功能结构图1 UML类图12 MemoryGame主类2 MemoryTestArea类2 Block类2 Record类3 ShowRecordDialog类3 People类32详细设计页码××××××××页码××
6、5;×××××页码3编码实现页码 3.1 MemoryGame主类4 MemoryTestArea类7 Block类12 Record类13 ShowRecordDialog类15 People类164系统测试页码总结页码1需求与总体设计功能结构图记忆测试系统的功能结构图如图1.1所示。图1.1 功能结构图 UML类图记忆测试系统除了上述6个Java类外,还需要Java系统提供的一些重要的类。记忆测试系统所用到的一些重要的类以及之间的组合关系如图1.2所示。图1.2 类之间的组合关系 MemoryGame主类类负责创建记忆测试系统的主窗口,该类
7、含有main方法,记忆测试系统从该类开始执行。MemoryGame类有四种重要类型的对象,分别是String、File、MemoryTestArea和ShowRecordDialog对象。 MemoryTestArea类MemoryTestArea类是主类MemoryGame窗口中的一个JPanel容器,所创见的对象称为“测试区”,这个“测试区”别添加到MemoryGame窗口的中心。MemoryTestArea类主要有6种类型的成员:ArrayList<Block>、String、Record、Timer、File和Thread对象。 Block类Block类是Jbubtton的
8、子类,负责为MemoryTestArea类中的ArrayList<Block>数组表提供Block对象。 Record类Record类是包中Jdialog对话框的子类,当用户成功单击出相应级别所要求的图表相同的方块后,Record创建的对象负责保存用户的名字和成绩到相应的级别文件中。 ShowRecordDialog类ShowRecordDialog类是包中JDialog对话框的子类,当用户单击“查看排行榜”时,ShowRecordDialog创建的对象显示用户的成绩。 People类People对象封装用户的名字和成绩,以便ShowRecordDialog对象可以按成绩的高低排序
9、用户。2详细设计操作界面设计:编译运行,选择级别,图标游戏开始,如果用户不清楚相同图标的位置时,点击提示。界面方案:窗口大小:setBounds(100,100,400,360);setVisible(true);字体的大小和颜色:hinMessage.setFont(new Font(“宋体”,18);布局控制:又上到下,先是菜单:选择级别,查看排行榜,选择图标;提示信息:hintMessage.setText(“您需要用鼠标单击出” +col+“个同样图标的方块” );图标随机排布,有M×N个方块随机分布,下面是一记录用户时间以及提示按钮,提示用户相同图标的位置。程序流程图如图2
10、.3所示: MemoryGame主类MemoryGame创建窗口如图所示图1.3 MemoryGame创建窗口MemoryGame主类与其他类间的交互关系如图1.4所示:图1.4 MemoryGame主类与其他类间交互关系 MemoryTestArea类MemoryTestArea创建的测试区如图所示图1.3 MemoryTestArea创建的测试区MemoryTestArea类与其他类间的交互关系如图1.6所示:图1.6 MemoryTestArea类与其他类间交互关系 Block类Block类创建的按钮如图所示 ( a ) 图标不可见时的方块 ( b ) 图标可见时的方块图1.7 Bloc
11、k创建的按钮Block类与其他类间的交互关系如图1.8所示:图1.8 Block类与其他类间交互关系 ShowRecordDialog类ShowRecordDialog类与其他类间的交互关系如图1.10所示:图1.10 ShowRecordDialog类与其他类间交互关系 People类People类对象中的数据使用户的姓名和成绩,被显示在ShowRecordDialog对话框中shoeArea的文本区中,如图所示图1.11 People类在排行榜中的数据People类与其他类间的交互关系如图1.12所示:图1.12 People类与其他类间交互关系 Record类Record类创建的保存成绩
12、对话框,如图所示图1.11 Record类创建的保存成绩对话框Record类与其他类间的交互关系如图1.14所示:图1.14 People类与其他类间交互关系3编码实现3.1 MemoryGame主类代码:public class MemoryGame extends JFrame implements ActionListenerpublic static void main(String args)new MemoryGame();/声明bar菜单条JMenuBar bar;/声明bar创建的三个菜单对象JMenu menuGrade,menuResult,menuIcon; /声明菜单”
13、选择级别“的三个菜单项对象JMenuItem oneGradeItem,twoGradeItem,threeGradeItem;/声明菜单”查看排行榜“的三个菜单项对象JMenuItem oneGradeResult,twoGradeResult,threeGradeResult;/声明菜单”选择图标“的两个菜单项对象JMenuItem carImageIcon,animalImageIcon;/声明文件对象File fileOneGrade,fileTwoGrade,fileThreeGrade,gradeFile;/声明图像文件的名字String imageName;/声明测试区对象Mem
14、oryTestArea memoryArea;/创建显示成绩的对话框ShowRecordDialog showDiolag=null;/初始测试区中方块的数量、图片int m=5,n=6; final int imageNumber=7; /构造方法,为了初始化“记忆测试系统”窗口MemoryGame()/创建三个文件对象fileOneGrade=new File("初级记忆排行榜.txt");fileTwoGrade=new File("中级记忆排行榜.txt");fileThreeGrade=new File("高级记忆排行榜.txt&qu
15、ot;);/创建建菜单条对象bar=new JMenuBar();/创建第一个菜单对象menuGrade=new JMenu("选择级别");/创建三个菜单项对象 oneGradeItem=new JMenuItem("初级"); twoGradeItem=new JMenuItem("中级"); threeGradeItem=new JMenuItem("高级"); menuGrade.add(oneGradeItem);/向“选择级别”菜单中增加“初级”选项 menuGrade.add(twoGradeItem
16、);/向“选择级别”菜单中增加“中级”选项 menuGrade.add(threeGradeItem);/向“选择级别”菜单中增加“高级”选项 /创建第二个菜单对象 menuResult=new JMenu("查看排行榜"); /创建三个菜单项对象 oneGradeResult=new JMenuItem("初级排行榜"); twoGradeResult=new JMenuItem("中级排行榜"); threeGradeResult=new JMenuItem("高级排行榜"); menuResult.add(o
17、neGradeResult);/向“查看排行榜”菜单中增加“初级排行榜”选项(twoGradeResult);/向“查看排行榜”菜单中增加“中级级排行榜”选项 menuResult.add(threeGradeResult);/向“查看排行榜”菜单中增加“高级排行榜”选项 /创建第三个菜单对象 menuIcon=new JMenu("选择图标"); /创建2个菜单项对象 carImageIcon=new JMenuItem("汽车图标"); animalImageIcon=new JMenuItem("动物图标"); menuIcon
18、.add(carImageIcon);/向“选择图标”菜单中增加“汽车图标”选项 menuIcon.add(animalImageIcon);/向“选择图标”菜单中增加“动物图标”选项 bar.add(menuGrade);/向菜单条中增加“选择级别”菜单 bar.add(menuResult);/向菜单条中增加“查看排行榜”菜单 bar.add(menuIcon);/向菜单条中增加“选择图标”菜单 setJMenuBar(bar);/创建bar菜单条 setBounds(100,100,400,360);/设置出现在屏幕上时的初始位置(100,100)和大小 setVisible(true)
19、;/设置窗口可见 oneGradeItem.addActionListener(this);/菜单”初级“项注册监视器nListener(this);/菜单”中级“项注册监视器 threeGradeItem.addActionListener(this);/菜单”高级“项注册监视器 oneGradeResult.addActionListener(this);/菜单”初级排行榜“项注册监视器 twoGradeResult.addActionListener(this);/菜单”中级级排行榜“项注册监视器onListener(this);/菜单”高级排行榜“项注册监视器 animalImageI
20、con.addActionListener(this);/菜单”动物图标“项注册监视器 carImageIcon.addActionListener(this);/菜单”汽车图标“项注册监视器 /当”“文件不存在时,创建该文件 if(!fileOneGrade.exists() try fileOneGrade.createNewFile();/以免发生异常 catch(IOException exp) /当”“文件不存在时,创建该文件 if(!fileTwoGrade.exists() try fileTwoGrade.createNewFile();/以免发生异常 catch(IOExce
21、ption exp) /当”“文件不存在时,创建该文件 if(!fileThreeGrade.exists() try fileThreeGrade.createNewFile();/以免发生异常 catch(IOException exp) /创建测试区对象 memoryArea=new MemoryTestArea(); /初始化图片的数量 imageName=new StringimageNumber; /将图片名字保存到imageName数组中 for(int i=0;i<imageName.length;i+) imageNamei=new String("car&q
22、uot;+i+".jpg"); m=5; n=6; gradeFile=fileOneGrade; /调用类MemoryTestArea的initBlock方法初始化图标 memoryArea.initBlock(m,n,imageName,gradeFile); /将组件memoryArea增加到中间区域 add(memoryArea,BorderLayout.CENTER); /显示成绩对话框 showDiolag=new ShowRecordDialog(); /添加组件memoryArea后,让容器调用validate()方法,保证容器中的组件能正常显示 valid
23、ate(); /设置“关闭程序后,结束窗体所在的应用程序” setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /该方法是接口ActionListener的方法,触发ActionEvent事件,用来执行菜单项发出的有关命令public void actionPerformed(ActionEvent event)if(event.getSource()=oneGradeItem)/用户从菜单条点击菜单“选择级别”中的菜单项“初级”,触发事件 m=5;/初始化行数 n=6;/初始化列数 gradeFile=fileOneGrade;/将“”文件赋给gr
24、adeFile /调用initBlock()方法创建和设置图标 memoryArea.initBlock(m,n,imageName,gradeFile); if(event.getSource()=twoGradeItem) /用户从菜单条点击菜单“选择级别”中的菜单项“中级”,触发事件 m=6;/初始化行数 n=7;/初始化列数 gradeFile=fileTwoGrade;/将“”文件赋给gradeFile /调用initBlock()方法创建和设置图标 memoryArea.initBlock(m,n,imageName,gradeFile); if(event.getSource()
25、=threeGradeItem)/用户从菜单条点击菜单“选择级别”中的菜单项“高级”,触发事件 m=7;/初始化行数 n=8;/初始化列数 gradeFile=fileThreeGrade;/将“”文件赋给gradeFile /调用initBlock()方法创建和设置图标 memoryArea.initBlock(m,n,imageName,gradeFile); ()=carImageIcon)/用户从菜单条点击菜单“选择图标”中的菜单项“汽车图标”,触发事件for(int i=0;i<imageName.length;i+)imageNamei=new String("ca
26、r"+i+".jpg"); /调用方法把存放图像文件名字的imageName数组的引用传递给imageFileName memoryArea.setImageName(imageName);/调用initBlock()方法创建和设置imageName数组图标memoryArea.initBlock(m,n,imageName,gradeFile);if(event.getSource()=animalImageIcon)/用户从菜单条点击菜单“选择图标”中的菜单项“动物图标”,触发事件for(int i=0;i<imageName.length;i+)ima
27、geNamei=new String("ani"+i+".jpg"); /调用方法把存放图像文件名字的imageName数组的引用传递给imageFileNamememoryArea.setImageName(imageName);/调用initBlock()方法创建和设置imageName数组图标 memoryArea.initBlock(m,n,imageName,gradeFile); if(event.getSource()=oneGradeResult)/用户从菜单条点击菜单“查看排行榜”中的菜单项“初级记忆排行榜”,触发事件showDiola
28、g.setGradeFile(fileOneGrade);/调用setGradeFile()方法将级别文件传递给gradeFile/对话框调用showRecord()方法读取gradeFile文件中的成绩,按高低顺序显示在showArea文本区 showDiolag.showRecord(); /设置文本框可见 showDiolag.setVisible(true); if(event.getSource()=twoGradeResult)/用户从菜单条点击菜单“查看排行榜”中的菜单项“中级记忆排行榜”,触发事件 showDiolag.setGradeFile(fileTwoGrade);/调
29、用setGradeFile()方法将级别文件传递给gradeFile /对话框调用showRecord()方法读取gradeFile文件中的成绩,按高低顺序显示在showArea文本区 showDiolag.showRecord(); /设置文本框可见 showDiolag.setVisible(true); if(event.getSource()=threeGradeResult) /用户从菜单条点击菜单“查看排行榜”中的菜单项“高级记忆排行榜”,触发事件 showDiolag.setGradeFile(fileThreeGrade);/调用setGradeFile()方法将级别文件传递给
30、gradeFile /对话框调用showRecord()方法读取gradeFile文件中的成绩,按高低顺序显示在showArea文本区 showDiolag.showRecord(); /对话框调用showRecord()方法读取gradeFile文件中的成绩,按高低顺序显示在showArea文本区 showDiolag.setVisible(true); 3.2 MemoryTestArea类代码:class MemoryTestArea extends JPanel implements ActionListener,Runnable /确定测试区中方块的数量row,colint row,
31、col;/用户的用时,单位是秒int usedTime=0;/用户找到的具有同样的图标的方块的个数int success=0;/级别文件File gradeFile;/数组表allBlockList的每个单元存放着一个Block对象ArrayList<Block>allBlockList;/字符串数组imageFileName中的每个单元是一幅图像文件的文字String imageFileName;/链表openIconList用来存放用户找到的图标相同的方块上的图标LinkedList<ImageIcon>openIconList;/链表openBlockList用来
32、存放用户找到的图标相同的方块LinkedList<Block>openBlockList;/用Thread类声明的线程对象Thread hintThead;/hintButton是注册了ActionEvent事件的监听器,当单击它时,启动hintThread线程。JButton hintButton;/文本框组件:显示用户同时(usedTime的值),显示要寻找的方块数JTextField showUsedTime,hintMessage;/计时器,负责改变usedTime的值javax.swing.Timer timer;/声明”保存成绩“对话框对象Record record;/
33、声明“中心”和“南”容器对象JPanel center,south;/构造方法,构造测试区MemoryTestArea()/使用BorderLayout布局setLayout(new BorderLayout();/创建数组表allBlockList对象allBlockList=new ArrayList<Block>();/创建链表openIconList对象openIconList=new LinkedList<ImageIcon>();/创建字符串数组imageFileName对象openBlockList=new LinkedList<Block>(
34、);/创建hintThead对象hintThead=new Thread(this);/创建显示要寻找的方块数hintMessage对象hintMessage=new JTextField();/组件的”对齐方式“为“中间对齐”TER);/组件的“可编辑性'为“不可编辑”hintMessage.setEditable(false);/设置组件的字体hintMessage.setFont(new Font("宋体",Font.BOLD,18);/创建”中心“对象center=new JPanel();/创建”南“对象south=new JPanel();/创建”提示“
35、按钮对象hintButton=new JButton("提示");/给”提示“按钮注册监听器hintButton.addActionListener(this);/创建文本框对象,可以输入8个字符showUsedTime=new JTextField(8);/组件的“可编辑性'为“不可编辑”showUsedTime.setEditable(false);/组件”对齐方式“为”中间对齐“showUsedTime.setHorizontalAlignment(JTextField.CENTER);/在容器的南增加标签”用时“south.add(new JLabel(&q
36、uot;用时:") ;/在容器的南增加文本框”显示用户用时“south.add(showUsedTime);/在容器的“南”增加标签”提示图标位置(导致用时增加):“south.add(new JLabel("提示图标位置(导致用时增加):");/在容器的南增加按钮”提示“south.add(hintButton);/将组件”南“增加到南边区域add(south,BorderLayout.SOUTH);/将组件“hintMessage文本框”增加到北边区域add(hintMessage,BorderLayout.NORTH);/每隔1000毫秒监视器给计时器计时一
37、次timer=new javax.swing.Timer(1000,this);/新建”保存成绩“对话框对象,默认对话框不可见record=new Record(); public void initBlock(int m,int n,String name,File f)/传递参数给rowrow=m;/传递参数给colcol=n;/传递参数给gradeFilegradeFile=f;/去掉容器中的组件center.removeAll();/传递参数给imageFileNameimageFileName=name;/定义图标ImageIcon icon=new ImageIconimageFi
38、leName.length;/载入图片for(int i=0;i<icon.length;i+)iconi=new ImageIcon(imageFileNamei); if(allBlockList.isEmpty()/判断数组表allBlockList的每个单元是否有一个Block对象for(int i=0;i<row*col;i+)/给数组表allBlockList的每个单元中增加一个Block对象allBlockList.add(new Block();else/清空数组表allBlockListallBlockList.clear();/重新给数组表allBlockLis
39、t的每个单元中增加一个Block对象for(int i=0;i<row*col;i+)allBlockList.add(new Block();for(int i=0;i<allBlockList.size();i+)/让数组表allBlockList的每个单元注册监视器allBlockList.get(i).addActionListener(this);/获得每个单元上面的图标allBlockList.get(i).setOpenStateIcon(iconi%row); Collections.shuffle(allBlockList);/随机排列数组表allBlockLis
40、t的每个单元/将组件“center”设置为行为“row”,列为“col”的GridLayout布局center.setLayout(new GridLayout(row,col);for(int i=0;i<allBlockList.size();i+)/将数组表allBlockList中的每个单元添加到“center”组件中center.add(allBlockList.get(i);/将组件“center”添加到BorderLayout的中心区域add(center,BorderLayout.CENTER);if(timer.isRunning()/如果计时器在运行timer.sto
41、p();/让计时器停止/在组件“hintMessage文本框”添加文本"您需要用鼠标单击出+col+个同样图标的方块"hintMessage.setText("您需要用鼠标单击出"+col+"个同样图标的方块");/用户用时初始化为0usedTime=0;/显示用户同时(usedTime的值)初始化为空showUsedTime.setText(null);/添加组件“center”后,让容器调用validate()方法,保证容器中的组件能正常显示validate(); /当用户单击MemoryGame主类窗口的cartImageIco
42、n和animalImageIcon菜单项时/将MemoryGame中存放图像文件名字的imageName数组的引用传递给imageFileNamepublic void setImageName(String name)imageFileName=name;public void actionPerformed(ActionEvent e)/如果事件源是Block类的实例if(e.getSource() instanceof Block)/如果事件源是Block类的按钮if(!timer.isRunning()/如果计时器没工作timer.start();/启动计时器Block block=(
43、Block)e.getSource();/从事件e中取出源block对象ImageIcon openStateIcon=block.getOpenStateIcon();/从Block对象block中取出打开的状态图标block.setIcon(openStateIcon);/设定block的当前图标为上面取出来的状态图标if(openIconList.size()=0) /如果打开图标列表为空openIconList.add(openStateIcon);/将刚才的图标加入打开图标列表openBlockList.add(block);/将激发事件的对象追加到打开的块列表success=1;/
44、用户找到的具有同样的图标的方块的个数置1 else/如果打开图标列表为不为空ImageIcon temp=openIconList.getLast();/用户当前打开的图片图标/判断用户当前打开的图片图标和已经打开的图标是否相同if(temp=openStateIcon&&!(openBlockList.contains(block)/用户找到的具有同样的图标的方块的个数加1success=success+1;/将打开状态下的图标添加到打开图标列表openIconList.add(openStateIcon);openBlockList.add(block);/判断用户找到的具
45、有同样的图标的方块的个数是否等于列数if(success=col)/测试结束 for(int i=0;i<allBlockList.size();i+)/让数组表allBlockList的每个单元的Block对象变灰(不可点击)allBlockList.get(i).setEnabled(false);for(int j=0;j<openBlockList.size();j+)Block b=openBlockList.get(j);/让openBlockList的每个单元的Block对象变灰(不可点击)b.setDisabledIcon(b.getOpenStateIcon();
46、/让计时器停止timer.stop();/将用户用时传递给Record对话框record.setTime(usedTime);/将级别文件gradeFile传递给Record对话框 record.setGradeFile(gradeFile);/让Record对话框可见record.setVisible(true); /用户当前打开的图片图标和已经打开的图标不相同else if(temp!=openStateIcon)&&(!(openBlockList.contains(block)/清空链表openIconList用来存放用户找到的图标相同的方块上的图标openIconLi
47、st.clear();/清空链表openBlockList用来存放用户找到的图标相同的方块openBlockList.clear();/将用户点击的图标添加到链表openIconListopenIconList.add(openStateIcon);/将用户点击的图标添加到链表openBlockListopenBlockList.add(block);/用户找到的具有同样的图标的方块的个数置1success=1;/遍历所有测试区图标for(int i=0;i<allBlockList.size();i+)/判断测试区的每一个图标是否没有if(allBlockList.get(i)!=block)/设置图标为空allBlockList.get(i).setIcon(null); /如果事件源是按钮hintButton(“提示”)if(e.getSource()=hintButton)/判断线程hintThead没运行if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年中国典当行业发展趋势及投资商业创新模式分析报告
- 2024年合作意向书面合同
- 2024年地质遗迹保护定向钻井技术合作协议
- 2024年专用建筑泥工作业合同
- 2024年工程承包与施工监理合同
- 2023年西安景泓高级中学招聘考试真题
- 2024年工厂防火防爆设施施工合同
- 2023年柳州市柳江区三都镇招聘考试真题
- 2024年居民借贷合同规范
- 2024年商业物业租赁与经营管理合同
- 建筑施工单位三级教育培训表格
- 高中历史学习方法指导课件
- 音乐秋天多么美-课件完整版
- 德语语音课件
- 物业管理组织机构框架图
- 复合材料 第八章 先进复合材料课件
- 《素描与色彩》课程标准(中职)
- 六年级美术上册第13课生活与科幻课件1浙美版
- 暮光之城 英文介绍
- 限度样品一览表
- 人教版七年级上册生物312种子植物说课课件(共22张)
评论
0/150
提交评论