电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java小程序賽馬游戲實現過程詳解

瀏覽:35日期:2022-09-04 16:12:45

這是當時做的一個小游戲,大概就是程序開始后,會進入用戶登錄界面,用戶輸入自己的姓名和密碼后,選擇登錄會進入到賽馬比賽的界面,這時可以看見賽馬場和馬匹的編號,用戶可以選擇任何一個編號的馬進行投注,輸入有效的投注金額(因為系統設置了初始金額,所以不得投注的超過初始金額)。投注完成后用戶可以選擇開始比賽,賽馬期間用戶不得進行任何操作,賽馬結束后,用戶可以重新進行新一輪的賽馬比賽,方法上同。

程序流程圖:

Java小程序賽馬游戲實現過程詳解

一、賽馬比賽模塊

其中此模塊包括對畫出馬匹和賽道部分,通過使用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,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);}}

二、投注區模塊

a.投注馬匹模塊

主要是實現馬匹的選擇及投注的模擬,增加JRadioButton單選按鈕選擇馬匹。

b. 投注金額模塊

TextField來輸入投注金額,tfget接收后與總金額進行比較。

c. 賭金變化模塊

同時變量tz控制金額改變。

代碼:

public class Run extends JFrame implements ActionListener{……JPanel p3;//投注區JButton jb;//開始按鈕JFrame frame;DateUtil d1=new DateUtil();Boolean cotrol;//對投注額改變的變量int no;//名次編號String s;//投注單選事件的變量符號JRadioButton b1,b2,b3,b4;//投注的單選按鈕ButtonGroup bg;//按鈕注,使其為單選JTextArea ta;//賽馬的文字顯示JLabel money;//投注總金額標簽TextField tf;//投注金額的輸入窗口int tz;//投注金額變化的變量String tfget;//投注總金額的中轉變量FlowLayout ly;//布局變量}public void actionPerformed(ActionEvent e){if(bg.getSelection()!=null){//投注單選按鈕選擇確認if(e.getActionCommand()=='開始'){tfget=tf.getText();try{if(Integer.parseint(tfget)>0&&Integer.parseint(tfget)<=tz)//string轉換成int{//投注金額確認ta.setText('比賽開始了'+’n’);new racing(h1,this).start();new racing(h2,this).start();new racing(h3,this).start();new racing(h4,this).start();jb.setText('重新開始');//賽馬按鍵標簽改變b1.setEnabled(false);//賽馬開始后,禁止操作b2.setEnabled(false);b3.setEnabled(false);b4.setEnabled(false);tf.setEditable(false);jb.setEnabled(false);}else{JOptionPane.showMessageDialog(null, '投注金額錯誤,請重新投注');//信息對話框}}catch(Exception ex){JOptionPane.showMessageDialog(null, '投注格式錯誤,請重新投注');}}}else{JOptionPane.showMessageDialog(null, '請選號確認投注');}

三、線程啟動及結束模塊

a. 線程啟動及結束部分模塊

模塊代碼:

public void actionPerformed(ActionEvent e){……ta.setText('比賽開始了'+’n’);new racing(h1,this).start();new racing(h2,this).start();new racing(h3,this).start();new racing(h4,this).start();jb.setText('重新開始');//賽馬按鍵標簽改變b1.setEnabled(false);//賽馬開始后,禁止操作b2.setEnabled(false);b3.setEnabled(false);b4.setEnabled(false);tf.setEditable(false);jb.setEnabled(false);}……if(e.getActionCommand()=='重新開始'){//重新開始,相應的控制重置restar(h1,this);restar(h2,this);restar(h3,this);restar(h4,this);cotrol=true;no=0;ta.setText('');tf.setEditable(true);b1.setEnabled(true);b2.setEnabled(true);b3.setEnabled(true);b4.setEnabled(true);jb.setText('開始');}}class racing extends Thread{//馬運動的線程控制Draw a;Run r ;DateUtil d=new DateUtil();racing(Draw h,Run b){this.a=h;this.r=b;}

b. 獲取比賽初始系統時間模塊

線程run啟動時,通過使用Calendar類來獲取比賽開始時的系統時間,其中使用getNow_HMS()方法來獲取比賽的初始時間。

模塊代碼:

import java.util.;public class DateUtil{public static String getNow_M(){Calendar c=Calendar.getInstance();String minute=String.valueOf(c.get(Calendar.MINUTE));if(minute.length()==1){minute='0'+minute;}String ms1=minute;return ms1;}public static String getNow_S(){Calendar c=Calendar.getInstance();String second=String.valueOf(c.get(Calendar.SECOND));if(second.length()==1){second='0'+second;}String ms2=second;return ms2;}public int getNow_HMS(){String s1,s2;s1=getNow_M();s2=getNow_S();int a=Integer.parseint(s1)60+Integer.parseint(s2);return a;}public static void main(String[] args) {DateUtil d;d=new DateUtil();d.getNow_HMS();}}public int Time(){int oo=d1.getNow_HMS();return oo;}

c. 獲取比賽結束系統時間模塊

當比賽結束,線程終止時,通過使用Calendar類來獲取比賽結束時的系統時間,其中使用getNow_HMS()方法來獲取比賽的結束時間。

模塊代碼:

public void run(){int t;int o,y;o=r.Time();……y=d.getNow_HMS();int z=y-o;ta.append('用時:'+z+'秒'+’n’);}

四、比賽結果顯示區模塊

在JTextArea()分布的空間內,通過方法append()顯示馬匹的名次,用時等信息。

五、賽馬游戲運行結果

Java小程序賽馬游戲實現過程詳解

Java小程序賽馬游戲實現過程詳解

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 比亚迪叉车-比亚迪电动叉车堆垛车托盘车仓储叉车价格多少钱报价 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 日本SMC气缸接头-速度控制阀-日本三菱伺服电机-苏州禾力自动化科技有限公司 | 国际学校_国际学校哪个好_国际课程学校-国际学校择校网 | 凝胶成像系统(wb成像系统)百科-上海嘉鹏 | 宝鸡市人民医院| 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 涿州网站建设_网站设计_网站制作_做网站_固安良言多米网络公司 | 深圳天际源广告-形象堆头,企业文化墙,喷绘,门头招牌设计制作专家 | 【灵硕展览集团】展台展会设计_展览会展台搭建_展览展示设计一站式服务公司 | 衬氟止回阀_衬氟闸阀_衬氟三通球阀_衬四氟阀门_衬氟阀门厂-浙江利尔多阀门有限公司 | 博医通医疗器械互联网供应链服务平台_博医通 | BOE画框屏-触摸一体机-触控查询一体机-触摸屏一体机价格-厂家直销-触发电子 | 99文库_实习生实用的范文资料文库站| 沈阳激光机-沈阳喷码机-沈阳光纤激光打标机-沈阳co2激光打标机 | 甲级防雷检测仪-乙级防雷检测仪厂家-上海胜绪电气有限公司 | 福建省教师资格证-福建教师资格证考试网| 翰香原枣子坊加盟费多少钱-正宗枣核糕配方培训利润高飘香 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | 科箭WMS仓库管理软件-TMS物流管理系统-科箭SaaS云服务 | 飞行者联盟-飞机模拟机_无人机_低空经济_航空技术交流平台 | 高柔性拖链电缆-聚氨酯卷筒电缆-柔性屏蔽电缆厂家-玖泰电缆 | 400电话_400电话申请_888元包年_400电话办理服务中心_400VIP网 | 原色会计-合肥注册公司_合肥代理记账公司_营业执照代办 | 西子馋火锅鸡加盟-太原市龙城酉鼎餐饮管理有限公司 | 电液推杆生产厂家|电动推杆|液压推杆-扬州唯升机械有限公司 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 即用型透析袋,透析袋夹子,药敏纸片,L型涂布棒-上海桥星贸易有限公司 | 衢州装饰公司|装潢公司|办公楼装修|排屋装修|别墅装修-衢州佳盛装饰 | 洗地机-全自动/手推式洗地机-扫地车厂家_扬子清洁设备 | 淬火设备-钎焊机-熔炼炉-中频炉-锻造炉-感应加热电源-退火机-热处理设备-优造节能 | 冲锋衣滑雪服厂家-冲锋衣定制工厂-滑雪服加工厂-广东睿牛户外(S-GERT) | 合肥宠物店装修_合肥宠物美容院装修_合肥宠物医院设计装修公司-安徽盛世和居装饰 | 首页-瓜尔胶系列-化工单体系列-油田压裂助剂-瓜尔胶厂家-山东广浦生物科技有限公司 | 旅游规划_旅游策划_乡村旅游规划_景区规划设计_旅游规划设计公司-北京绿道联合旅游规划设计有限公司 | 仓储货架_南京货架_钢制托盘_仓储笼_隔离网_环球零件盒_诺力液压车_货架-南京一品仓储设备制造公司 | 微妙网,专业的动画师、特效师、CG模型设计师网站! - wmiao.com 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | 置顶式搅拌器-优莱博化学防爆冰箱-磁驱搅拌器-天津市布鲁克科技有限公司 | 附着力促进剂-尼龙处理剂-PP处理剂-金属附着力处理剂-东莞市炅盛塑胶科技有限公司 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 |