纸牌游戏java实现,用java编写一个扑克牌的程序

  纸牌游戏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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: