动物换位程序报告v2

合集下载

动物换位游戏JAVA课设

动物换位游戏JAVA课设
5.类详细设计(画 UML 图)....................................6 6.关键类成员函数流程图及代码.........................7
6.1 总体流程图 .............................................7 6.2 程序代码...............................................8
2.设计要求
设计 GUI 界面的动物换位游戏,游戏的结果是让左右两组动物交换位置。具体内容如下: 程序分为 4 个级别,用户可以通过界面上提供的菜单选择“初级”、“中级”、“高级”、“自定义” 这 4 个级别。对于“初级”级别,在水平排列的 7 块石头上的左右各有 3 个类型相同的动物,中间 的石头上没有动物;对于“中级”级别,在水平排列的 9 块石头上的左右各有 4 个类型相同的动物, 中间的石头上没有动物;对于“高级”级别,在水平排列的 11 块石头上的左右各有 5 个类型相同的 动物,中间的石头上没有动物;对于“自定义”级别,用户可以输入自己想设置的一个动物数量(输 入的数必须是偶数),在水平排列的 N 块石头上的左右各有(N-1)/2 个类型相同的动物,中间的石头 上没有动物。
5.类详细设计(画 UML 图)
ChangeAnimalWindow 类是 javax.swing 包中的 JFrame 的一个子类,并实现了 ActionListener 接口,标明该类的主要成员变量和方法的 UML 图如图 5-1 所示。
以下是 UML 图中有关数据和方法的详细说明:
图 5-1 ChangeAnimaБайду номын сангаасWindow 类的 UML 图
工作计划与进度安排: 第 18 周:布置课程设计任务,查阅资料,分组设计,程序调试。 第 19 周:程序调试,编写课程设计报告,验收,答辩。

动物DNA检测报告模板

动物DNA检测报告模板

动物DNA检测报告模板
I. 检测项目
本次检测项目包括以下内容:
•鉴定动物品种:通过比对被检测样本与数据库中的动物品种信息,分析该样本属于哪个品种。

•亲子鉴定:通过比对父母和子代的基因型,判断父母与子代之间的亲缘关系。

•基因突变检测:通过检测样本中与正常基因型不一致的基因类型,判断是否存在基因突变现象。

II. 检测结果
1. 鉴定动物品种
该样本经过与数据库中的动物品种信息比对后,鉴定为柴犬。

2. 亲子鉴定
该亲子鉴定共涉及三条DNA片段,结果如下表所示:
DNA片段父亲基因型母亲基因型子代基因型
D1S413 15/15 15/17 15/15
D2S1338 16/18 16/18 16/18
D3S1358 14/16 14/15 14/15
根据结果显示,该样本经过亲子鉴定确认为柴犬的父子关系。

3. 基因突变检测
该样本共检测10个位点的基因型,其中发现如下异常结果:
•位点X8:检测到该位点存在单倍体突变。

•位点Y12:检测到该位点存在三倍体突变。

•位点Z3:检测到该位点存在二倍体突变。

III. 结论及建议
综合以上结果,本次检测确认该样本为柴犬,并与该样本的父亲确定了父子关系。

同时,检测中发现该样本存在3个位点的基因型异常,分别涉及单倍体、三倍体和二倍体突变。

基于以上情况,我们建议该样本所有的后代都进行基因突变检测,以便更好地了解该行系的基因缺陷,从而更好地决定该行系是否应该被保留或淘汰。

同时,对于携带基因突变的动物,应该进行相应的卫生管理,以避免基因突变现象的进一步扩散。

动物遗传性实验报告单

动物遗传性实验报告单

动物遗传性实验报告单动物遗传性实验报告单实验目的:观察和研究动物的遗传性状,了解遗传规律和遗传变异的原因。

实验原理:遗传物质DNA携带着个体遗传性状的信息,通过基因的组合和表达,决定了个体的遗传特征。

本实验将通过交叉配对、观察后代的表型来推测动物的遗传规律。

实验材料:1. 两对黑色属兔(雌性和雄性各一对)2. 两对白色属兔(雌性和雄性各一对)实验步骤:1. 首先,将黑色属兔的雌性与白色属兔的雄性进行交叉配对,观察后代的表型。

2. 然后,将黑色属兔的雌性与白色属兔的雄性进行交叉配对,再观察后代的表型。

3. 最后,对比两次交叉配对的结果,分析遗传规律和遗传变异的原因。

实验结果:第一次交叉配对结果:- 1/4的后代为黑色- 3/4的后代为灰色第二次交叉配对结果:- 1/2的后代为黑色- 1/2的后代为白色实验分析:从实验结果可以得出以下结论:- 黑色属兔的基因为隐性基因,需两个基因都为黑色才能表现为黑色;- 白色属兔的基因为显性基因,只需一个基因为白色即可表现为白色;- 灰色属兔的基因为杂合子,即一个黑色基因和一个白色基因;- 在第一次交叉配对中,两个灰色属兔杂交产生的黑色属兔的百分比为1/4,即两个灰色杂合子交配形成的黑色属兔;- 在第二次交叉配对中,黑色属兔和白色属兔的交配产生的黑色属兔的百分比为1/2,即一个黑色属兔和一个白色杂合子交配形成的黑色属兔。

结论:根据实验结果,我们可以得出如下结论:- 属兔的黑色基因为隐性基因,白色基因为显性基因;- 具有两个黑色基因的属兔表现为黑色,具有两个白色基因的属兔表现为白色,具有一个黑色基因和一个白色基因的属兔表现为灰色;- 黑色基因和白色基因的遗传规律符合孟德尔的分离定律。

实验总结:通过这次实验,我们深入了解了动物的遗传规律和遗传变异的原因。

同时,也加深了我们对遗传学的理解。

遗传规律的研究对于我们了解生态系统的演化、决定物种多样性和遗传多样性等都具有重要意义,为进一步的生命科学研究提供了重要线索。

动物实验具体流程

动物实验具体流程

动物实验具体流程1.【问题】动物实验具体流程【答案】动物实验具体流程整理如下,供大家学习参考。

动物实验是科学研究中常用的一种手段,通过对动物进行实验,可以获得很多有价值的科学信息。

然而,动物实验涉及到伦理道德和动物福利的问题,因此在进行动物实验时需要遵循一定的流程和规范,以确保实验的科学性和伦理性。

一、确定实验目的和设计实验方案在进行动物实验之前,首先需要明确实验的目的和研究问题。

然后,根据实验目的和问题,设计合理的实验方案,包括实验组和对照组的设定、样本大小的确定、实验的时间安排等。

二、申请和获取伦理道德审批动物实验涉及到动物福利和伦理道德的问题,因此在进行实验之前,研究人员需要向相关机构或委员会提交伦理道德审批申请。

该申请需要包括实验目的、实验方案、动物使用的合理性等内容,并经过审批机构的评估和决策。

三、动物选取和预实验准备根据实验方案的要求,选择适合的动物种类和数量,并根据实验要求对动物进行预实验准备工作。

这包括动物饲养环境的搭建、动物的适应训练、动物身体状况的检查等。

四、实施实验进行实验前,需要确保实验环境的卫生和安全。

实验过程中,严格按照实验方案进行操作,记录实验数据。

同时,注意动物的健康和福利,避免对动物造成不必要的伤害和痛苦。

五、实验数据的收集和分析在实验过程中,及时收集实验数据,并进行统计和分析。

根据实验结果,对实验方案进行评估和修正。

六、实验结果的解读和讨论根据实验数据的分析结果,进行实验结果的解读和讨论。

分析实验结果的优点和不足,探讨可能存在的误差和偏差,并提出进一步的研究方向和改进措施。

七、实验报告和学术交流根据实验结果,撰写实验报告,并提交给相关科研机构或期刊进行评审和发表。

同时,还可以通过学术会议、学术讲座等形式,与同行学者进行学术交流和分享实验经验。

八、动物实验的伦理道德和动物福利评估动物实验结束后,需要对实验过程和结果进行伦理道德和动物福利的评估。

评估结果可以用来改进实验方案和操作规范,以提高动物实验的科学性和伦理性。

一株犬细小病毒的分离及VP2基因序列分析

一株犬细小病毒的分离及VP2基因序列分析

