为了账号安全,请及时绑定邮箱和手机立即绑定

简单扑克牌游戏(写的不好,多多包涵)

标签:
Java 测试

Black类(黑桃)

package com.pick;

import java.util.ArrayList;
import java.util.List;

public class Black {
    public List<Black> black;
    String Id;
    String Name = "黑桃";

    public Black(String Id,String Name){
        this.Id=Id;
        this.Name=Name;
    }

    public void balcktest(){
        this.black = new ArrayList<>();
        for(int i =1; i <= 13;i++){
            if(i == 1){
                System.out.print(Name+"A ");
                Black cr1 = new Black("A",Name);
                black.add(cr1);

            }else if(i == 11){
                System.out.print(Name+"J ");
                Black cr2 = new Black("J",Name);
                black.add(cr2);
            }
            else if(i == 12){
                System.out.print(Name+"Q ");
                Black cr3 = new Black("Q",Name);
                black.add(cr3);
            }
            else if(i == 13){
                System.out.print(Name+"K");
                Black cr4 = new Black("K",Name);
                black.add(cr4);
            }else{

                String temp;
                temp = String.valueOf(i);
                System.out.print(Name+i+" ");
                Black cr5 = new Black(temp,Name);
                black.add(cr5);
            }
        }
//      for (Black obj : black) {
//      Black bl = (Black)obj;
//      System.out.println("完成添加" + bl.Id + ":" +  bl.Name);
//  }

    }

}

Fang类(方片)

package com.pick;

import java.util.ArrayList;
import java.util.List;

public class fang {
    public List<Black> fang;

    String Name = "方片";
    String Id;
    public fang(String Id,String Name){
        this.Id=Id;
        this.Name=Name;
    }

    public void balcktest(){
        this.fang = new ArrayList<>();
        for(int i =1; i <= 13;i++){
            if(i == 1){
                System.out.print(Name+"A ");
                Black cr1 = new Black("A",Name);
                fang.add(cr1);

            }else if(i == 11){
                System.out.print(Name+"J ");
                Black cr2 = new Black("J",Name);
                fang.add(cr2);
            }
            else if(i == 12){
                System.out.print(Name+"Q ");
                Black cr3 = new Black("Q",Name);
                fang.add(cr3);
            }
            else if(i == 13){
                System.out.print(Name+"K");
                Black cr4 = new Black("K",Name);
                fang.add(cr4);
            }else{

                String temp;
                temp = String.valueOf(i);
                System.out.print(Name+i+" ");
                Black cr5 = new Black(temp,Name);
                fang.add(cr5);
            }
        }
//      for (Object obj : black) {
//          Black bl = (Black)obj;
//          System.out.println("完成添加" + bl.Id + ":" +  bl.Name);
//      }
    }

}

Gamer(玩家)

package com.pick;

import java.util.List;

public class Gamer {
    public List<Black> gamer;
    String Id;
    String Name;

    public Gamer(String Id,String Name){
        this.Id=Id;
        this.Name=Name;
    }
}

LastList(最终比较存储List)

package com.pick;

import java.util.ArrayList;
import java.util.List;

public class LastList {

    String Id;
    String Name;
    public List<Black> lastlist;
    public void lastlist(String Id,String Name){
        this.Id=Id;
        this.Name = Name;
    }

}

mei(梅花)

package com.pick;

import java.util.ArrayList;
import java.util.List;

public class mei {
    public List<Black> mei;

    String Name = "梅花";
    String Id;
    public mei(String Id,String Name){
        this.Id=Id;
        this.Name=Name;
    }

    public void balcktest(){
        this.mei = new ArrayList<>();
        for(int i =1; i <= 13;i++){
            if(i == 1){
                System.out.print(Name+"A ");
                Black cr1 = new Black("A",Name);
                mei.add(cr1);

            }else if(i == 11){
                System.out.print(Name+"J ");
                Black cr2 = new Black("J",Name);
                mei.add(cr2);
            }
            else if(i == 12){
                System.out.print(Name+"Q ");
                Black cr3 = new Black("Q",Name);
                mei.add(cr3);
            }
            else if(i == 13){
                System.out.print(Name+"K");
                Black cr4 = new Black("K",Name);
                mei.add(cr4);
            }else{

                String temp;
                temp = String.valueOf(i);
                System.out.print(Name+i+" ");
                Black cr5 = new Black(temp,Name);
                mei.add(cr5);
            }
        }
    }

}

Pai(牌组)

package com.pick;

import java.util.List;

public class Pai {
    public List<Black>paiku;
    String Id;
    String Name;
    public void paiku(String Id,String Name){
        this.Id=Id;
        this.Name=Name;
    }
}

