游戏简介

一共两位玩家,发两轮牌,最后比较每个人手中最大的牌,较大的玩家获胜。
同花色中2最小,A最大。不同花色的排序为:方片<梅花<红桃<黑桃
(游戏无图形页面)

游戏源码

主类:Game类

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;public class Game {public Map<Integer,Card> cardMap;public Game(){this.cardMap = new HashMap<Integer,Card>();}//创建扑克牌public static Card[] cards = new Card[]{new Card(0,"方片2"),new Card(1,"梅花2"),new Card(2,"红桃2"),new Card(3,"黑桃2"),new Card(4,"方片3"),new Card(5,"梅花3"),new Card(6,"红桃3"),new Card(7,"黑桃3"),new Card(8,"方片4"),new Card(9,"梅花4"),new Card(10,"红桃4"),new Card(11,"黑桃4"),new Card(12,"方片5"),new Card(13,"梅花5"),new Card(14,"红桃5"),new Card(15,"黑桃5"),new Card(16,"方片6"),new Card(17,"梅花6"),new Card(18,"红桃6"),new Card(19,"黑桃6"),new Card(20,"方片7"),new Card(21,"梅花7"),new Card(22,"红桃7"),new Card(23,"黑桃7"),new Card(24,"方片8"),new Card(25,"梅花8"),new Card(26,"红桃8"),new Card(27,"红桃8"),new Card(28,"方片9"),new Card(29,"梅花9"),new Card(30,"红桃9"),new Card(31,"黑桃9"),new Card(32,"方片10"),new Card(33,"梅花10"),new Card(34,"红桃10"),new Card(35,"黑桃10"),new Card(36,"方片J"),new Card(37,"梅花J"),new Card(38,"红桃J"),new Card(39,"黑桃J"),new Card(40,"方片Q"),new Card(41,"梅花Q"),new Card(42,"红桃Q"),new Card(43,"黑桃Q"),new Card(44,"方片K"),new Card(45,"梅花K"),new Card(46,"红桃K"),new Card(47,"黑桃K"),new Card(48,"方片A"),new Card(49,"梅花A"),new Card(50,"红桃A"),new Card(51,"黑桃A")};public void inputCards(){for(int i=0;i<=51;i++){cardMap.put(i,cards[i]);}}public Card[] getCards(){Card[] card = new Card[2];int flag = 0;while(flag<2){int num = (int)(Math.random()*52);Card c = cardMap.get(num);if(c!=null){card[flag] = cards[num]; cardMap.remove(num);flag++;}else{continue;}    }return card;}public int compare(Card[] card){if(card[0].num>card[1].num){return card[0].num;}else{return card[1].num;}}public void getCardBack(int num){cardMap.put(num, cards[num]);}public String getMaxName(int max){return cardMap.get(max).cardName;}//主方法public static void main(String[] args){Game game = new Game();System.out.println("------欢迎进入扑克牌游戏------");System.out.println("---------创建扑克牌---------");System.out.println("-------已成功创建扑克牌-------");game.inputCards();for(int i=0;i<=51;i++){System.out.print(cards[i].cardName);if(i!=51)System.out.print(",");if((i+1)%13==0)System.out.println();}System.out.println("---------开始洗牌---------");System.out.println("---------创建玩家---------");Scanner s = new Scanner(System.in);System.out.println("请输入第一位玩家的ID和姓名");System.out.print("输入ID:");String id1 = s.next();System.out.print("输入姓名:");String name1 = s.next();System.out.println("请输入第二位玩家的ID和姓名");System.out.print("输入ID:");String id2 = s.next();System.out.print("输入姓名:");String name2 = s.next();Player p1 = new Player(id1,name1);Player p2 = new Player(id2,name2);System.out.println("---------开始发牌---------");System.out.println("---"+name1+"拿牌");System.out.println("---"+name2+"拿牌");System.out.println("---"+name1+"拿牌");System.out.println("---"+name2+"拿牌");System.out.println("---------发牌结束---------");p1.cards = game.getCards();p2.cards = game.getCards();//添加回列表game.getCardBack(p1.cards[0].num);game.getCardBack(p1.cards[1].num);game.getCardBack(p2.cards[0].num);game.getCardBack(p2.cards[1].num);int max1 = game.compare(p1.cards);String maxName1 = game.getMaxName(max1);int max2 = game.compare(p2.cards);String maxName2 = game.getMaxName(max2);System.out.println("---玩家"+name1+"最大的手牌为:"+maxName1);System.out.println("---玩家"+name2+"最大的手牌为:"+maxName2);String winner;if(max1>max2){winner = name1;}else{winner = name2;}System.out.println("------玩家:"+winner+"获胜------");System.out.println("各自玩家的手牌为:");System.out.println(name1+":["+p1.cards[0].cardName+","+p1.cards[1].cardName+"]");System.out.println(name2+":["+p2.cards[0].cardName+","+p2.cards[1].cardName+"]");}}

Card类

public class Card {public int num;public String cardName;public Card(){}public Card(int num,String cardName){this.num = num;this.cardName = cardName;}
}

Player类

public class Player {public String ID;public String name;public Card[] cards;public Player(String ID,String name){this.ID = ID;this.name = name;System.out.println("---欢迎玩家:"+this.name);}
}

JAVA小游戏——扑克牌游戏相关推荐

  1. Java实现简单扑克牌游戏

    扑克牌小游戏: 游戏玩法简介:定义五个People在玩扑克牌游戏,玩法是5个人从一副没有大小王的扑克牌中各抽取4张,牌的类型有四种:♥,♣,♠,♦.牌的大小为从1~13.(此处为了简单,只取1 -5) ...

  2. 扑克牌用java实现_用java开发的扑克牌游戏程序源代码

    [实例简介] 主是一用java开发的扑克牌游戏项目的代码及相关资源,具有很大的参考价值.欢迎真正需要的人下载. [实例截图] [核心代码] ec940834-2821-4124-9822-7ceb14 ...

  3. 黑桃k游戏java实战_#Java小案例 扑克牌小游戏

    知识点: 1.Collections.sort; 2.do while确保不重复; 3.重写compare 比较规则; 主要的对象有 1.玩家 (ID.姓名.手牌列表) 2.卡牌(花色.点数) 1.玩 ...

  4. Java实现梭哈扑克牌游戏

    源码链接:https://github.com/zhangdididi/CardGame <赌神>相信很多人都看过,也都见过电影中各种花里胡哨的搓牌发牌的经典场面,这种赌博的玩法就叫做梭哈 ...

  5. Java实现简易扑克牌游戏

    功能描述 1.创建扑克牌.包括四种花色(黑桃,红心,梅花,方块),十三种点数(2-10,J,Q,K),不考虑大小王. 2.创建两个玩家.包括玩家id.姓名.手牌等集合,手牌为扑克牌的集合. 3.洗牌. ...

  6. java编写简易扑克牌游戏

    游戏功能描述 创建一副扑克牌: 包括四种花色:黑桃,红桃,梅花,方片 包括十三种点数:2-10,J,Q,K,A 创建两名玩家(or多名) 玩家至少要有ID,姓名,手牌等属性,手牌为扑克牌的集合 将创建 ...

  7. java有趣项目_有趣的java小项目------猜拳游戏

    package com.aaa; //总结:猜拳游戏主要掌握3个方面:1.人出的动作是从键盘输入的(System.in)2.电脑是随机出的(Random随机数)3.双方都要出(条件判断) import ...

  8. 有趣的java小项目------猜拳游戏

    package com.aaa;//总结:猜拳游戏主要掌握3个方面:1.人出的动作是从键盘输入的(System.in)2.电脑是随机出的(Random随机数)3.双方都要出(条件判断) import ...

  9. java小程序扑克牌_java实现扑克牌牌面小程序

    本文实例为大家分享了java实现扑克牌牌面小程序的具体代码,供大家参考,具体内容如下 本周分享一个扑克牌牌面小程序如下: package com.softeem.lmg.one2.work1; imp ...

最新文章

  1. 在Blender中创建真实的汽车CGI视觉动画效果
  2. 爬虫不得不学之 JavaScript 函数对象篇
  3. Acwing第 23 场周赛【完结】
  4. Python如何将列表分成均匀大小的块?
  5. python3 csv读写_在python3中读取、更新和写入更新的CSV文件
  6. 【Hibernate3.3复习知识点二】 - 配置hibernate环境(annotations)
  7. 通过腾讯地图、高德地图、百度地图开发接口获取坐标对应的周边相关信息
  8. 厉害了!牛顿法深度学习优化器,效果比肩SGD和Adam
  9. 外星人bios按f2调风扇_外星人电脑上海维修站地址「上海市飞雕国际大厦2703室」...
  10. excel字符串和单元格拼接_Excel单元格内计算式及字符串拼接实现
  11. [JNI] 开发基础(1) c语言基本类型
  12. Vue2.0源码解析 - 知其然知其所以然之keep-alive原理分析(二)
  13. python学期学习总结
  14. [技巧]Ubuntu与Windows10局域网共享文件夹
  15. ie input兼容 vue_IE浏览器兼容问题(基于vue)
  16. c语言程序设计评分标准,c语言程序设计期末(A)标准答案及评分标准.doc
  17. CCNET的参考文件
  18. 递归边界条件不足的解决方法
  19. spring boot 配置多个Filter过滤器
  20. 电脑组成部件介绍图解:电脑的硬件组成部分及其作用各是什么?

热门文章

  1. 视觉相关的(在线online)书籍汇总【…
  2. 贝叶斯估计实验(matlab)
  3. 宋宇-课堂对话领域研究热点与 前沿趋势探究
  4. 芯力能在中国开设子公司
  5. 三星:我们不会放弃塞班和其它平台技术
  6. 【趣味案例】用python制作全国身份证号验证及查询系统
  7. 华为将推出自研编程语言仓颉,为什么很多人不看好?
  8. SharePoint 2013 配置我的网站 图文引导
  9. 登陆SQL*PLUS 填写Host String
  10. jenkins: 解决定时构建一分钟构建一次