package com.powernode.Pk1;
import java.util.ArrayList;
import java.util.Collections;
public class Card
{
public static void main(String[] args)
{
String[] num = {"A","2","3","4","5","6","7","8","9","10","j","q","k"};
String[] color = {"方片","梅花","红桃","黑桃"};
boolean checkPoint1 = false;
boolean checkPoint2 = false;
ArrayList<String> poker = new ArrayList<>();
for (int i = 0; i < color.length; i++)
{
for (int j = 0; j < num.length; j++)
{
poker.add(color[i] + "" + num[j]);
}
}
poker.add("小王");
poker.add("大王");
Collections.shuffle(poker);
ArrayList<String> Jack = new ArrayList<>();
ArrayList<String> Rose = new ArrayList<>();
ArrayList<String> Me = new ArrayList<>();
ArrayList<String> lastCards = new ArrayList<>();
int count = 0;
L:while(checkPoint1 != true && checkPoint2 != true){
count++;
for (int i = 0; i < poker.size(); i++)
{
if(i >= poker.size() - 3)
{
lastCards.add(poker.get(i));
}
else if(i % 3 == 0)
{
Jack.add(poker.get(i));
}
else if(i % 3 == 1)
{
Rose.add(poker.get(i));
}
else if(i % 3 == 2)
{
Me.add(poker.get(i));
}
}
for (int i = 0; i < Jack.size(); i++) {
System.out.println(Jack.get(i));
}
for (int i = 0; i < Rose.size(); i++) {
System.out.println(Rose.get(i));
}
for (int i = 0; i < Me.size(); i++) {
System.out.println(Me.get(i));
}
ArrayList<Integer> jackScores = new ArrayList<>();
int jackCount = 0;
ArrayList<String> jackCardFlowers = new ArrayList<>();
for (int i = 0; i < Jack.size(); i++) {
String s = Jack.get(i);
boolean flag = false;
switch (s)
{
case "小王":{
jackScores.add(16);
flag = true;
}
case "大王":{
jackScores.add(17);
flag = true;
}
}
String end = "0";
String flower = "";
if(flag == false){
end = Jack.get(i).substring(2,s.length());
flower = Jack.get(i).substring(0,2);
jackCardFlowers.add(flower);
}
if(end.equals("j")){
jackScores.add(11);
}
else if (end.equals("q")) {
jackScores.add(12);
}
else if (end.equals("k")) {
jackScores.add(13);
}
else if (end.equals("A")) {
jackScores.add(14);
}
else if (end.equals("2")) {
jackScores.add(15);
}else{
jackScores.add(Integer.parseInt(end));
}
}
for (int i = 0; i < jackScores.size(); i++) {
jackCount += jackScores.get(i);
}
ArrayList<Integer> roseScores = new ArrayList<>();
int roseCount = 0;
ArrayList<String> roseCardFlowers = new ArrayList<>();
for (int i = 0; i < Rose.size(); i++) {
String s = Rose.get(i);
boolean flag = false;
switch (s)
{
case "小王":{
roseScores.add(16);
flag = true;
}
case "大王":{
roseScores.add(17);
flag = true;
}
}
String end = "0";
String flower = "";
if(flag == false){
end = Rose.get(i).substring(2,s.length());
flower = Rose.get(i).substring(0,2);
roseCardFlowers.add(flower);
}
if(end.equals("j")){
roseScores.add(11);
}
else if (end.equals("q")) {
roseScores.add(12);
}
else if (end.equals("k")) {
roseScores.add(13);
}
else if (end.equals("A")) {
roseScores.add(14);
}
else if (end.equals("2")) {
roseScores.add(15);
}else{
roseScores.add(Integer.parseInt(end));
}
}
for (int i = 0; i < roseScores.size(); i++) {
roseCount += roseScores.get(i);
}
if(roseCount > jackCount){
System.out.println("Rose大于Jack了");
checkPoint1 = true;
}
boolean first = true;
for (int i = 0; i < roseCardFlowers.size(); i++) {
for (int j = 0; j < jackCardFlowers.size(); j++) {
if (!(roseCardFlowers.get(i).equals(jackCardFlowers.get(i)))){
first = false;
}
}
}
if(first = true){
System.out.println("Rose和Jack两者牌型相同");
checkPoint2 = true;
}
if(checkPoint1 == true && checkPoint2 == true){
break L;
}
else{
checkPoint1 = false;
checkPoint2 = false;
}
ArrayList<Integer> meScores = new ArrayList<>();
int meCount = 0;
ArrayList<String> meCardFlowers = new ArrayList<>();
for (int i = 0; i < Me.size(); i++) {
String s = Me.get(i);
boolean flag = false;
switch (s)
{
case "小王":{
meScores.add(16);
flag = true;
}
case "大王":{
meScores.add(17);
flag = true;
}
}
String end = "0";
String flower = "";
if(flag == false){
end = Me.get(i).substring(2,s.length());
flower = Me.get(i).substring(0,2);
meCardFlowers.add(flower);
}
if(end.equals("j")){
meScores.add(11);
}
else if (end.equals("q")) {
meScores.add(12);
}
else if (end.equals("k")) {
meScores.add(13);
}
else if (end.equals("A")) {
meScores.add(14);
}
else if (end.equals("2")) {
meScores.add(15);
}else{
meScores.add(Integer.parseInt(end));
}
}
for (int i = 0; i < meScores.size(); i++) {
meCount += meScores.get(i);
}
if(meCount > roseCount){
System.out.println("我大于Rose了");
checkPoint1 = true;
}
boolean second = true;
for (int i = 0; i < meCardFlowers.size(); i++) {
for (int j = 0; j < roseCardFlowers.size(); j++) {
if (!(meCardFlowers.get(i).equals(roseCardFlowers.get(i)))){
first = false;
}
}
}
if(second = true){
System.out.println("我和Rose两者牌型相同");
checkPoint2 = true;
}
}
System.out.println("随机了"+count+"次实现");
}
}
JAVA斗地主找出一手牌中跟上家牌型相同且刚好比对方大一点的牌的组合------JAVA
原创
©著作权归作者所有:来自51CTO博客作者旧约Alatus的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
斗地主系列之牌型判断
参考资料:1.
斗地主 牌型判断 List 参考资料 -
给一手牌分类
给一手牌分类
职场 休闲 分类 一手牌 -
斗地主系列之牌型大小比较
3.比较牌型大小:1)比较牌型大小总原则:(a) 火箭最大,可以打任意其他的牌。 (b) 炸弹比火箭小,比其他牌大。都是炸弹时按
斗地主 牌型大小比较 List 参考资料 -
用unity先来个一副牌的单机斗地主
从发完牌的玩家开始,按照顺时针方向,每位玩家可以选择叫地主或不叫地主。请注意,这只是一个基本的洗牌示例,实际应用
unity 游戏引擎 List System 洗牌算法 -
牌型种数
小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均
c语言 算法 i++ ios #include -
python 哈希值做减法
本节内容1. 函数基本语法及特性2. 参数与局部变量3. 返回值 嵌套函数4.递归5.匿名函数6.函数式编程介绍7.高阶函数8.内置函数 温故知新 &n
python 哈希值做减法 python 局部变量 全局变量