Red(红心)

package com.pick;

import java.util.ArrayList;
import java.util.List;

public class Red {
    public List<Black> red;

    String Name = "红桃";
    String Id;
    public Red(String Id,String Name){
        this.Id=Id;
        this.Name=Name;
    }

    public void balcktest(){
        this.red = new ArrayList<>();
        for(int i =1; i <= 13;i++){
            if(i == 1){
                System.out.print(Name+"A ");
                Black cr1 = new Black("A",Name);
                red.add(cr1);

            }else if(i == 11){
                System.out.print(Name+"J ");
                Black cr2 = new Black("J",Name);
                red.add(cr2);
            }
            else if(i == 12){
                System.out.print(Name+"Q ");
                Black cr3 = new Black("Q",Name);
                red.add(cr3);
            }
            else if(i == 13){
                System.out.print(Name+"K");
                Black cr4 = new Black("K",Name);
                red.add(cr4);
            }else{

                String temp;
                temp = String.valueOf(i);
                System.out.print(Name+i+" ");
                Black cr5 = new Black(temp,Name);
                red.add(cr5);
            }
        }
//      for (Object obj : black) {
//          Black bl = (Black)obj;
//          System.out.println("完成添加" + bl.Id + ":" +  bl.Name);
//      }
    }

}

Main(主函数类)

package com.pick;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;
import java.util.Scanner;

public class TestMain {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
            Black tm = new Black(null, "黑桃");
            Red tm2 = new Red(null, "红桃");
            fang tm3 = new fang(null, "方片");
            mei tm4 = new mei(null, "梅花");
            Gamer gamer = new Gamer(null, null);

            System.out.println("                 ---------创建扑克牌--------");

            System.out.println("                 --------扑克牌创建成功------");
            //黑桃
            System.out.print("[");
            tm.balcktest();
            System.out.print("]");
            //红桃
            System.out.println("\t");
            System.out.print("[");
            tm2.balcktest();
            System.out.print("]");
            //方片
            System.out.println("\t");
            System.out.print("[");
            tm3.balcktest();
            System.out.print("]");
            //梅花
            System.out.println("\t");
            System.out.print("[");
            tm4.balcktest();
            System.out.print("]");
            System.out.println("\t");
            /**
             * 组合牌组
             */
            for(int i=0;i<tm2.red.size();i++){
                tm.black.add((Black) tm2.red.get(i));
            }

            for(int i=0;i<tm2.red.size();i++){
                tm.black.add((Black) tm4.mei.get(i));
            }

            for(int i=0;i<tm2.red.size();i++){
                tm.black.add((Black) tm3.fang.get(i));
            }

            /**
             * 
             * 开始洗牌
             */
            System.out.println("                 ---------开始洗牌--------");
            System.out.println("                 ---------洗牌完成--------");
            Collections.shuffle(tm.black);              //排序打乱
            Collections.shuffle(tm.black);              //排序打乱

            // 测试牌库
//          for (Black obj : tm.black) {
//              Black bl = (Black)obj;
//              if(((tm.black.indexOf(obj)+1)%13==1)&&(tm.black.indexOf(obj)!=0)){
//                  System.out.print("\n");
//              }
//              System.out.print(bl.Name+bl.Id+" ");
//      }
//          System.out.println();
            /**
             * 创建玩家
             */
            System.out.println("                 ---------创建玩家--------");
            System.out.println("                                           请输入第一位游戏玩家的ID和姓名");
            System.out.println("请输入ID:");
            Scanner console = new Scanner(System.in);
            String Id1 = console.next();
//          System.out.println(Id);  //测试ID输入
            System.out.println("请输入姓名:");
            String Name1 = console.next();
            gamer.gamer = new ArrayList<>();
            Black gm = new Black(Id1, Name1);
            gamer.gamer.add(gm);
//          System.out.println(gamer.gamer.get(0).Id+gamer.gamer.get(0).Name);  
//          System.out.println(Name);  //测试姓名输入     
            System.out.println("                 ---------创建玩家--------");
            System.out.println("                                           请输入第二位游戏玩家的ID和姓名");
            System.out.println("请输入ID:");
            String Id2 = console.next();
//          System.out.println(Id);  //测试ID输入
            System.out.println("请输入姓名:");
            String Name2 = console.next();
            Black gm1 = new Black(Id2, Name2);
            gamer.gamer.add(gm1);
//          System.out.println(gamer.gamer.get(1).Id+gamer.gamer.get(1).Name);
//          System.out.println(Name);  //测试姓名输入 
            System.out.println("                                           欢迎玩家 ("+gamer.gamer.get(0).Name+")");
            System.out.println("                                           欢迎玩家 ("+gamer.gamer.get(1).Name+")");

