ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:317.19KB ,
资源ID:2917645      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2917645.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVA课程设计之赛马游戏.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JAVA课程设计之赛马游戏.docx

1、JAVA课程设计之赛马游戏1.1 概述.21.2 课题分析.22.3 赛马比赛模拟程序初始化块.42.4赛马比赛区模块.42.5投注区模块.52.6线程启动及结束模块.52.7比赛结果显示区模块.53.2 赛马比赛区模块 7一、需求分析1.1 概述Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。本次使用的是eclipse开发软件。以下就给出这次课题设计的题目:模拟赛马比赛。1.2 课题分析a.课设题目:模拟赛马比赛内容:1.设计一个模拟赛马比赛软件,比赛显示赛马过程,每匹马每个时刻的加速度都是随机的。2.能统计每匹马所跑完所需

2、的总时间,最终的名次。3.支持用户对马进行投注,并记录输赢,保存到文件或数据库中。b.从这个题目来分析,要做的主要有四大点:1.第一点就是要设计用户登录赛马的页面,登陆后才能进行赛马和投注等功能。2.第二点就是要能在页面上进行投注和赛马。其中包括:(1)用户进行选马,和对选中的马进行有效的投注。(2)开始赛马,期间用户不得进行其他操作。(3)赛马结束,显示比赛输赢和投注金额的变化。3.第三点就是用户能进行重新比赛等操作。1.3 实现功能步骤程序开始后,会进入用户登录界面,用户输入自己的姓名和密码后,选择登录会进入到赛马比赛的界面,这时可以看见赛马场和马匹的编号,用户可以选择任何一个编号的马进行

3、投注,输入有效的投注金额(因为系统设置了初始金额,所以不得投注的超过初始金额)。投注完成后用户可以选择开始比赛,赛马期间用户不得进行任何操作,赛马结束后,用户可以重新进行新一轮的赛马比赛,方法上同。1.4 设计工作详解通过这个分析,我认为主要是通过线程来实现马的运动,thread的子类创建线程,线程的开始使马进行运动,再通过线程的休眠,随机获得休眠时间使马获得随机的加速度,最后线程的终止使马停止运动。期间还包括用Draw类以及各种repaint()等方法来绘制马匹。1.5 外部界面需求本程序JFrame类其子类创建的对象是窗体,通过按钮JButton及标签组件JLabel来实现用户的登录界面。

4、赛马界面还运用到JPanel创建面板和FlowLayout 布局变量,区分赛马、投注、显示区域,还使用Draw类画马匹,来丰富整个赛马的界面。1.6 运行环境系统软件:Window 7所需文件:JTextDemo.java,Run.java,DateUtil.java工具软件:Eclipse 二概要设计2.1 系统流程图重新开始图2.1 系统流程图2.2 功能模块图 赌获取比赛 获取比赛结束系统时间 金 初始系统 变 时间化 图2.2 功能模块图2.3 赛马比赛模拟程序初始化模块在这一模块中,要求对赛马场、投注区及显示区的布局进行设置,初始化程序窗口的大小,并创建程序窗口。2.4 赛马比赛区模

5、块其中此模块包括对画出马匹和赛道部分,通过使用Draw类来向Jpanel面板中添加马和赛道。部分代码:class Draw extends JPanel int x=0;String s;int w,h;public void paint(Graphics g) super.paint(g); this.setBackground(Color.WHITE); w=this.getWidth(); h=this.getHeight(); g.setColor(Color.BLACK); g.drawLine(66,h/2-44,666,h/2-44); g.drawLine(66,h/2+40,

6、666,h/2+40); g.setColor(Color.BLACK); g.drawLine(66,0,66,h); g.setColor(Color.red); g.drawLine(666,0,666,h); g.drawRect(36+x,h/2-10,30,20);/马的显示 g.setColor(Color.BLACK);/文字显示 g.drawString(s,26,h/2-12);2.5 投注区模块a.投注马匹模块 主要是实现马匹的选择及投注的模拟,增加JRadioButton单选按钮选择马匹。b. 投注金额模块 TextField来输入投注金额,tfget接收后与总金额进行

