当前位置: 首页 > news >正文

蝴蝶传媒网站推广国内代理

蝴蝶传媒网站推广,国内代理,安溪人做的网站,远程图片本地化for wordpress【Java数据结构】基于java泛型实现的二维数组完成三人扑克游戏 基本框架的实现创建一副牌如何进行洗牌#xff1a;每个人抓的牌放到哪里#xff1a; 源码具体实现cardcardsTest 个人简介#xff1a;努力学编程 每日鸡汤#xff1a;stay foolish,stay hungry-史蒂芬.乔布斯斯… 【Java数据结构】基于java泛型实现的二维数组完成三人扑克游戏 基本框架的实现创建一副牌如何进行洗牌每个人抓的牌放到哪里 源码具体实现cardcardsTest 个人简介努力学编程 每日鸡汤stay foolish,stay hungry-史蒂芬.乔布斯斯坦福大学演讲 一起刷题一起进步(牛客网)面试必刷-数据结构 hello今天教大家如何使用java中已提供的ArrayList和泛型的知识完成一个小游戏模拟实现三个人玩扑克从新建牌到洗牌到发牌以及如何将牌存储到这三个玩家的手里。 基本框架的实现 游戏介绍有一副扑克三个人玩每个人轮流接一张牌一共接五次最后打印出来这三个人所接的牌以及剩下的牌注意J,Q,K使用11,12,13代替牌色有♥♠♣♦一共是52张牌。 创建一副牌 任何一副牌都是由花色和大小这两种属性组成我们这里创建一个类存放牌的信息。 public class Card {public int rank;//数字public String suit;//花色public Card(int rank, String suit) {this.rank rank;this.suit suit;}Overridepublic String toString() {return Card{ rank rank , suit suit \ };} } 有了一张基本牌的信息我们就可以创建一整副牌了这里还是新创建一个类cards存放一整副牌的信息利用泛型将一整副牌进行存储 通过这几部操作最终就把牌全部放到了cardList当中 这里我们可以创建一个main方法把整副牌的信息打印出来进行检验 ok整副牌存放成功 如何进行洗牌 这里我们使用一个shuffle方法进行洗牌它的逻辑就是在牌堆里生成一个随机数random然后然后将指定的某个牌与其发生交换循环这个过程就实现了洗牌直接上代码感受一下 public void shuffle(ListCardcardList){Random randomnew Random();for(int icardList.size()-1;i0;i--){int randIndexrandom.nextInt(i);swap(cardList,i,randIndex);}}private void swap(ListCardcardList,int i,int j){Card tmpcardList.get(i);cardList.set(i,cardList.get(j));cardList.set(j,tmp);}每个人抓的牌放到哪里 一共是三个人轮流抓五张牌这里我们首先使用两个for循环来表示抓牌的整个过程接下来要把每个人抓的牌存储下来这里使用的泛型模拟二维数组来进行存储 这里需要注意remove就是移除掉洗完牌之后的最上层的牌赋给对应的玩家之后最顶层的牌就会更新循环刚才的过程而后面的这句程序其实也不难理解 get(i)是获取了每个玩家的身份进一步的add(card)是给每个对应的玩家进行发牌。通过这行代码就完成了给三个玩家发牌的效果这里非常有意思多看几遍就好了。这里也给大家画个图体会一下这其中的逻辑 最后用test方法检测一下 import java.util.List; public class Test {public static void main(String[] args) {Cards cardsnew Cards();ListCardcardListcards.buyCard();cards.shuffle(cardList);//洗牌之后System.out.println();System.out.println(cardList);//抓牌System.out.println(抓牌);cards.drawCard(cardList);//剩下的牌System.out.println(剩下的牌);System.out.println(cardList);} } 好了到这里我们就实现了这个游戏的基本逻辑框架了主要是使用了泛型类和java提供的ArrayList来实现的ArrayList本质上还是顺序表我之前写过C语言的顺序表两者背后的逻辑是一样的如果你不懂顺序表的话可以看看这篇文章 C语言顺序表-详解. 源码具体实现 card public class Card {public int rank;//数字public String suit;//花色public Card(int rank, String suit) {this.rank rank;this.suit suit;}Overridepublic String toString() {return {suit rank};}; }cards import java.util.ArrayList; import java.util.List; import java.util.Random;public class Cards {public static final String[] suits{♥,♠,♣,♦};//一共4个花色 13张牌public ListCard buyCard(){ListCardcardListnew ArrayList();for(int i0;i4;i){for(int j1;j13;j){int rankj;String suitsuits[i];Card cardnew Card(rank,suit);cardList.add(card);}}return cardList;}public void shuffle(ListCardcardList){Random randomnew Random();for(int icardList.size()-1;i0;i--){int randIndexrandom.nextInt(i);swap(cardList,i,randIndex);}}private void swap(ListCardcardList,int i,int j){Card tmpcardList.get(i);cardList.set(i,cardList.get(j));cardList.set(j,tmp);}public void drawCard(ListCard cardList){ListCardhand1new ArrayList();ListCardhand2new ArrayList();ListCardhand3new ArrayList();ListListCardhandsnew ArrayList();hands.add(hand1);hands.add(hand2);hands.add(hand3);for(int i0;i5;i){for(int j0;j3;j){Card cardcardList.remove(0);hands.get(j).add(card);}}System.out.println(第一个人的牌hand1);System.out.println(第二个人的牌hand2);System.out.println(第三个人的牌hand3);} }Test import java.util.List; public class Test {public static void main(String[] args) {Cards cardsnew Cards();ListCardcardListcards.buyCard();cards.shuffle(cardList);//洗牌之后System.out.println();System.out.println(cardList);//抓牌System.out.println(抓牌);cards.drawCard(cardList);//剩下的牌System.out.println(剩下的牌);System.out.println(cardList);} }好了今天就分享到这里有什么问题私信或者评论区都可以哦~
http://www.pierceye.com/news/786434/

