永发信息网

求助!!用Java编写黑杰克?????(完整代码)

答案:1  悬赏:50  手机版
解决时间 2021-11-08 17:39
求助!!用Java编写黑杰克?????(完整代码)
最佳答案
package pkt2;

import javax.swing.*;
import java.awt.event.*;
import java.util.*;

public class Game21 extends JFrame implements ActionListener
{
int a,a2,rdm,YorN,Z=0,s,s2,th=0,Zth=0;
JPanel pnlMain,pnlCard,pnlZCard;
JLabel lblCarded,lblCout,lblZCarded,lblZCout,lblCard,lblZCard;
JButton btnSend,btnGetCard,btnStopCard,btnExit;

public Game21()
{
super("二十一点游戏");
pnlMain=new JPanel();
pnlCard=new JPanel();
pnlZCard=new JPanel();
this.setContentPane(pnlMain);
pnlMain.setLayout(null);
pnlCard.setLayout(null);
pnlZCard.setLayout(null);
pnlMain.add(pnlCard);
pnlMain.add(pnlZCard);
pnlCard.setBounds(76, 10, 400, 110);
pnlZCard.setBounds(76, 200, 400, 110);

lblCarded=new JLabel("当前的牌:");
lblCarded.setBounds(20, 10, 500, 100);
lblCout=new JLabel("当前点数:");
lblCout.setBounds(20, 160, 80, 30);
lblZCarded=new JLabel("庄家的牌:");
lblZCarded.setBounds(20, 200, 500, 100);
lblZCout=new JLabel("庄家点数:");
lblZCout.setBounds(20, 340, 80, 30);
btnSend=new JButton("开局发牌");
btnSend.setBounds(50, 400, 100, 30);
btnSend.addActionListener(this);
btnGetCard=new JButton("要牌");
btnGetCard.setBounds(170, 370, 100, 30);
btnGetCard.addActionListener(this);
btnStopCard=new JButton("停牌");
btnStopCard.setBounds(170, 430, 100, 30);
btnStopCard.addActionListener(this);
btnExit=new JButton("退出游戏");
btnExit.setBounds(290, 400, 100, 30);
btnExit.addActionListener(this);

pnlMain.add(lblCarded);
pnlMain.add(lblCout);
pnlMain.add(lblZCarded);
pnlMain.add(lblZCout);
pnlMain.add(btnSend);
pnlMain.add(btnGetCard);
pnlMain.add(btnStopCard);
pnlMain.add(btnExit);

setSize(500,500);
setVisible(true);
setLocation(200,200);
setResizable(false);
}

public void GetRdm()
{
Random rdm=new Random();
a=Math.abs(rdm.nextInt())%13+1;
String strCardFile="images/"+String.valueOf(a)+".gif";
if(a>10)
a=10;
lblCard=new JLabel(new ImageIcon(strCardFile),2);
th+=20;
lblCard.setBounds(th, 0, 72, 96);
pnlCard.add(lblCard);
}
public void ZGetRdm()
{
Random rdm2=new Random();
a2=Math.abs(rdm2.nextInt())%13+1;
String strZCardFile="images/"+String.valueOf(a2)+".gif";
if(a2>10)
a2=10;
lblZCard=new JLabel(new ImageIcon(strZCardFile),2);
Zth+=20;
lblZCard.setBounds(Zth, 0, 72, 96);
pnlZCard.add(lblZCard);
}
public void Send()
{
pnlCard.removeAll();
pnlZCard.removeAll();
Z=0;th=0;Zth=0;
s=a;
this.GetRdm();this.ZGetRdm();
lblCarded.setText("当前的牌:"+a);
lblCout.setText("当前点数:"+a);
lblZCarded.setText("庄家的牌:"+a2);
lblZCout.setText("庄家点数:"+a2);
s=a;s2=a2;
}
public void GetCard()
{
YorN=JOptionPane.showConfirmDialog(null, "选择“是”继续要牌,选择“否”结束要牌","你是否继续要牌?",JOptionPane.YES_NO_OPTION);
if(YorN==JOptionPane.OK_OPTION)
{
this.GetRdm();
s+=a;
lblCarded.setText("当前的牌:"+a);
lblCout.setText("当前点数:"+s);
if(s>21)
JOptionPane.showMessageDialog(null, "你的点数大于21点,你爆了!");
}
}
public void ZGetCard()
{
YorN=JOptionPane.showConfirmDialog(null, "选择“是”继续要牌,选择“否”亮牌","庄家是否继续要牌?",JOptionPane.YES_NO_OPTION);
if(YorN==JOptionPane.OK_OPTION)
{
this.ZGetRdm();
s2+=a2;
lblZCarded.setText("庄家的牌:"+a2);
lblZCout.setText("庄家点数:"+s2);
if(s2>21)
JOptionPane.showMessageDialog(null, "庄家的点数大于21点,庄家爆了!");
}
}
public void StopCard()
{
pnlCard.removeAll();
lblCard=new JLabel(new ImageIcon("images/back.gif"));
lblCard.setBounds(0, 0, 72, 96);
pnlCard.add(lblCard);
JOptionPane.showMessageDialog(null, "你已结束要牌,庄家要牌!");
Z=1;
}
public void ZStopCard()
{
pnlCard.removeAll();
Z=0;
if(s>s2)
JOptionPane.showMessageDialog(null, "你的点数大于庄家点数,你赢了!");
if(s==s2)
JOptionPane.showMessageDialog(null, "你的点数等于庄家点数,平局!");
if(s JOptionPane.showMessageDialog(null, "你的点数小于庄家点数,你输了!");
}

public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btnSend)
this.Send();
if(e.getSource()==btnGetCard)
{
if(Z==0)
this.GetCard();
else
this.ZGetCard();
}
if(e.getSource()==btnStopCard)
{
if(Z==0)
this.StopCard();
else
this.ZStopCard();
}
if(e.getSource()==btnExit)
System.exit(0);
}

public static void main(String[] args)
{
new Game21();
}

}

我们java第一课的作业,这是我做的,给你参考一下吧
图片文件放在工程根目录下追问谢谢!!!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
what a big cake另外一种形式
干妈的别名
机票上就写了登机口b
清中晚期紫砂粉彩茶叶罐市场估价
兰炭焦炉煤气各成分及其含量是多少?
590数字代表什么意思拜托各位大神
贴了150块80×80的地板砖是多少平米。
蓝牙共享为什么老强行关闭
我有一千个不一样的1:16汽车模型能卖多少钱?
上海赫姿贸易有限公司怎么样?
邳州退伍军人办的养老保险—个月使侈少钱
c#怎么引用类库?比如第三方类库sharpzip类
上海金门国际ktv吴中路,古北路招聘
激活联通王卡不成功 然后怎么做
谁知道哪里收购羊宝谁知道,价格多少钱
推荐资讯
你最尴尬的事情是什么?
恩施那些地方赶集具体的时间地点
手机阅读赚钱哪个软件好,汇总今年最靠谱看新
有一部穿越小说女主叫什么雪,她和一个王爷去
天平座象征着什么呢?
鄂人社2。|5,867号文件关于工伤职工伤残津贴
油淋腰花的家常做法,油淋腰花怎么做,油淋腰
“心急吃不了热豆腐”这8个字按音序先后排列
SAI如何添加纹理(具体问题见下图)
可可账号问题
《变个美女很不爽》最新txt全集下载
win10怎么在桌面添加网站快捷方式
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?