种优 势 , 尽管不 如育肥性 能 明显 。商品 肉兔 半净膛 率和 全净膛率分别 为5 . I 34 56 ] . % ̄ 5 %,后腿 比例 高达 3 . 91 %,显
示 出较 高 的产 肉 能 力 。 在 肉品 质 方 面 ,I 和 商 品 代 的 熟 I 系 肉率 高 于I , 说 明 保 水 性好 ;剪 切力 值 较 小 , 肉较 嫩 。 系
;^:J:

^:J: :J 1
57 。I I 交 商 品 兔 在 产 肉性 能 上 也 有 一 定 程 度 的 杂 . % XI杂
装 的加 工。而皮 板品质指标的变异系数均在 l%以下 ,说 O 明不 同皮张质量 的一致性较高 。
表3 商品 兔皮 板质 量评 定结 果 (m、分 ) c

21 年第 1 ( 01 期 总第 18 ) 6期
毒 ,定名为B Y2 0 。对其VP 基因进行 了扩增测序 ,初 J 06 2
步 确 定 为2 亚 型 。 对 该 病 毒 的遗 传 特 性 与 演 化 进 行 了研 a
显 的细 胞病 变 ,病 变发 生 在接 种后 5h,表现 为细 胞 圆 0

3 2

株 犬细 小病毒 的分离及V 2 因序 列分析 P基
杨龙峰① 李英 杰① 艾萍萍① 肖胜 南① 韩 柳② 焦万亮① 王建芬① 张延光① 刘月焕
( 北京 市延 庆县 农业局 120 ② 北 京诚安 动物 医院 ① 0 10
摘要
⑧ 北京 市农 林科 学 院畜牧 兽 医研 究所 )
中图分类号 :¥ 5 . 8 2 55 6
17 年 ,犬 细小 病毒(a ie pro i s P 同 时从 98 cnn av vr , v) uc 加拿大( hmsn 、澳 大利亚( l ) T o o 等) Key 患肠炎 的病犬 中分 l 离获得【。C V可 引起 犬的出血性肠 胃炎和心肌 炎,并使 ‘ P 】 白细胞 大量减 少 ,在 幼犬 中的发病 率和死 亡率 都很高 , 症 状 与猫 泛 白细 胞 减少 症 相似 。本 病 虽 出现 的时 间不

调查规程修改稿-2动物改

调查规程修改稿-2动物改
湿地资源调查技术方法
——野生动物调查
内蒙古自治区林业监测规院
陈蓉伯
2015年6月
动物分类的基本阶元



界 Kingdom 门 Phylum 纲 Class 目 Order 科 Family 属 Genus 种 Species 次级阶元:亚(门),总(纲),族
主要调查物种的分类地位





样线法

在我区东北地区、中部地区、草原地区对草食动物的调查 可使用样线法。
在调查区域随机布设样线,如遇山体则样线方向应横截山 体走向,并覆盖山体中上部。 样线间隔不少于2Km;样线长度以5-10Km为宜。 样线上行进的速度为每小时1-2公里。

Βιβλιοθήκη 发现动物实体或其痕迹时,记录动物名称、动物数量、痕 迹种类及距离中线距离、地理位置等信息。
调查时间应选择调查区域内的大多数种类的数 量保持相对稳定的时期; 1个调查基本单元能够在较短时间(1天)内完 成。


调查季节

水鸟调查主要为繁殖季。繁殖季一般为每年的4-6 月。 迁徙鸟类调查主要在春、秋鸟类迁徙季节进行。 兽类调查以冬季调查为主,春夏季调查为辅,尽量 与鸟类调查同时进行。 两栖和爬行类调查时间为夏季和秋季入蛰前。


鱼类等调查以收集现有资料为主。
野外计数

记录对象:以实体记录为主,在繁殖季节还可 记录鸟巢数,再转换成种群数量(繁殖期被鸟 类利用的每一鸟巢应视为一对鸟;鸟类孵化期 观察的一只成体鸟应视为一对鸟)。 鸟鸣记录: 白枕鹤 班头雁 反嘴鹬 赤麻鸭
蓑羽鹤
野外计数

群体数量极大或群体处于运动状态时,可以5、 10、20、50、100等为计数单元来估计群体的 数量。

动物行为实验手册丨注意定势转移任...

动物行为实验手册丨注意定势转移任...