            System.out.println("                 ---------开始发牌--------");
            System.out.println("                                           玩家抓牌 ("+gamer.gamer.get(0).Name+")");
            System.out.println("                                           玩家抓牌 ("+gamer.gamer.get(1).Name+")");
            System.out.println("                                           玩家抓牌 ("+gamer.gamer.get(0).Name+")");
            System.out.println("                                           玩家抓牌 ("+gamer.gamer.get(1).Name+")");
            System.out.println("                 ---------发牌结束--------");
            System.out.println("                 ---------开始游戏--------");

            int max=52;
            int min=0;
            Random random = new Random();
            int j = random.nextInt(max)%(max-min+1) + min;

            Pai paiku = new Pai();
            paiku.paiku = new ArrayList<>();
            for(int i=1;i<=4;i++){
            Black pai = tm.black.get(j);
            paiku.paiku.add(pai);
            tm.black.remove(j);
             j = random.nextInt(max)%(max-min+1-i) + min;

            }

            System.out.println("                                           玩家 ("+gamer.gamer.get(0).Name+")的手牌("+paiku.paiku.get(0).Name+paiku.paiku.get(0).Id+","+paiku.paiku.get(2).Name+paiku.paiku.get(2).Id+")");
            System.out.println("                                           玩家 ("+gamer.gamer.get(1).Name+")的手牌("+paiku.paiku.get(1).Name+paiku.paiku.get(1).Id+","+paiku.paiku.get(3).Name+paiku.paiku.get(3).Id+")");
            System.out.println("                 ---------发牌结束--------");
            System.out.println("                 ---------大小比对--------");

            LastList la = new LastList();
            la.lastlist = new ArrayList<>();  //取出双方最大牌并保存

            /**
             * 
             * 比较大小
             * 
             */
            int index = 0;
            int index1 = 0;
            int shuMax = 0;
            int shuMax1 = 0;
            int huaMax = 0;
//          int last[] = new int[2];
            int p[] = new int[4];
            int s[] = new int [4];

            for(int i=0;i<=3;i++){
                if(paiku.paiku.get(i).Name =="黑桃"){

                     p[i] = 4;
                }else if(paiku.paiku.get(i).Name =="红桃"){
                     p[i] = 3;
                }else if(paiku.paiku.get(i).Name =="梅花"){
                     p[i] = 2;
                }else if(paiku.paiku.get(i).Name =="方片"){
                     p[i] = 1;
                }
            }

            for(int i=0;i<4;i++){
                switch (paiku.paiku.get(i).Id){
                case "3":s[i] =3;break;
                case "4":s[i] =4;break;
                case "5":s[i] =5;break;
                case "6":s[i] =6;break;
                case "7":s[i] =7;break;
                case "8":s[i] =8;break;
                case "9":s[i] =9;break;
                case "10":s[i] =10;break;
                case "J":s[i] =11;break;
                case "Q":s[i] =12;break;
                case "K":s[i] =13;break;
                case "A":s[i] =14;break;
                case "2":s[i] =15;break;

                }
            }
//          System.out.println(s[0] + " "+s[1]+ " "+s[2]+" "+s[3]);
            // 玩家二
        if(s[0]!=s[2]){
            if(s[0]<s[2]){
                shuMax = s[2];
                index = 2;
                Black in = new Black(paiku.paiku.get(index).Id, paiku.paiku.get(index).Name);
                la.lastlist.add(in);
                System.out.println("                                          玩家 ("+gamer.gamer.get(0).Name+")最大的手牌 是"+paiku.paiku.get(index).Name+paiku.paiku.get(index).Id);
            }else{
                shuMax = s[0];
                index = 0;
                Black in = new Black(paiku.paiku.get(index).Id, paiku.paiku.get(index).Name);
                la.lastlist.add(in);
                System.out.println("                                          玩家 ("+gamer.gamer.get(0).Name+")最大的手牌 是"+paiku.paiku.get(index).Name+paiku.paiku.get(index).Id);
                }
        }else{
                if(p[0]<p[2]){
                    huaMax = 2;
                    Black in = new Black(paiku.paiku.get(huaMax).Id, paiku.paiku.get(huaMax).Name);
                    la.lastlist.add(in);
                    System.out.println("                                          玩家 ("+gamer.gamer.get(0).Name+")最大的手牌 是"+paiku.paiku.get(huaMax).Name+paiku.paiku.get(huaMax).Id);
                }else{
                    huaMax = 0;
                    Black in = new Black(paiku.paiku.get(huaMax).Id, paiku.paiku.get(huaMax).Name);
                    la.lastlist.add(in);
                    System.out.println("                                          玩家 ("+gamer.gamer.get(0).Name+")最大的手牌 是"+paiku.paiku.get(huaMax).Name+paiku.paiku.get(huaMax).Id);
                }

            }

