📄 gamepanel.java
字号:
package betgame;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
/**
* <p>Title: 赛马竞猜游戏</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company: 阿维工作室</p>
* @author 沈永维
* @version 1.0
*/
public class GamePanel extends JPanel {
JLabel jL1 = new JLabel();
JLabel jL2 = new JLabel();
JLabel jL3 = new JLabel();
JLabel jL4 = new JLabel();
JLabel jL5 = new JLabel();
JTextField jT1 = new JTextField();
JTextField jT2 = new JTextField();
JButton jB1 = new JButton();
BetFrame betFrame;
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
public GamePanel(BetFrame f) {
try {
jbInit();
betFrame=f;
}
catch(Exception ex) {
ex.printStackTrace();
}
}
void jbInit() throws Exception {
jL1.setFont(new java.awt.Font("Dialog", 0, 16));
jL1.setForeground(Color.black);
jL1.setText(String.valueOf(BetApp.betMoney));
jL1.setBounds(new Rectangle(203, 12, 124, 45));
this.setLayout(null);
jL2.setFont(new java.awt.Font("Dialog", 0, 16));
jL2.setText(String.valueOf(BetApp.myMoney));
jL2.setBounds(new Rectangle(200, 47, 133, 50));
jL3.setFont(new java.awt.Font("Dialog", 0, 16));
jL3.setText(String.valueOf(BetApp.betCount));
jL3.setBounds(new Rectangle(202, 83, 153, 50));
jL4.setFont(new java.awt.Font("Dialog", 0, 16));
jL4.setText("下注金额");
jL4.setBounds(new Rectangle(47, 135, 87, 38));
jL5.setFont(new java.awt.Font("Dialog", 0, 16));
jL5.setText("竞猜马号");
jL5.setBounds(new Rectangle(47, 178, 90, 47));
jT1.setFont(new java.awt.Font("Dialog", 0, 16));
jT1.setText("");
jT1.setBounds(new Rectangle(179, 139, 143, 31));
jT2.setFont(new java.awt.Font("Dialog", 0, 16));
jT2.setText("");
jT2.setBounds(new Rectangle(179, 184, 147, 32));
jB1.setBounds(new Rectangle(179, 229, 132, 40));
jB1.setFont(new java.awt.Font("Dialog", 0, 16));
jB1.setText("确定");
jB1.addActionListener(new GamePanel_jB1_actionAdapter(this));
jLabel1.setFont(new java.awt.Font("Dialog", 0, 16));
jLabel1.setText("庄家本金");
jLabel1.setBounds(new Rectangle(48, 22, 70, 23));
jLabel2.setFont(new java.awt.Font("Dialog", 0, 16));
jLabel2.setText("玩家本金");
jLabel2.setBounds(new Rectangle(47, 56, 78, 32));
jLabel3.setFont(new java.awt.Font("Dialog", 0, 16));
jLabel3.setText("竞猜余次");
jLabel3.setBounds(new Rectangle(45, 99, 74, 24));
this.add(jL4, null);
this.add(jL5, null);
this.add(jLabel1, null);
this.add(jLabel2, null);
this.add(jLabel3, null);
this.add(jL1, null);
this.add(jL2, null);
this.add(jL3, null);
this.add(jT2, null);
this.add(jT1, null);
this.add(jB1, null);
}
void jB1_actionPerformed(ActionEvent e) {
int betMoney=Integer.parseInt(jL1.getText());
int myMoney=Integer.parseInt(jL2.getText());
int betCount=Integer.parseInt(jL3.getText());
int mybetMoney=Integer.parseInt(jT1.getText());//获取当前下注金额
int mybet=Integer.parseInt(jT2.getText());//获取玩家竞猜马号
if(mybetMoney<=0){ //下注金额不能小于0
JOptionPane.showMessageDialog(this,"玩家赌注不能小于0","信息提示",2);
return;
}
if((myMoney-mybetMoney<0)){ //下注金额不能超过玩家现有的本金
JOptionPane.showConfirmDialog(this,"玩家本金余额不够","信息提示",2);
return;
}
int num=(int)(Math.random()*6+1);//系统随机生成1~7之间的马号
if(num==mybet){ //竞猜马号等于系统生成的马号,表示玩家赢
BetApp.betMoney-=mybetMoney;//庄家的本金减少
BetApp.myMoney+=mybetMoney;//玩家本金增加
BetApp.betCount--;//竞猜次数减一
}else{//竞猜马号不等于系统生成的马号,表示庄家赢
BetApp.betMoney+=mybetMoney;
BetApp.myMoney-=mybetMoney;
BetApp.betCount--;
}
//如果竞猜次数仍然大于0并且玩家还有本金,则允许继续玩
if(BetApp.betCount>0&&BetApp.myMoney>0){
jL1.setText(String.valueOf(BetApp.betMoney));//更新庄家本金
jL2.setText(String.valueOf(BetApp.myMoney));//更新玩家本金
jL3.setText(String.valueOf(BetApp.betCount));//更新竞猜次数
}else{
//创建游戏结束Panel对象
MsgPanel p1=new MsgPanel("游戏结束,庄家:"+
BetApp.betMoney+"玩家:"+BetApp.myMoney);
betFrame.remove(betFrame.getContentPane());//移除菜单窗口的显示内容
betFrame.setContentPane(p1);//将菜单窗口内容设置为参数设置完毕窗口
betFrame.show();//刷新菜单窗口显示
}
}
}
class GamePanel_jB1_actionAdapter implements java.awt.event.ActionListener {
GamePanel adaptee;
GamePanel_jB1_actionAdapter(GamePanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jB1_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -