纸牌游戏java实现,用java编写一个扑克牌的程序
写爬虫互联网协议(互联网协议)被封了怎么解决?立即使用
扑克牌小游戏:
(推荐教程:java课程)
游戏玩法简介:定义五个人在玩扑克牌游戏,玩法是5个人从一副没有大小王的扑克牌中各抽取四张,牌的类型有四种:牌的大小为从1~13。(此处为了简单,只取1-5)。
1、黑桃A在哪名玩家手中,哪名玩家就获胜。
包扑克;
导入Java。util。ArrayList
导入Java。util。收藏;
导入Java。util。列表;
导入Java。util。随机;
导入Java。util。并发。可赎回;
公共类游戏{
公共静态void main(String[] args) {
//定义5名玩家,使用目录
list player player list=new ArrayList();
playerList.add(新玩家(于美人));
playerList.add(新玩家(小婷子));
playerList.add(新玩家(小晨子));
playerList.add(新玩家(小艾));
playerList.add(新玩家(小珍子));
//定义扑克牌顺序表
list card list=new ArrayList();
//初始化扑克牌
初始化卡片(卡片列表);
系统。出去。println(卡片列表);
//调用收集下的洗牌(洗牌)方法
//进行洗牌
Collections.shuffle卡片列表);
//System.out.println(抽牌前,牌组中的牌:);
系统。出去。println(卡片列表);
//发牌
int n=2;//每名玩家发几张牌
for(int I=0;在;i ){//一共发n轮牌
for(玩家玩家:玩家列表){//每名玩家一次抽牌
卡片卡片=卡片列表。删除(0);//从牌组中,抽一张牌出来
player.cardList.add(卡片);//把这张牌放到当前玩家的手中
}
}
System.out.println(现在牌组中剩余的牌:);
系统。出去。println(卡片列表);
System.out.println(交换牌之前:);
for(Player player:playerList){
System.out.printf(玩家[%s]的手牌是:%s%n ,player.name,player。卡片列表);
}
//要找的牌,方法一
卡到基金卡=新卡(,1);
for(Player player:playerList){
for(Card card:player.cardList){
//比较每张牌和要找的是否为同一张牌
if(card.equals(toFoundCard)){
System.out.println(player.name 获胜);
返回;
}
}
}
System.out.println(无人获胜);
}
//要找的牌,方法2
卡到FoundCard2=新卡片(,1);
for(Player player:playerList){
如果(玩家。卡片列表。包含(toFoundCard)){
System.out.println(player.name 获胜);
返回;
}
}
私有静态void initializeCards(列表卡卡){
for(String suit:new String[]{ ,, , }){
for(int rank=1;rank=5;排名){
卡牌=新卡(花色,等级);
//把扑克牌放入牌组中
cards.add(卡片);
}
}
}2、让每名玩家,依次抽取他的下家的一张手牌,然后再找一,找到A就获胜。
//添加打印手牌的方法
public static void printPlayerHandCard(列出玩家玩家列表){
for(Player player:playerList){
System.out.printf(玩家[%s]的手牌是:%s%n ,player.name,player。卡片列表);
}
}
//集体实现交换的过程
//交换牌
//每名玩家随机抽取下家的一张牌
Random Random=new Random();
for(int I=0;iplayerlist。size();i ){
玩家当前玩家=玩家列表。get(I);
//下家就是按照前后关系的下一个,最后一名玩家抽取第0个
玩家下一个玩家=玩家列表。get(我!=playerList.size()-1?我1:0);
//要取的牌的下标
int toDrawIndex=random。nextint(下一个玩家。卡片列表。size());
//取牌
抽牌=下一个玩家。卡片列表。remove(toDrawIndex);
//放入当前玩家的手中
当前玩家。卡片列表。添加(抽卡);
}
System.out.println(交换牌之后:);
printPlayerHandCard(球员名单);3、于美人是赌神,她有变牌能力:她手中一旦没有一,她就可以把第一张牌变成答。(交换牌之前,有机会变一次;交换牌之后,有机会变一次)
卡到基金卡=新卡(,1);
//已知于美人的下标为0
运动员于美人=玩家列表。get(0);
如果(!于美人。卡片列表。包含(toFoundCard)){
于美人。cardList.set(0,toFoundCard);
}
System.out.println(于美人第一次发功:);
printPlayerHandCard(球员名单);
System.out.println(交换牌之后:);
printPlayerHandCard(球员名单);
//此处交换牌过程省略。。
如果(!于美人。卡片列表。包含(toFoundCard)){
于美人。cardList.set(0,toFoundCard);
}
System.out.println(于美人第二次发功:);
printPlayerHandCard(球员名单);定义玩家新的的一个类:
包扑克;
导入Java。util。ArrayList
导入Java。util。列表;
公共类玩家{
public list card list=new ArrayList();
公共字符串名称;
公共播放器(字符串名称){
this.name=name
}
}定义扑克牌的一个类:
包扑克;
导入Java。util。对象;
公共类别卡{
公串套装;//花色
公共(同Internationalorganizations)国际组织排名;//分值
//构造方法
公共卡(串套,int rank){
等级=等级
this.suit=套装;
}
@覆盖
公共字符串toString() {
返回String.format([%s%d],花色,等级);
}
//重写比较相等的方法
@覆盖
public boolean equals(Object o) {
如果(this==o)返回真实的
if (o==null getClass()!=o.getClass())返回错误的
卡卡=(卡)o;
返回等级==卡片
Objects.equals(花色、牌。套装);
}
}注意:
(1)要重新定义比较相等方法的重写。
(2)注意为每一个方法的写法。
相关推荐:java入门教程以上就是利用爪哇岛实现简单的扑克牌小游戏的详细内容,更多请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。