Java扑克牌(enum)

举报
红目香薰 发表于 2022/01/22 00:46:23 2022/01/22
【摘要】 包名: package com.item.test; 花色enum(UTF-8编码需要存储♦♣♥♠) package com.item.test; /** * 花色 */public enum CardColorEnum { //♦♣♥♠ PIAN("♦",1), HUA("♣",2), HONG("♥",...

包名:

package com.item.test;
 

花色enum(UTF-8编码需要存储♦♣♥♠)


  
  1. package com.item.test;
  2. /**
  3. * 花色
  4. */
  5. public enum CardColorEnum {
  6. //♦♣♥♠
  7. PIAN("♦",1),
  8. HUA("♣",2),
  9. HONG("♥",3),
  10. HEI("♠",4);
  11. private String Name;
  12. private int index;
  13. CardColorEnum(String Name,int index){
  14. this.Name=Name;
  15. this.index=index;
  16. }
  17. public String getName() {
  18. return Name;
  19. }
  20. public void setName(String name) {
  21. Name = name;
  22. }
  23. public int getIndex() {
  24. return index;
  25. }
  26. public void setIndex(int index) {
  27. this.index = index;
  28. }
  29. }

牌号enum


  
  1. package com.item.test;
  2. /**
  3. * 牌号
  4. */
  5. public enum CardsEnum {
  6. THREE("3",3),
  7. FOUR("4",4),
  8. FIVE("5",5),
  9. SIX("6",6),
  10. SEVEN("7",7),
  11. EIGHT("8",8),
  12. NINE("9",9),
  13. TEN("10",10),
  14. JACK("J",11),
  15. QUEEN("Q",12),
  16. KING("K",13),
  17. ACE("A",14),
  18. TWO("2",15);
  19. private String Name;
  20. private int index;
  21. CardsEnum(String Name,int index){
  22. this.Name=Name;
  23. this.index=index;
  24. }
  25. public String getName() {
  26. return Name;
  27. }
  28. public void setName(String name) {
  29. Name = name;
  30. }
  31. public int getIndex() {
  32. return index;
  33. }
  34. public void setIndex(int index) {
  35. this.index = index;
  36. }
  37. }

大小鬼enum


  
  1. package com.item.test;
  2. public enum CardBossEnum {
  3. BIG("BigBoss",1),
  4. SMALL("SmallBoss",2);
  5. private String Name;
  6. private int index;
  7. CardBossEnum(String Name,int index){
  8. this.Name=Name;
  9. this.index=index;
  10. }
  11. public String getName() {
  12. return Name;
  13. }
  14. public void setName(String name) {
  15. Name = name;
  16. }
  17. public int getIndex() {
  18. return index;
  19. }
  20. public void setIndex(int index) {
  21. this.index = index;
  22. }
  23. }

初始化卡牌(按照斗地主的排序,3最小2最大,王顶天):


  
  1. /**
  2. * 初始化卡牌
  3. * @return
  4. */
  5. public static List<Card> StartCard(){
  6. List<Card> list=new ArrayList<>(54);
  7. int i=0;
  8. for (CardsEnum cardsEnum:CardsEnum.values()) {
  9. for (CardColorEnum cardColorEnum:CardColorEnum.values()) {
  10. list.add(new Card(cardsEnum,cardColorEnum,i++));
  11. }
  12. }
  13. Card big=new Card();
  14. big.setName(CardBossEnum.BIG.getName());
  15. big.setIndex(i++);
  16. Card small=new Card();
  17. small.setName(CardBossEnum.SMALL.getName());
  18. small.setIndex(i++);
  19. list.add(small);
  20. list.add(big);
  21. return list;
  22. }

测试类:


  
  1. package com.item.test;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. public class Action {
  5. public static void main(String[] args) {
  6. List<Card> list=StartCard();
  7. int i=0;
  8. for (Card c:list) {
  9. System.out.print(c.getIndex()+"号牌:"+c.getName()+"\t");
  10. i++;
  11. if(i%3==0){
  12. System.out.println();
  13. }
  14. }
  15. }
  16. /**
  17. * 初始化卡牌
  18. * @return
  19. */
  20. public static List<Card> StartCard(){
  21. List<Card> list=new ArrayList<>(54);
  22. int i=0;
  23. for (CardsEnum cardsEnum:CardsEnum.values()) {
  24. for (CardColorEnum cardColorEnum:CardColorEnum.values()) {
  25. list.add(new Card(cardsEnum,cardColorEnum,i++));
  26. }
  27. }
  28. Card big=new Card();
  29. big.setName(CardBossEnum.BIG.getName());
  30. big.setIndex(i++);
  31. Card small=new Card();
  32. small.setName(CardBossEnum.SMALL.getName());
  33. small.setIndex(i++);
  34. list.add(small);
  35. list.add(big);
  36. return list;
  37. }
  38. }

效果图:

 

本系列的初始章节,后续开始注意编写。

文章来源: laoshifu.blog.csdn.net,作者:红目香薰,版权归原作者所有,如需转载,请联系作者。

原文链接:laoshifu.blog.csdn.net/article/details/114792614

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。