动物行为实验手册丨注意定势转移任...撰稿丨脑声常谈内容团队排版丨脑声常谈编辑团队实验介绍注意定势转移任务(attentional set-shifting task, AST)可用于特异性检测啮齿类动物前额叶皮层及其皮层下神经通路介导的认知灵活性, 是目前研究认知灵活性及其障碍神经基础的重要模型。

AST 测试的基本过程是训练动物在不同维度(如嗅觉、视觉、触觉等)的几对刺激中辨别与奖赏物相关联的正性刺激线索, 并建立与之相应的策略寻找奖赏物。

同时随着奖赏物和线索关系的转变调整已习得的策略或建立新的策略。

实验设计一般来说,注意力集转移任务包括五个鉴别阶段/条件:简单鉴别(SD)、复合鉴别(CD)、CD逆反学习(CDR)、内维度转换(IDS)和外维度转换(EDS)。

仪器设备ID/ED 任务室由两个室、一个测试区和一个等候区组成。

一个上下活动的启动门控制进入测试区域。

在丙烯酸隔板的帮助下,测试室进一步分为两个隔间。

测试区域中的每个腔室都包含一个陶瓷碗,可以装满挖掘介质和可从气味和介质套件中选择的气味剂。

等候区和测试区之间的分隔使测试区的准备工作变得容易。

每次试验都需要“重新开始”,将动物送回等候区。

一旦启动门被抬起,动物就可以进入测试区域。

测试方法▪准备阶段(第 1-8 天)1.在实验的前八天,主要是处理实验动物,从而减少在测试期间可能发生的任何相关压力。

注意:食物限制在这8 天阶段结束时开始。

2.每天测量并记录动物的体重。

您还必须使实验动物习惯于在陶瓷锅中挖掘,以获取食物奖励。

为了确保动物已将特定的挖掘介质与食物相关联,需确保实验动物找到食物八次而不会出现任何错误。

1.▪食物限制期(第 9-12 天)1.实验开始前四天,将两个陶瓷罐放入实验箱中,并将小食物颗粒放入陶瓷罐内,开始使实验动物逐渐习惯于以罐为食。

注意:每天给动物喂食1g食物。

动物的体重应该保持在处理前八天的80-85%。

如果其重量低于80%,则可以将分配的食物比例增加到 2g。

动物实验方案设计

动物实验方案设计

动物实验方案设计目录一、内容概述 (1)1.1 动物实验在科学研究中的重要性 (1)1.2 本次动物实验的目的与意义 (2)二、实验设计原则与伦理规范 (4)2.1 遵循国家相关法规和国际标准 (5)2.2 实验设计伦理原则和考虑因素 (6)三、实验动物选择与准备 (7)3.1 实验动物种类选择依据 (7)3.2 动物来源及质量要求 (8)3.3 动物年龄、性别和数量确定 (10)四、实验方案具体内容设计 (11)4.1 实验分组与模型建立 (12)4.2 实验操作流程及关键步骤说明 (13)4.3 数据采集与记录方式选择 (14)五、实验观测指标设定与评估方法 (16)一、内容概述实验目的和背景:明确实验的研究目的、研究问题和研究背景,为实验方案的设计提供理论依据。

实验方法:详细介绍实验所采用的方法和技术,包括实验材料、试剂、仪器设备等,以及实验操作的具体步骤。

实验对象的选择与保护:根据实验目的和研究问题,选择合适的实验动物种类,并对实验动物进行严格的筛选和饲养管理,确保动物的健康和福祉。

实验过程的监控:建立完善的实验过程监控体系,对实验过程中的关键参数、指标和数据进行实时监测和记录,确保实验的可重复性和可靠性。

伦理审查:遵循相关伦理准则和法规要求,对实验方案进行伦理审查,确保实验的合法性和道德性。

数据分析和结果报告:对实验数据进行严格的统计分析和处理,得出可靠的实验结论,并撰写详细的结果报告,以便其他研究人员参考和借鉴。

1.1 动物实验在科学研究中的重要性动物实验在科学研究中占有极其重要的地位,它是研究生物生命现象和机理的重要手段之一,尤其在生物医学、生态学、行为学等领域具有不可替代的作用。

动物实验为我们提供了直观、深入的生物学数据,帮助我们理解人类自身的生理机制、疾病发生发展机制以及药物作用机制等。