相关文章:

  • 福州建设厅官方网站巨省网站
  • 网站建设服务专业html网页制作公司
  • 企业网站源码怎么获取秦皇岛黄金海岸游玩攻略
  • 网站模板建设报价上海移动官网网站建设
  • 厦门建网站费用一览表网站建设与管理ppt模板下载
  • 做赌场网站犯法么网站开发培训成都
  • 网站建设系统怎么样企业策划是做什么的
  • 做网站要不要钱网站如何做触屏滑动
  • 加工企业网站这么做常德网站建设企业
  • 百度举报网站wordpress主题缩略图
  • 南宁快速网站建设电话WordPress电影公司网站
  • 什么网站可以直接做word文档亚马逊周末可以视频认证吗
  • 网站设计申请书买购网官方网站
  • 深圳做网站建设公司青岛网景互联网站建设公司
  • 做公司网站要多少钱洛阳信息网
  • asp 网站名字免费的公众号排版工具
  • 郑州响应式建站查企业的信息在哪个官网
  • 大型企业网站开发怎么使用免费的wordpress
  • 大连做网站大公司建设项目咨询公司网站
  • 教育培训网站建设方案鞍山建设信息网站
  • 重庆网站建设哪家强平台如何做推广
  • 安徽省建设安全监督站的网站网站建设公司一般多少钱
  • 服装网站建设策划书3000字软件开发包含网站开发吗
  • 免费网站的建设绵阳网站建设制作
  • 学生处网站建设招标公告网站包括哪些主要内容
  • 成都门户网站建设多少钱聚合广告联盟
  • 坦克大战网站开发课程设计报告软文营销的本质
  • 美食网站开发网站登录验证码是怎么做的
  • 电子商务网站排名辽宁省建设工程信息网业绩公示
  • 天津建设科技杂志的官方网站wordpress cnzz插件