        // 玩家二
if(s[1]!=s[3]){
        if(s[1]<s[3]){
                shuMax1 = s[3];
                index1 = 3;
                Black in = new Black(paiku.paiku.get(index1).Id, paiku.paiku.get(index1).Name);
                la.lastlist.add(in);
                System.out.println("                                          玩家 ("+gamer.gamer.get(1).Name+")最大的手牌 是"+paiku.paiku.get(index1).Name+paiku.paiku.get(index1).Id);
        }else{
                shuMax1 = s[1];
                index1 = 1;
                Black in = new Black(paiku.paiku.get(index1).Id, paiku.paiku.get(index1).Name);
                la.lastlist.add(in);
                System.out.println("                                          玩家 ("+gamer.gamer.get(1).Name+")最大的手牌 是"+paiku.paiku.get(index1).Name+paiku.paiku.get(index1).Id);
            }
}else{
        if(p[1]<p[3]){
            huaMax = 3;
            Black in = new Black(paiku.paiku.get(huaMax).Id, paiku.paiku.get(huaMax).Name);
            la.lastlist.add(in);
                System.out.println("                                          玩家 ("+gamer.gamer.get(1).Name+")最大的手牌 是"+paiku.paiku.get(huaMax).Name+paiku.paiku.get(huaMax).Id);
        }else{
            Black in = new Black(paiku.paiku.get(huaMax).Id, paiku.paiku.get(huaMax).Name);
            la.lastlist.add(in);
            huaMax = 1;
                System.out.println("                                          玩家 ("+gamer.gamer.get(1).Name+")最大的手牌 是"+paiku.paiku.get(huaMax).Name+paiku.paiku.get(huaMax).Id);            
    }
}

        for (Black obj : la.lastlist) {
            Black cr = obj;
            System.out.println(cr.Name+cr.Id);
        }

        //取出双方最大牌
for(int i=0;i<2;i++){
    if(la.lastlist.get(i).Name =="黑桃"){

         p[i] = 4;
    }else if(la.lastlist.get(i).Name =="红桃"){
         p[i] = 3;
    }else if(la.lastlist.get(i).Name =="梅花"){
         p[i] = 2;
    }else if(la.lastlist.get(i).Name =="方片"){
         p[i] = 1;
    }
}
//System.out.println(p[0]+" " +p[1]);

for(int i=0;i<2;i++){
    switch (la.lastlist.get(i).Id){
    case "3":s[i] =3;break;
    case "4":s[i] =4;break;
    case "5":s[i] =5;break;
    case "6":s[i] =6;break;
    case "7":s[i] =7;break;
    case "8":s[i] =8;break;
    case "9":s[i] =9;break;
    case "10":s[i] =10;break;
    case "J":s[i] =11;break;
    case "Q":s[i] =12;break;
    case "K":s[i] =13;break;
    case "A":s[i] =14;break;
    case "2":s[i] =15;break;

    }
}
    //System.out.println(s[0]+" " +s[1]);
    int over = 0;
    int over1 = 0;
    if(s[0]!=s[1]){
        if(s[0]<s[1]){
            over = 1;
            System.out.println("                                          赢家 ("+gamer.gamer.get(1).Name+")的手牌 是"+la.lastlist.get(over).Name+la.lastlist.get(over).Id);
        }else{
            over = 0;
            System.out.println("                                          赢家 ("+gamer.gamer.get(0).Name+")的手牌 是"+la.lastlist.get(over).Name+la.lastlist.get(over).Id);
        }
    }else{
        if(p[0]<p[1]){
            over1 = 1;
            System.out.println("                                          赢家 ("+gamer.gamer.get(1).Name+")的手牌 是"+la.lastlist.get(over1).Name+la.lastlist.get(over1).Id);
        }else{
            over1 = 0;
            System.out.println("                                          赢家 ("+gamer.gamer.get(0).Name+")的手牌 是"+la.lastlist.get(over1).Name+la.lastlist.get(over1).Id);

        }
    }

}

    public void timer(){
        try {
        Thread.currentThread().sleep(100);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }//毫秒
    }
}
点击查看更多内容
5人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消