通过动物实验,科学家们可以模拟自然环境下的各种条件,观察并记录动物的行为反应、生理变化以及病理变化,从而验证理论假设,推动科学进步。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

包头师范学院基于动物换位的java程序数学科学学院第二小组2_0 刘慧杰(44) 2_3 王福芹(27)2_1 张嘉欣(23) 2_4 赵星芳(43)2_2 秦凯(50) 2_5 石慧(03)2015.06.27目录一:摘要 (3)二:关键字 (3)三:任务分配 (3)四:系统功能介绍 (4)2 游戏程序规则说明: (4)2 自定义改进 (5)3 排行榜改进 (6)五:UML图 (6)六:模块功能说明及模块流程图 (7)1 程序流程图 (7)2 模块功能说明 (8)1 ChangeAnimalWindow.java(主类) (8)2 Animal.java (8)3 Point.java (8)4 Stone.java (8)5 HandleMouse.java (8)6 AutoMoveAnimal.java (8)7 Customdlg.java (8)8 People.java (9)9 Record.java (9)10 ShowRecordDialog.java (9)七:系统改进部分说明 (9)1.Customdlg.java (9)2 People.java (11)3 Record.java (12)4 ShowRecordDialog.java (14)八:总结 (17)九:参考文献 (17)十:附件清单 (18)一:摘要本实践报告主要是基于Java语言的程序设计,在Netbean平台上设计的“动物换位”小游戏。

本游戏主要的实现内容为让左右两边相同数量的动物利用中间一个空的石头,左边的动物要全部跳到右边的石头上,右边的动物要全部跳到左边的石头上。

由于本程序先期任课教师提供了一些最初的原代码,故本报告主要介绍的是之后的改进部分内容。

主要改进的内容有:1.自定义等级的增加;2.各等级排行榜的增加;基于对于以上的改进,程序增加了Customdlg.java、People.java、Record.java、ShowRecordDialog.java类,实现了以上功能。

但是改进的程序仍然有许多不足,希望读者可以进一步指正。

二:关键字动物换位,自定义等级,排行榜三:任务分配2_0 刘慧杰:主类部分方法、游戏者类及显示类排行榜写入类的编辑;2_1 张嘉欣:主类窗口设计;2_2 秦凯:鼠标事件类,排行榜写入类的编辑;2_3 王福芹:自动演示类;2_4 赵星芳:石头和动物类和自定义等级类;2_5 石慧:位置类和自定义等级类。

具体代码分工详见:附件:2附件动物换位最终分工.doc四:系统功能介绍1 程序主页面图 4—2:程序启动主页面效果图图程序分为不同的级别,左右各有动物,中间石头没有动物,将左右动物交换,不可后退。

用鼠标单击一个动物,如果该动物前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有动物,但隔位上的石头没有动物,该动物就越过自己前面的动物跃到石头上,其他情形时,该动物不能跳跃。

不能持续玩的可以点自动演示,将自动完成游戏,可以帮助游戏者更好的了解游戏规则。

2 游戏程序规则说明:1 、通过界面可以选择“初级”、“中级”、“高级”、这3个级别。

“初级”级别,在水平排列的7块石头上的左右各有3个类型相同的动物,中间的石头上没有动物。

以后每增加一个级别,左右动物数量个增加一个。

2 、用鼠标单击一个的动物,如果该动物前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有动物,但隔位上的石头没有动物,该动物就越过自己前面的动物跃到石头上,其他情形时,该动物不能跳跃(即:跳跃时不能超过2块石头)。

3 、左面的动物只能向右方跳跃,右面的动物只能向左方跳跃。

4 、用户可以通过单击界面上提供的按钮,让程序自动完成动物换位。

5 、在自动演示过程中可以暂停,还可以继续。

6 、可以随时单击界面上提供的按钮,重新开始当前的级别。

7 、用户可以通过菜单选项,可以选择左、右动物的图像。

8 、可以显示用户完成游戏所用的时间。

9 、程序还设计了自定义等级,游戏者可以根据个人需要设定游戏中动物数量。

10 、程序还设计了排行榜功能,让游戏者可以将个人的记录存储到游戏中。

