龟兔赛跑程序设计报告全解

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

目录

前言 (1)

工程概况 (1)

2.1 项目所用的时间 (1)

2.2项目负责人 (1)

2.3 项目指导人 (1)

正文 (1)

3.1 设计的目的和意义 (1)

3.2 目标与总体方案 (2)

3.3 设计方法和内容 (2)

3.3.1开发环境 (2)

3.3.2设计方法 (2)

3.3.4设计体会 (8)

3.4 设计创新与关键技术 (8)

3.4.1 设计创新 (8)

3.4.2 关键技术 (9)

3.5结论 (9)

致谢 (9)

参考文献 (10)

附录 (11)

前言

在科技日新月异的今天,电脑成为人的生活中不可缺少的一部分。作为计算机专业的学生,应该充分利用所学知识,把实际问题转移到电脑上去,通过电脑的编程,使复杂问题简单化,深奥问题浅显化,抽象问题具体化。在学过《Java程序设计》语言后,我们对计算机有了更深的了解。Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。

本次课设我选择的是龟兔赛跑游戏的制作。这个游戏实际上主要是对我们JAVA学习中的线程部分的考察,尤其是多线程的定义,运行等。同时还要保证游戏有一个真实的操作界面和人性化操作设计。

在设计龟兔赛跑这个游戏中我也遇到了技术上的一些困难,但通过查阅资料,并且在老师的帮助下最终问题得以解决。正如龟兔赛跑这个故事一样,虽然我们在技术上不是很优秀,但只要有乌龟一样坚持不懈的精神,最终胜利到达终点。

工程概况

2.1 项目所用的时间

从这个项目开始到结束总共历时12天。完成于2015年6月19日。

2.2项目负责人

孙肖肖,女,计算机科学与技术17-4,学生。

2.3 项目指导人

高贤强,男,信息工程学院教师,讲师。

正文

3.1 设计的目的和意义

本设计要求学生开发一个龟兔赛跑游戏,主要是对学生多线程编程、游戏方案设计、游戏背景及动漫制作等能力进行培养锻炼,同时还要求保证游戏有一个真实的操作界面和人性化操作设计。此外,学生通过该题目的设计过程,可以初步应用软件系统的开发原理和开发方法,全面培养软件开发过程中的分析、

设计、编码、测试及文档规范书写的能力,得到软件工程的训练,提高解决实际问题的能力。

(1)有助于加深我们对Java程序设计这门课程的理解,我们在课堂上学的都是基础理论知识,对于如何用程序语言来描述所学知识还是有一定的难度。通过课程设计,我们可以真正理解其内涵。

(2)有利于我们逻辑思维的锻炼,程序设计能直接有效地训练学生的创新思维、培养分析问题、解决问题的能力。即使是一个简单的程序,依然需要学生有条不紊的构思。

(3)有利于培养严谨认真的学习态度,在程序设计的过程中,当我们输入程序代码的时候,如果不够认真细心,那么就可能导致语法错误,从而无法得出运行结果。那么,这个我们反复调试,反复修改的过程,其实也是对我们认真严谨治学的一个锻炼。

3.2 目标与总体方案

(1)用图形用户界面实现游戏界面,同时通过设置布局,背景,字体等来丰富界面,最大程度的模拟龟兔赛跑的场景。

(2)能设置比赛时间,龟兔的数量等等,实现对比赛中龟兔的数量,比赛时间等参数的设置。

(3)在任意时间段内龟兔的速度是随机的,为了模拟龟兔赛跑结果的不确定性,在游戏开始后乌龟和兔子的速度都是通过随机函数产生的,保证兔子比乌龟速度要快,兔子在赛跑途中看到乌龟落后下会偷懒睡觉的前提下给予乌龟,兔子以随机的速度,从而使得游戏的结果不确定,给用户更多的游戏的真实感。

(4)开始比赛之后以动画显示赛跑过程,用户进入游戏界面后,先选择游戏模式,然后单击开始按钮,乌龟和兔子将会以随机的速度开始朝终点线爬行,通过重复刷新技术达到动画效果,给用户更逼真的感官。

(5)系统的开发可以采用Java语言来实现;

(6)在基本要求达到后,可进行创新设计,如改善算法性能、友好的人机界面。

3.3 设计方法和内容

3.3.1开发环境

硬件环境:一台清华同方电脑,其配置为:CPU: Intel(R) Core(TM) i5-4570 3.2GHz 内存:4G 硬盘:500G 主板:4260LA-2922P

软件环境:Windows 7旗舰版版本2009 Service Pack 1,并且安装了可供编程的eclipse-standard-kepler-SR1-win32

3.3.2设计方法

赛跑的过程是两个比赛对象并行前进的过程,考虑到应用需求,我们可以利用多线程技术,所谓多线程就是指同时存在几个执行体,按几条不同的执行线索共同工作的情况,这与要求刚好吻合,Java语言对多线程提供强大的支持。

用直观图形描述龟兔赛跑前进过程:每过一秒,兔子走过的文本框中增加三个“#”号,乌龟走过的路程文本框中增加一个“#”号。跑完路程结束线程,并显示各自跑完全程总共用的时间。

3.3.3主体内容

一、设计分析

第一步:设计良好游戏界面

功能:实现基本的开始、退出游戏功能、选择游戏模式等。

基本步骤:

图3.3.3.1 基本步骤1

在实现过程中会遇到的问题及解决方案:

1、背景面板上加载图片时需要重写paintComponent方法

2、布局必须合理设置(GridLayout不能改变组件的具体位置但可以缩放时相对位置不变。FlowLayout 默认是占满第一行转向第二行,并且放大时相对位置改变。Null布局可以自由布置组件位置和大小,但不易实现窗口放大时相对大小随之变化。)若设置不合理,就可能出现多种错误。列如:无法插入背景图片,组建不能显现,组件位置与设计不符等等。

3、添加背景面板监听重置各面板位置才能实现窗口放大时的相对位置不变

第二步:线程类的设计

功能:实现多只乌龟,兔子的多线程运行

具体步骤:

相关文档
最新文档