mysql扑克牌小游戏_JAVA简单扑克牌小游戏

简单的扑克牌小游戏,主要实现,创建扑克牌库,洗牌,发牌,对玩家手牌进行排序,并比较玩家手牌大小。

创建Card类

public class Card implements Comparable{

private String huase;

private String point;

public static String points[]={"2","3","4","5","6","7","8","9","10","j","Q","K","A"};

public static String huases[]={"方片","梅花","红桃","黑桃"};

public Card(String _huase,String _point){

this.huase = _huase;

this.point = _point;

}

public String getHuase() {

return huase;

}

public void setHuase(String huase) {

this.huase = huase;

}

public String getPoint() {

return point;

}

public void setPoint(String point) {

this.point = point;

}

@Override

public int compareTo(Card o) {

// TODO Auto-generated method stub

int a=0 ,b = 0, c=0 ;

for(int i = 0;i

if(this.point.equals(points[i])){

a = i;

break;

}

}

for(int i = 0;i

if(o.point.equals(points[i])){

b =i;

break;

}

}

c = a-b;

if(c!=0){

return c;

}else{

int d=0,e=0,f=0;

for (int i =0;i

if (this.getHuase().equals(huases[i])){

d = i;

break;

}

}

for (int i =0;i

if (o.getHuase().equals(huases[i])){

e = i;

break;

}

}

return d-e;

}

}

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (!(obj instanceof Card))

return false;

Card other = (Card) obj;

if (huase == null) {

if (other.huase != null)

return false;

} else if (!huase.equals(other.huase))

return false;

if (point == null) {

if (other.point != null)

return false;

} else if (!point.equals(other.point))

return false;

return true;

}

}

创建玩家People类

import java.util.ArrayList;

import java.util.HashSet;

import java.util.List;

import java.util.Set;

public class People {

private int ID;

private String name;

private List HandCard;

public People(int _ID , String _name){

this.ID = _ID;

this.name = _name;

HandCard = new ArrayList();

}

public int getID() {

return ID;

}

public void setID(int iD) {

ID = iD;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public List getHandCard() {

return HandCard;

}

public void setHandCard(List handCard) {

HandCard = handCard;

}

}

异常类

public class WrongCommand extends Exception {

public WrongCommand(){

}

public WrongCommand(String message){

super(message);

}

}

扑克牌创建与洗牌

public class SetCard {

public static String huase[]={"方片","梅花","红桃","黑桃"};

public static String point[]={"2","3","4","5","6","7","8","9","10","j","Q","K","A"};

List CardList = new ArrayList();

public void buildCard(){

for(int i=0;i

for(int j = 0;j

Card card = new Card(huase[i],point[j]);

CardList.add(card);

}

}

}

public void randomCard(){

for (int i=0;i<1000;i++){

Random random = new Random();

int a = random.nextInt(CardList.size());

int b = random.nextInt(CardList.size());

CardList.get(a);

Card temp = new Card(CardList.get(a).getHuase(),CardList.get(a).getPoint());

CardList.get(a).setHuase(CardList.get(b).getHuase());

CardList.get(a).setPoint(CardList.get(b).getPoint());

CardList.get(b).setHuase(temp.getHuase());

CardList.get(b).setPoint(temp.getPoint());

}

}

}

主函数

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

import java.util.Scanner;

public class CardGame {

Scanner scan = new Scanner(System.in);

public People creatPlayer() throws WrongCommand{

try{

System.out.println("请输入玩家姓名");

String name = scan.next();

System.out.println("请输入玩家ID");

int ID = scan.nextInt();

People player= new People(ID,name);

return player;

}catch(Exception e){

throw new WrongCommand("请输入正确的ID类型");

}

}

public void Game(SetCard e,People p1,People p2 ){

//游戏内容主体

e.buildCard();

System.out.println("扑克牌已生成");

for(Card card:e.CardList){

System.out.println(card.getHuase()+card.getPoint());

}

e.randomCard();

System.out.println("扑克牌已洗牌");

for(Card card:e.CardList){

System.out.println(card.getHuase()+card.getPoint());

}

for(int i=0;i

for (int j = 0;j<2;j++){

Card card = new Card(e.CardList.get(i+j).getHuase(),e.CardList.get(i+j).getPoint());

p1.getHandCard().add(card);

}

for (int j = 2;j<4;j++){

Card card = new Card(e.CardList.get(i+j).getHuase(),e.CardList.get(i+j).getPoint());

p2.getHandCard().add(card);

}

Collections.sort(p1.getHandCard());

Collections.sort(p2.getHandCard());

Card card1 = new Card(p1.getHandCard().get(p1.getHandCard().size()-1).getHuase(),p1.getHandCard().get(p1.getHandCard().size()-1).getPoint());

Card card2 = new Card(p2.getHandCard().get(p2.getHandCard().size()-1).getHuase(),p2.getHandCard().get(p2.getHandCard().size()-1).getPoint());

List GameList = new ArrayList();

GameList.add(card1);

GameList.add(card2);

Collections.sort(GameList);

if (p1.getHandCard().contains(GameList.get(1))){

System.out.println("本轮"+p1.getName()+"获胜");

}else if(p2.getHandCard().contains(GameList.get(1))){

System.out.println("本轮"+p2.getName()+"获胜");

}

System.out.println(p1.getName()+"手牌:");

for(Card card:p1.getHandCard()){

System.out.println(card.getHuase()+card.getPoint());

}

System.out.println(p2.getName()+"手牌");

for(Card card:p2.getHandCard()){

System.out.println(card.getHuase()+card.getPoint());

}

p1.getHandCard().clear();

p2.getHandCard().clear();

System.out.println("请输入是否进继续进行游戏,请输入yes或者no");

String choose = scan.next();

if(scan.equals("no")){break;}

}

System.out.println("游戏结束");

}

public static void main(String[] args) {

CardGame CG = new CardGame();

People[] player=new People[2];

for (int i =0;i<2;i++){

boolean flag = true;

while(flag){

try{

player[i] = CG.creatPlayer();

}catch(WrongCommand e){

System.out.println(e.getMessage());

continue;

}

if (player[i].getName()!=null){

flag = false;

}

}

}

SetCard SC = new SetCard();

CG.Game(SC, player[0], player[1]);

}

}

功能基本实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值