首页 > IT职业 > IT职场 > java入门第三季,简易扑克牌游戏
Card.java
package com.ChiuHsin.esayPokerGame;
public class Card implements Comparable{
private String type;
private String number;
public Card(String type,String number){
this.setType(type);
this.setNumber(number);
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((number == null) ? 0 : number.hashCode());
result = prime * result + ((type == null) ? 0 : type.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Card other = (Card) obj;
if (number == null) {
if (other.number != null)
return false;
} else if (!number.equals(other.number))
return false;
if (type == null) {
if (other.type != null)
return false;
} else if (!type.equals(other.type))
return false;
return true;
}
public String getType(){
return type;
}
public void setType(String type){
this.type = type;
}
public String getNumber(){
return number;
}
public void setNumber(String number){
this.number = number;
}
@Override
public int compareTo(Card o) {
String cardNumber="2,3,4,5,6,7,8,9,10,J,Q,K,A";
String cardType="红桃,黑桃,梅花,方片";
int result;
result=cardNumber.indexOf(this.getNumber())-cardNumber.indexOf(o.getNumber());
if(result==0){
result=cardType.indexOf(this.getType())-cardType.indexOf(o.getType());
}
return result;
}
}
Player.java
package com.ChiuHsin.esayPokerGame;
public class Player {
private String ID;
private String name;
public Player(String ID,String name){
this.ID = ID;
this.name = name;
}
public String getID(){
return ID;
}
public void setID(String id){
ID = id;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}
Game.java
package com.ChiuHsin.esayPokerGame;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.HashMap;
public class Game {
ListcardList = new ArrayList();
// ListplayerList = new ArrayList();
Listplayer1HandCards = new ArrayList();
Listplayer2HandCards = new ArrayList();
String[] type = {"红桃","黑桃","梅花","方片"};
String[] number = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
public MapPlayers;
public Game(){
this.Players = new HashMap();
}
/**
* 创建一副扑克牌
*/
public void creatCards(){
int column = 1;
System.out.println("**********开始创建扑克牌**********");
for(int i=0;imaxCardList= new ArrayList();
maxCardList.add(pHC1Max);
maxCardList.add(pHC2Max);
Collections.sort(maxCardList);
Card MaxCard= maxCardList.get(maxCardList.size()-1);
if(player1HandCards.contains(MaxCard)){
System.out.println("玩家"+Players.get(1).getName()+"获胜!!");
}else{
System.out.println("玩家"+Players.get(2).getName()+"获胜!!");
}
System.out.print("玩家"+Players.get(1).getName()+"的手牌是:");
for (Card card1 : player1HandCards) {
System.out.print(card1.getType()+card1.getNumber()+" ");
}
System.out.println();
System.out.print("玩家"+Players.get(2).getName()+"的手牌是:");
for (Card card2 : player2HandCards) {
System.out.print(card2.getType()+card2.getNumber()+" ");
}
System.out.println();
System.out.println("************游戏结束************");
}
/**
*
* @param args
*/
public static void main(String[] args) {
Game g1 = new Game();
g1.creatCards();
g1.createPlayers();
g1.shuffleCards();
g1.dealCards();
g1.compareSize();
}
}
运行结果:
**开始创建扑克牌**
红桃2 红桃3 红桃4 红桃5 红桃6 红桃7 红桃8 红桃9 红桃10 红桃J 红桃Q 红桃K 红桃A
黑桃2 黑桃3 黑桃4 黑桃5 黑桃6 黑桃7 黑桃8 黑桃9 黑桃10 黑桃J 黑桃Q 黑桃K 黑桃A
梅花2 梅花3 梅花4 梅花5 梅花6 梅花7 梅花8 梅花9 梅花10 梅花J 梅花Q 梅花K 梅花A
方片2 方片3 方片4 方片5 方片6 方片7 方片8 方片9 方片10 方片J 方片Q 方片K 方片A
**创建扑克牌成功**
请输入玩家ID:
s
请输入整数!!
请输入玩家ID:
1
请输入玩家姓名:
Tom
成功添加第1个玩家:Tom
请输入玩家ID:
1
该玩家ID已被占用!!
请输入玩家ID:
2
请输入玩家姓名:
Jack
成功添加第2个玩家:Jack
****开始洗牌****
****洗牌结束****
****开始发牌****
玩家Tom摸牌
玩家Jack摸牌
玩家Tom摸牌
玩家Jack摸牌
****发牌完毕****
****游戏开始****
玩家Tom最大的手牌为:黑桃9
玩家Jack最大的手牌为:红桃K
玩家Jack获胜!!
玩家Tom的手牌是:方片6 黑桃9
玩家Jack的手牌是:梅花2 红桃K
****游戏结束****
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1926/viewspace-2807359/ ,如需转载,请注明出处,否则将追究法律责任。