2 自定义改进图4-3:自定义菜单项效果图图4—4:自定义对话框效果图基于原有程序添加Customdlg类所创建的对象用来设置“自定义”级别的动物数量。

Customdlg类是基于Dialog类的子类,在Customdlg类中定义自定义对话框上标签设置、文本框设置、文本框传值等相关内容,具体代码见相关代码。

自定义项可以选择用户想要进入的动物个数如下图所示:图4—5:自定义运行效果图3 排行榜改进图4—6:英雄榜菜单项效果图注:图4—6主要介绍新添加的英雄榜在主窗口的菜单及菜单项。

图4—7:英雄榜用户名对话框图4—6:英雄榜排名效果图英雄榜对话框是使用ShowRecordDialog类、People类、Record类与ChangeAnimalWindow类相互联系实现英雄榜功能。

当用户选择窗口上的“英雄榜”菜单中的选项,该对话框可见,并显示相应级别文件中存储的成绩如图4—7所示。

五:UML图UML图及各类间关系详见手抄版UML图。

六:模块功能说明及模块流程图1 程序流程图开始 进入游戏界面是否选择级别进入所选级别等是否选择动物图像进入选择动物图像界面游戏开始是否相邻两个图片相同游戏终游戏结果重新开始自动演示是否保存撤销游输入游戏者信是否游戏成功 继续游游戏结束是否是 否 是否否否否是是是 是否图 6—1:系统功能流程图2 模块功能说明1 ChangeAnimalWindow.java(主类)ChangeAnimalWindow类负责创建动物换位的主窗口,该类含有main方法,程序从该类开始执行。

2 Animal.javaAnimal类是JPanel的一个子类,创建的对象是ChangeAnimalWindow类的重要成员之一,用来表示“动物”。

3 Point.javaPoint类负责创建确定位置的对象,使用Point对象,可以确定Animal以及Stone对象在窗体中的位置。

4 Stone.javaStone类是JButton的一个子类,创建的对象表示“石头”。

5 HandleMouse.javaHandleMouse类所创建的对象负责处理鼠标事件。

6 AutoMoveAnimal.javaAutoMoveAnimal类所创建的对象使用算法完成动物的自动换位。

7 Customdlg.javaCustomdlg类所创建的对象用来设置“自定义”级别的动物数量。

Customdlg是javax.swing包中JDialog的子类,并实现了ActionListener接口,该类创建的对象record是ChangeAnimalWindow类的成员之一。

当用户单击菜单中“自定义”级别按钮设置时,程序弹出Customdlg对话框,用户使用该对话框可以设置游戏的动物数量。

8 People.javaPeople对象封装用户的名字和成绩,以便ShowRecordDialog对象可以排序。

People对象中的数据由ShowRecordDialog对话框从gradeFile文件中读取的用户姓名和成绩所构成。

ShowRecordDialog对话框将People对象作为其treeSet树集上的节点,以便按着成绩高低排列People对象。

9 Record.javaRecord是javax.swing包中JDialog的子类,并实现了ActionListener接口,该类创建的对象record是HandleMouse类的成员之一。

当用户成功完成游戏时,程序弹出Record 对话框,用户使用该对话框提供的界面将成绩保存到相应的文件中。

10 ShowRecordDialog.javaShowRecordDialog类是javax.swing包中JDialog的子类,并实现了ActionListener接口,该类创建的对象showDialog是ChangeAnimalWindow窗口的成员之一。

当用户选择窗口上的“英雄榜”菜单中的选项,该对话框可见,并显示相应级别文件中存储的成绩。

七:系统改进部分说明1.Customdlg.javaimport java.awt.event.*;import java.awt.*;class Customdlg extends Dialog implements ActionListener{Label lbl;TextField text;int AmountOfAnimal=6;Customdlg(Frame f,String s,boolean b){super(f,s,b); //关键字,调用父类变量lbl=new Label("输入你想设定的动物图片数量:");text=new TextField(4);setLayout(new FlowLayout());//设置布局add(lbl);add(text);text.addActionListener(this);//注册监视器setBounds(100,100,400,70);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e)//设置自定义窗口不可见{setVisible(false);}});}public void actionPerformed(ActionEvent e){if(e.getSource()==text)//获取文本框内容{AmountOfAnimal=Integer.parseInt(text.getText());//将文本框内的内容传值给AmountOfAnimalsetVisible(false);}}public int getAmountOfAnimal(){return 2*AmountOfAnimal; //返回AmountOfAnimal的值}}2 People.javaimport java.io.*;public class People implements Serializable,Comparable{String name=null;int time=0;public People(String name,int t) //更新名字和时间{=name;time=t;}public int getTime() //返回时间{return time;}public String getName() //返回名字{return name;}public int compareTo(Object b) //时间比较{People p=(People)b;if((this.time-p.time)==0)return 1;elsereturn (this.time-p.time);}}3 Record.javaimport java.io.*;import java.util.*;import javax.swing.*;import java.awt.event.*;import java.awt.*;public class Record extends JDialog implements ActionListener {int time=0;JTextField yourName;JLabel label;JButton enter,cancel;File gradeFile=null;public Record(){setBounds(100,100,330,160);setResizable(false);setModal(true);setVisible(false);enter=new JButton("确定");cancel=new JButton("取消");yourName=new JTextField(8);yourName.setText("匿名");enter.addActionListener(this);cancel.addActionListener(this);setLayout(new GridLayout(2,1));label=new JLabel();add(label);JPanel p=new JPanel();p.add(yourName);p.add(enter);p.add(cancel);add(p);}public void setGradeFile(File f){gradeFile=f;setTitle("保存成绩到"+gradeFile.getName());label.setText("保存成绩到"+gradeFile.getName());validate();}public void setTime(int time) //更新时间{this.time=time;}public void actionPerformed(ActionEvent e) //接收操作事件的侦听器接口 {if(e.getSource()==enter) //确定{LinkedList<People> list=new LinkedList<People>();try{RandomAccessFile out=new RandomAccessFile(gradeFile,"rw");//文件如果不存在则创建out.seek(out.length());out.writeUTF(yourName.getText()); //名字写入out.writeInt(time); //时间写入out.close();}catch(Exception event) {}setVisible(false);}if(e.getSource()==cancel) //取消按钮{setVisible(false);}}}4 ShowRecordDialog.javaimport java.io.*;import java.util.*;import javax.swing.*;import java.awt.event.*;import java.awt.*;public class ShowRecordDialog extends JDialog implements ActionListener{File gradeFile;JButton clear;JTextArea showArea=null;TreeSet<People> treeSet;public ShowRecordDialog(){treeSet=new TreeSet<People>(); //数组showArea=new JTextArea(6,4);showArea.setFont(new Font("楷体",Font.BOLD,20));clear=new JButton("清空排行榜");clear.addActionListener(this);add(new JScrollPane(showArea),BorderLayout.CENTER);add(clear,BorderLayout.SOUTH);setBounds(100,100,320,185);setModal(true);addWindowListener(new WindowAdapter(){public void windwoClosing(WindowEvent e){ setVisible(false);}});}public void setGradeFile(File f) //获得名字{gradeFile=f;setTitle(f.getName());}public void showRecord() //显示记录{showArea.setText(null);treeSet.clear(); //清除try{RandomAccessFile in=new RandomAccessFile(gradeFile,"rw");long fileLength=in.length(); //存储取得记录的大小long readPosition=0; //偏移量while(readPosition<fileLength){String name=in.readUTF(); //从记录中读取两个字节以UTF-8编码 int time=in.readInt(); //从记录中读取四个字节以UTF-8编码readPosition=in.getFilePointer();People people=new People(name,time);treeSet.add(people);}in.close();Iterator<People> iter=treeSet.iterator();while(iter.hasNext())//迭代{People p=iter.next(); //下一个游戏者信息showArea.append(p.getName()+":所用时间(秒), "+p.getTime()); showArea.append("\n");}}catch(IOException exp){System.out.println(exp);}}public void actionPerformed(ActionEvent e){if(e.getSource()==clear)//清除{try{File f=gradeFile.getAbsoluteFile();//返回路径gradeFile.delete();//删除文件f.createNewFile();//新建文件showArea.setText("排行榜被清空");}catch(Exception ee){}}}}还有部分修改没有列举,如有需要请查看(附件3:动物换位改进代码.rar)。

相关文档
最新文档