7、比较。c. 赌金变化模块 同时变量tz控制金额改变。2.6 线程启动及结束模块 a. 线程启动及结束部分模块 使用 racing().start()启动线程,马匹开始运动。b. 获取比赛初始系统时间模块线程run启动时,通过使用Calendar类来获取比赛开始时的系统时间,其中使用getNow_HMS()方法来获取比赛的初始时间。c. 获取比赛结束系统时间模块当比赛结束,线程终止时,通过使用Calendar类来获取比赛结束时的系统时间,其中使用getNow_HMS()方法来获取比赛的结束时间。2.7 比赛结果显示区模块在JTextArea()分布的空间内,通过方法append()显示马匹的名次

8、,用时等信息。三详细设计3.1 赛马比赛模拟程序初始化模块在这一模块中,要求对赛马场、投注区及显示区的布局进行设置。模块代码:public Run() frame=new JFrame(赛马); p1=new JPanel(); p2=new JPanel(); p3=new JPanel(); ly=new FlowLayout(); jb=new JButton(开始); h1=new Draw(); h2=new Draw(); h3=new Draw(); h4=new Draw(); no=0; tz=20000; cotrol=true; h1.s=1号马; h2.s=2号马; h

9、3.s=3号马; h4.s=4号马; b1=new JRadioButton(1号马); b2=new JRadioButton(2号马); b3=new JRadioButton(3号马); b4=new JRadioButton(4号马); bg=new ButtonGroup(); money=new JLabel(总金额为+String.valueOf(tz); tf=new TextField(10); ta=new JTextArea(,5,10); /放置单选按钮 bg.add(b1); bg.add(b2); bg.add(b3); bg.add(b4); /设置投注区 p3.

10、add(new JLabel(投注区); p3.add(b1);p3.add(b2);p3.add(b3);p3.add(b4); p3.add(money); p3.add(tf); /设置P2 p2.setBackground(Color.white); ly.setHgap(30);/设置布局的水平间隙 p2.setLayout(ly); p2.add(p3); p2.add(jb); p2.add(ta); /设置赛马区 p1.setBackground(Color.white); p1.add(new JLabel(赛马区); p1.setLayout(new GridLayout(

11、5,1);/设置成5行1列的网格 p1.add(h1); p1.add(h2); p1.add(h3); p1.add(h4); /界面设定 frame.setLayout(new BorderLayout(); frame.add(Center,p1); frame.add(South,p2); frame.setBounds(100,100,800,620); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/设置结束窗口 tf.addActionListener(this); jb.addActionListener(this);

12、 b1.addActionListener(new RadioListener();/按钮监听器 b2.addActionListener(new RadioListener(); b3.addActionListener(new RadioListener(); b4.addActionListener(new RadioListener(); frame.setVisible(true);3.2赛马比赛区模块使用Draw添加马和赛道。模块代码:public class Run extends JFrame implements ActionListener racing ht;/赛马的进程

13、 Draw h1,h2,h3,h4;/画出马的运动图形 JPanel p1;/赛马区class Draw extends JPanel int x=0;String s;int w,h;public void paint(Graphics g) super.paint(g); this.setBackground(Color.WHITE); w=this.getWidth(); h=this.getHeight(); g.setColor(Color.BLACK); g.drawLine(66,h/2-44,666,h/2-44); g.drawLine(66,h/2+40,666,h/2+4

14、0); g.setColor(Color.BLACK); g.drawLine(66,0,66,h); g.setColor(Color.red); g.drawLine(666,0,666,h); g.drawRect(36+x,h/2-10,30,20);/马的显示g.setColor(Color.BLACK);/文字显示 g.drawString(s,26,h/2-12);3.3 投注区模块这一模块包括投注马匹和投注金额模块。主要是实现马匹的选择及投注的模拟,增加JRadioButton单选按钮选择马匹,TextField来输入投注金额,同时变量tz控制金额改变。模块代码:public class

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1