JAVA入门之简易扑克牌游戏
来源:互联网 发布:mac队基地 编辑:程序博客网 时间:2024/06/05 03:43
游戏规则:2名玩家,每人随机拿2张牌,取各自大的那张,进行比较,得出获胜者。
共52张牌,没有大小王。先比较点数,若点数相同则比较花色。
从大到小为:A,K,Q,J,10,9,8,7,6,5,4,3,2
从大到小为:”黑桃”,”红桃”,”梅花”,”方块“”
Cards
package com.imooc;import java.util.ArrayList;import java.util.Collections;import java.util.List;//创建一副牌。这副牌的索引用来比较牌的大小。public class Cards { private String cardPoints; //牌的点数 public String getCardPoints() { return cardPoints; } public String getCardSuit() { return cardSuit; } private String cardSuit; //花色 final String[] cardPointsArr= {"A","K","Q","J","10","9","8","7","6","5","4","3","2"}; final String[] cardSuitArr= {"黑桃","红桃","梅花","方块"}; public List<Cards> newCards=new ArrayList<Cards>(); //用于存放一副牌,没有大小王,52张。 public List<Cards> newCards1=new ArrayList<Cards>(); public Cards(String suit,String point) { //单张牌的构造方法 cardPoints=point; cardSuit=suit; } public void creatCards() { //创建一副牌 存入 newCards, for(String temp1:cardPointsArr) { for(String temp:cardSuitArr) { Cards c=new Cards(temp1,temp); newCards.add(c); newCards1.add(c); } } System.out.println("*************洗牌成功!*************");//虽然没有洗牌,但是发牌是随机发的,这是句话给客户看的。 }}
Plays
package com.imooc;import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.Scanner;//创建玩家public class Plays { private String name; //姓名 public String getName() { return name; } private List<Cards> handCards;// 手牌 public List<Cards> getHandCards() { return handCards; } Plays play,play1; public Plays(String name) { //玩家构造方法 this.name=name; handCards=new ArrayList<Cards>(); } public void creatPlays() { //创建2个玩家 play和paly1 System.out.println("***********************************"); System.out.println("***********请输入第一位玩家姓名:*********"); Scanner input=new Scanner(System.in); String temp=input.nextLine(); play=new Plays(temp); System.out.println("***********请输入第二位玩家姓名:*********"); String temp1=input.nextLine(); play1=new Plays(temp1); System.out.println("*************玩家初始化成功!*************"); } public void getHandCards(Plays one,Plays two,List<Cards> neards) { //随机给每个玩家各发2张牌 System.out.println("***************开始发牌*****************"); Random random=new Random(); for(int j=0;j<2;j++) { do{int i=random.nextInt(52); one.handCards.add(neards.get(i)); }while(one.handCards.contains(neards.get(j))); } neards.removeAll(one.handCards); for(int j=0;j<2;j++) { do{int i=random.nextInt(50); two.handCards.add(neards.get(i)); }while(two.handCards.contains(neards.get(j))); } System.out.println("****************发牌完毕***************"); }}
Compare
package com.imooc;import java.util.List;//用来比较2个人手牌的大小,得出获胜者。public class Compare {static public void compare(Plays one,Plays two ,List<Cards> aq) { int oneMax,twoMax; Cards temp= one.getHandCards().get(0);//分别得到2个人的2张牌。 Cards temp1= one.getHandCards().get(1); Cards temp2= two.getHandCards().get(0); Cards temp3= two.getHandCards().get(1); int oneIndex=aq.indexOf(temp); //得到这4张牌的索引。 int oneIndex1=aq.indexOf(temp1); int twoIndex=aq.indexOf(temp2); int twoIndex1=aq.indexOf(temp3); if(oneIndex<oneIndex1) { //通过索引比较大小。 oneMax=oneIndex; }else { oneMax=oneIndex1; } if(twoIndex<twoIndex1) { twoMax=twoIndex; }else { twoMax=twoIndex1; } if(oneMax<twoMax) { //比较出获胜者 System.out.println("**********玩家"+one.getName()+"获胜************"); }else {System.out.println("**********玩家"+two.getName()+"获胜************");} System.out.println("**********玩家"+one.getName()+"的手牌是************"); System.out.println(temp.getCardSuit()+temp.getCardPoints()+"\t"+temp1.getCardSuit()+temp1.getCardPoints()); System.out.println("**********玩家"+two.getName()+"的手牌是************"); System.out.println(temp2.getCardSuit()+temp2.getCardPoints()+"\t"+temp3.getCardSuit()+temp3.getCardPoints()); }}
Test
package com.imooc;//测试窗口。public class Test { public static void main(String[] args) { Cards aq=new Cards("a","a");//创建1个对象,用来调用方法 Plays aw=new Plays("aa"); //创建1个对象,用来调用方法 aq.creatCards(); aw.creatPlays(); aw.getHandCards(aw.play, aw.play1, aq.newCards); Compare.compare(aw.play, aw.play1, aq.newCards1); }}
阅读全文
0 0
- JAVA入门之简易扑克牌游戏
- 11、Java入门-简易扑克牌游戏
- JAVA简易扑克牌游戏
- Java入门第三季-综合实战:简易扑克牌游戏
- IMOOC java入门第三季——简易扑克牌游戏
- java编写简易扑克牌游戏
- java实现--简易扑克牌游戏
- Java实现简易扑克牌游戏
- java自学笔记13:简易扑克牌游戏
- 简易扑克牌游戏
- 慕课网简易扑克牌游戏
- java简易扑克牌游戏,慕课第三季作业
- Java简易扑克牌
- Java之简易扑克游戏
- 简易的扑克牌比点数游戏
- list下的简易扑克牌游戏
- 【算法】C语言实现简易的扑克牌游戏
- 扑克牌游戏
- 毕业两年
- CoordinatorLayout源码解析之从NestedScrolling说起
- Android Studio中新建资产目录assets
- 【unity3d学习笔记】实现点击小地图让角色移动至对应位置
- 实现fullnat模式的环境构造——编译内核
- JAVA入门之简易扑克牌游戏
- 资深Java程序员的学习路线建议
- HTTP协议详解
- 【Git之窗】(七).gitignore
- mybatis 面试题
- AtCoder 079F Namori Grundy
- SqlSessionFactory和Sqlsession
- HDU 2124 Repair the Wall
- BZOJ4318 OUS! 解题报告【期望DP】