一、目的
- 了解setter/getter方法,间接使用private修饰的属性。
- 学会构造方法,了解构造方法的重载。
- 了解this的作用。
- 利用Java实现扑克游戏部分功能
二、技术及其实现
1.setter/getter方法
(1)set方法:
//给外部提供一个set方法 通过这个方法间接给number赋值
public String getNumber() {
return number;
}
(2)get方法
//给外部提供一个get方法 访问某个变量的值
public String getNumber(String number){
return number;
}
2.输出方法
(1)输出一行数据,换行:
public static void showTextln(String text){
System.out.println(text);
}
(2)输出一行数据,不换行:
public static void showText(String text){
System.out.print(text);
}
(3)输出一行数据,可以设置分隔符:
public static void showText(boolean hasstar,String text){
if (hasstar){
System.out.println("*******************");
}
System.out.println(text);
if (hasstar){
System.out.println("*******************");
}
}
(4)输出多行数据,设置分隔符:
public static void showText(String...texts){
System.out.println("*******************");
for (int i=1;i<=texts.length;i++){
String str=texts[i-1];
System.out.println(i+". "+str);
}
System.out.println("*******************");
}
(4)主函数中实现:
Utils.showText(true,"欢迎参加Poker Game");//欢迎界面
String[] choices={"看牌","弃牌","下注","加注"};//操作界面
Utils.showText(choices);
3.管理花色
public class PokerType {
public static final PokerType SPADES = new PokerType("♠",4);
public static final PokerType HEARTS = new PokerType("♥",3);
public static final PokerType CLUBS = new PokerType("♣",2);
public static final PokerType DIAMONDS = new PokerType("♦",1);
public String pic;//记录图案
public int id;//专门用于比较
//构造函数
public PokerType(String pic,int id){
this.pic=pic;
this.id=id;
}
}
4.洗牌并显示
Collections.shuffle(pokers);
}
public void show(){
for (Poker poker:pokers){
System.out.print(poker.number+poker.type.pic+" ");
}
}
}
5.发牌
public void deal(ArrayList<Player> players){
for (int i=0;i<players.size();i++){
//取出这个玩家
Player player=players.get(i);
player.poker=pokers.get(i);
}
}
6.输出玩家得到的牌和金钱
public void show(){
for (int i=0;i<players.size();i++){
Player player=players.get(i);
Utils.showText(false,player.id+"号玩家: "+player.name+" 金币"+player.totaMoney);
if (player.poker!=null){
Utils.showTextln(player.poker.number+player.poker.type.pic);
}
}
}
三、主函数及界面(部分)
public class Pokergame {
public static void main(String[] args){
Utils.showText(true,"欢迎参加Poker Game");//欢迎界面
String[] choices={"看牌","弃牌","下注","加注"};//操作界面
// Utils.showText(choices);
//PokerManager manager=new PokerManager();
PokerManager.manager.initPokers();
PokerManager.manager.show();
//PlayerManager playerManager=new PlayerManager();
Utils.showText("请输入玩家人数");
PlayerManager.manager.initPlayers(Utils.getInput());
//显示玩家信息
PlayerManager.manager.show();
//发牌
GameCenter center=new GameCenter();
center.start();
}
}
草图2.png