写一个“BlackJack ”Java应用程序 该计划将测试你的逻辑思维。
答案:1 悬赏:0 手机版
解决时间 2021-02-09 08:23
- 提问者网友:温旧梦泪无声
- 2021-02-09 00:05
写一个“BlackJack ”Java应用程序 该计划将测试你的逻辑思维。
最佳答案
- 五星知识达人网友:往事隔山水
- 2021-02-09 01:40
我写了一个有图片版的21点。嘿嘿。。效果还不错。。开始走了好多弯路其实很容易。。你可以定义一个牌的类。。里面存放花色和牌面还有计分方法我还在这个类里面添加了判断是不是Ace的方法还有取牌的图片位置的方法。。然后用一个ArrayList去装52张牌的类进去。然后你再用Collections.shuffle()去洗牌。想发牌的话直接从第一个开始发就是了。。因为里面的顺序已经乱了。相当于一副洗好的牌了。
这是我的牌的类:
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.*;
public class Cards {
private static Toolkit tkc = Toolkit.getDefaultToolkit();
int suit,face,point;
Cards(int suit,int face){
this.suit=suit;
this.face=face;
}
public int getSuit(){
return suit;
}
public int getFace(){
return face;
}
public int getPoint(){
if(is10S()){
point=10;
}
else{
point=face;
}
return point;
}
public boolean isAce(){
if(face==1){
return true;
}
else{
return false;
}
}
public boolean is10S(){
if(face>=10){
return true;
}
else{
return false;
}
}
public Image getImage(){
Image cardp = tkc.getImage(Cards.class.getClassLoader().getResource(""+suit+"/"+face+".jpg"));
return cardp;
}
public void draw(Graphics g,int x,int y){
g.drawImage(getImage(), x, y,100,142, null);
}
}
创建三个ArrayList 类型是牌
一个是存放整幅牌的
这是创建新牌的方法:
for(int n=1;n<=4;n++){
for(int m=1;m<=13;m++){
newCard.add(new Cards(n,m));
}
}
两外两个是玩家和电脑的
发牌用
player.add(newCard.remove(0));
就是说加入你牌组的第一张牌然后出去这张牌
至于输赢判断很简单自己想去
这是我的牌的类:
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.*;
public class Cards {
private static Toolkit tkc = Toolkit.getDefaultToolkit();
int suit,face,point;
Cards(int suit,int face){
this.suit=suit;
this.face=face;
}
public int getSuit(){
return suit;
}
public int getFace(){
return face;
}
public int getPoint(){
if(is10S()){
point=10;
}
else{
point=face;
}
return point;
}
public boolean isAce(){
if(face==1){
return true;
}
else{
return false;
}
}
public boolean is10S(){
if(face>=10){
return true;
}
else{
return false;
}
}
public Image getImage(){
Image cardp = tkc.getImage(Cards.class.getClassLoader().getResource(""+suit+"/"+face+".jpg"));
return cardp;
}
public void draw(Graphics g,int x,int y){
g.drawImage(getImage(), x, y,100,142, null);
}
}
创建三个ArrayList 类型是牌
一个是存放整幅牌的
这是创建新牌的方法:
for(int n=1;n<=4;n++){
for(int m=1;m<=13;m++){
newCard.add(new Cards(n,m));
}
}
两外两个是玩家和电脑的
发牌用
player.add(newCard.remove(0));
就是说加入你牌组的第一张牌然后出去这张牌
至于输赢判断很简单自己想去
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