JAVA赛马游戏

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

游戏的登录界面
游戏的登录界面主要是为了迎合游戏的两个版本,两个版本的两个登录帐号都不 同。该界面写于【SelectPanel】类中。 帐号框主要是由【JTextField】声明的,密码框则是由【JPasswordField】声明。 界面的两个按钮主要是用来调用版本一【BetPanel】和版本二【BetPanel2】。当登 录版本一的时候,执行下面的程序:
图7
图8
图9
在游戏过程中,游戏所产生的马号这是由随机函数从1到7里面随机产 生的,并将其显示到界面上。代码如下: int num=(int)(Math.random()*6+1);//随机产生1~7之间的马号 String num1=String.valueOf(num); tema1.setText(num1);//显示开码号 如果竞猜成功则可获得下注金额的四倍奖励,失败则只是输掉下注金额, 没竞猜一次,竞猜的次数都会自动减少,直至为零时,显示游戏最后结 果。代码如下:
主要的类
主界面类【MybetExample】 参数设置界面类【InitPanel】
版本一游戏进行类【BetPanel】
版本二游戏进行类【BetPanel2】
版本选择界面类【SelectPanel】
Page 2
赛马游戏设计的菜单处理流程图
赛马游戏规则
本游戏的规则如下: ①游戏开始前,可以设定游戏的参数,包括庄家本金、玩家本金以及竞猜次 数(庄家拥有的本金至少要比玩家多5000元,竞猜次数最多10次)。如不进 行设定,系统默认庄家本金10000元,玩家本金1000元,竞猜次数为5次。 进入游戏后,输入不同版本的登录帐号和密码(这里版本一的帐号为【林 福山】,密码为【1006003220】;版本二的帐号为【linfushan】,密码为 【1006003220】)。 ②游戏进行中,玩家可以竞猜可能获胜的马号(马号为1~7),并可以设定 自己的下注金额(不能超过自己的本金余额)。当确认时,系统随机产生一 个号码,如果玩家竞猜成功,则获得下注金额的四倍奖励,否则重本金中扣 除相应的下注金额。 ③当玩家的本金和竞猜次数为0时,游戏结束,显示当前的结果。
赛马游戏界面
赛马的游戏界面主要是菜单条,主要的 事件的按钮,也就是菜单项都包含在菜单 条里。 JMenuBar mbar;//菜单条 JMenu fileMenu,systemMenu;//菜单项 再将菜单项用add()加入到菜单条里。 子菜单项【JMenuItem】里面主要包 含的菜单想有: 开始子菜单项【beginMenuItem 】 参数子菜单项【initMenuItem】 关于子菜单项【aboutMenuItem】 退出子菜单项【exitMenuItem】 帮助子菜单项【helpMenuItem】 将以上的子菜单项加入到菜单项里面。最 后用this.setJMenuBar(mbar);在窗口上显示 菜单。
图3
图4
游 戏 规 则 说 明 和 关 于 界 面
图5
图6
【关于】界面里面主要是显示的是制作者的信息显示,和游戏版 本的信息显示。如图5所示。 【游戏规则】界面主要是显示游戏规则,操作方式则不做介绍。 里面的内容主要采用了文本框【JTextArea】实现。如图6所示。
游戏版本一的进行界面
if(e.getSource()==BT0){ if(jT1.getText().equals("林福山")&& jP1.getText().equals("1006003220")){ BetPanel p1=new BetPanel();//实例化游戏版本1界面 p1.setBounds(0,0,340,250);//设置该实例的空间大小 this.removeAll();//移除当前容器中的所有内容 this.add(p1);//将游戏开始界面添加到当前容器 this.repaint();//调用repaint()方法,更新界面显示}

if(num==mybet){//竞猜成功信息显示 jL7.setText("竞猜成功!"); jL7.setForeground(Color.RED); jL7.setFont(new Font("宋体",Font.BOLD,15)); jL8.setText("继续努力!"); jL8.setForeground(Color.RED); jL8.setFont(new Font("宋体",Font.BOLD,15)); MybetExample.betMoney-=mybetMoney*4;//庄家本金减少 MybetExample.myMoney+=mybetMoney*4;//玩家本金增加 MybetExample.betCount--;//竞猜次数减一 } else {//竞猜错误信息显示 jL7.setText("竞猜失败!"); jL7.setForeground(Color.darkGray); jL7.setFont(new Font("宋体",Font.BOLD,15)); jL8.setText("再来一次!"); jL8.setForeground(Color.darkGray); jL8.setFont(new Font("宋体",Font.BOLD,15)); MybetExample.betMoney+=mybetMoney;//庄家本金增加 MybetExample.myMoney-=mybetMoney;//玩家本金减少 MybetExample.betCount--;//竞猜次数减一 } if(MybetExample.betCount>0&&MybetExample.myMoney>0){ //竞猜次数未完,并且玩家仍有本金,则更新显示,游戏继续 jT1.setText(MybetExample.betMoney+""); jT2.setText(MybetExample.myMoney+""); jT3.setText(MybetExample.betCount+""); }else showEnd();//显示游戏结束界面 }
图1
Baidu Nhomakorabea

beginMenuItem=new JMenuItem("开始游戏"); beginMenuItem.addActionListener(this); initMenuItem=new JMenuItem("参数设定"); initMenuItem.addActionListener(this); aboutMenuItem=new JMenuItem("关于"); aboutMenuItem.addActionListener(this); exitMenuItem=new JMenuItem("退出"); exitMenuItem.addActionListener(this); helpMenuItem=new JMenuItem("帮助"); helpMenuItem.addActionListener(this); fileMenu=new JMenu("游戏"); systemMenu=new JMenu("系统");
用相同的方法调用【BetPanel2】,调用之后就可以登 陆游戏界面进行游戏了。 图2
游戏参数进行界面
游戏进行前可以进行游戏的参数设置,默 认的参数如有图3所示。 游戏进行完后,想继续游戏需对游戏的参 数再进行设置,如需恢复到默认的参数只需 要点击【恢复】按钮就可以恢复系统默认的 参数。 设置完参数后系统会自动给出提示,如图 4所示。 游戏参数设置主要在【InitPanel】类中实 现。界面设置的完成主要在【panelInit()】函 数里面实现。 详细编程见附件word文档。
版本一游戏号码竞猜实现程序
游戏版本二的进行界面
图10
图11
图12
版本二和版本一的区别主要是在于赌马的方式的不同和结果界 面的不同,版本二用的主要是采用单选按钮来下注马号,买完后再 开奖。 单选按钮的定义语句: JRadioButton[] jR=new JRadioButton[7]; ButtonGroup radioGroup; 实现代码如下:
菜单项的程序
mbar=new JMenuBar(); fileMenu.add(beginMenuItem); fileMenu.add(initMenuItem); systemMenu.add(aboutMenuItem); systemMenu.add(helpMenuItem); systemMenu.addSeparator(); systemMenu.add(exitMenuItem); mbar.add(fileMenu); mbar.add(systemMenu); this.setJMenuBar(mbar);
版本一游戏号码竞猜实现程序
try{if(e.getSource()==jB1){ int q1=Integer.parseInt(jT5.getText()); int num=(int)(Math.random()*6+1);//随机产生1~7之间的马号 String num1=String.valueOf(num); if(mybetMoney>0){ if(q1==num){ jL3.setText(num1); jL4.setText("成功!"); MybetExample.betMoney-=mybetMoney*4;//庄家本金减少 MybetExample.myMoney+=mybetMoney*4;//玩家本金增加 MybetExample.betCount--;//竞猜次数减一 }else { jL3.setText(num1); jL4.setText("失败!"); MybetExample.betMoney+=mybetMoney;//庄家本金增加 MybetExample.myMoney-=mybetMoney;//玩家本金减少 MybetExample.betCount--;//竞猜次数减一 } }else if(mybetMoney<1){ JOptionPane.showMessageDialog(this,"玩家本金不能为0,请输入金额。","信息提示",1); } }}catch(Exception e1){ System.out.print(""); }
游戏结束界面显示
图13
图14
图13是版本一的结束界面 图14是版本二的结束界面 图15是游戏的退出提示
图15
谢谢观赏
WPS Office
Make Presentation much more fun
@WPS官方微博 @kingsoftwps
相关文档
最新文档