在实现栈与队列之后,综合栈与队列,解决了一个综合问题。
使用Java调用JDK包中类与方法完成
小猫钓鱼问题描述:
小白和小黑在桌前玩小猫钓鱼。
开始时,小白和小黑手中各有一叠相同数量的扑克牌。
游戏规则是:
每次将手中牌堆中的最上面一张放到桌面上,桌面上的牌按照放入顺序从上至下排列,后放入的牌叠在先放入牌的上面。
当某一方的牌使桌面上出现两张相同的卡牌时,该方可以将桌面上相同两张卡牌间(包括这两张牌)的所有牌收入己方牌的牌堆下面(按照桌面上的摆放顺序)。
最后,哪一方手中没有牌时,另一方获胜。
限制要求:
两人手中牌合为一副牌,但不含大小王。
以下是我实现的代码:
/**
* Created by Hugh on 2015/1/30 0030.
* 内容:小猫钓鱼Player类
* 描述:实现玩小猫钓鱼的人的相关操作,主要使用队列
* 备注:java包中,Queue为接口,LinkedList实现了Queue接口,使用形如:
* Queue
queue = new LinkedList
();
* 的方法来获得一个队列,queue只能使用Queue接口中声明的方法。
*/
import java.util.LinkedList;
import java.util.Queue;
public class Player {
private Queue
pokers;
private int pokerAmount;
private String name;
public int getPokerAmount() {
return pokerAmount;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public Player() {}
//小猫钓鱼游戏中,得到初始牌
public void getInitialPokers(Queue
initialCards){
pokers = initialCards;
pokerAmount = pokers.size();
}
//小猫钓鱼游戏中,出一张牌
public String playACard(){
String playedCard = pokers.poll();
if (playedCard != null){