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

Java入门第三季——简易扑克牌游戏

标签:
Java

扑克牌:

package com.lb;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Puke {

    private int id;
    private String pai;
    private List<Puke> pukeList;//创建的扑克

    public Puke(int id,String pai){
        this.id=id;
        this.pai=pai;
    }

    public Puke(){

    }
    public void create(){
        pukeList=new ArrayList<Puke>();
        // 1.创建花色种类
        String[] kind=new String[4];
        kind[0]="黑桃";
        kind[1]="红桃";
        kind[2]="梅花";
        kind[3]="方片";
        // 2.添加扑克至pukeList
        int tmp=0;
        for(int i=0; i<4; i++){
            for(int j=2; j<11; j++){
                pukeList.add(new Puke(tmp++,kind[i]+(j+"")));
            }
            pukeList.add(new Puke(tmp++,kind[i]+"J"));
            pukeList.add(new Puke(tmp++,kind[i]+"Q"));
            pukeList.add(new Puke(tmp++,kind[i]+"K"));
            pukeList.add(new Puke(tmp++,kind[i]+"A"));
        }
        // 3.打印扑克
        System.out.println("------扑克创建成功------");
        for (Puke puke : pukeList) {
            System.out.print(puke.pai+"、");
        }
        System.out.println();
    }

    public void change(){
        Collections.shuffle(pukeList);// 1.直接调用shuffle,就是随机排序
        System.out.println("------洗牌成功------");
        for (Puke puke : pukeList) {
            System.out.print(puke.pai+"、");
        }
        System.out.println();
    }

    /***********获取属性***************************************************************************/
    public int getId() {
        return id;
    }
    public String getPai() {
        return pai;
    }
    public List<Puke> getPukeList() {
        return pukeList;
    }
}

玩家:


package com.lb;
import java.util.ArrayList;
import java.util.List;

public class Gamer {

    private int id;
    private String name;
    private List<String> gamerList;
    int tmp=0;
    public Gamer(int id,String name){
        this.id=id;
        this.name=name;
        gamerList=new ArrayList<String>();
    }

    /***********获取属性***************************************************************************/
    public int getId() {
        return id;
    }
    public String getName() {
        return name;
    }

    public List<String> getGamerList() {
        return gamerList;
    }
    public void addGamerList(String string) {
        this.gamerList.add(string);
    }

}

游戏:

package com.lb;
import java.util.Scanner;

public class Game {

    private Scanner sc;
    private Gamer gamer1,gamer2;

    public void start(){
        // 1.创建牌、洗牌
        Puke puke=new Puke();
        puke.create();
        puke.change();
        sc=new Scanner(System.in);
        // 2.创建玩家
        System.out.println("------创建玩家------");
        String ID1,ID2,name1,name2;
        while(true){
            try {
                System.out.println("请输入第一位玩家的ID和姓名:");
                System.out.println("输入ID:");
                ID1=sc.next();
                System.out.println("输入姓名:");
                name1=sc.next(); 
                gamer1=new Gamer(Integer.parseInt(ID1),name1);
            } catch (NumberFormatException e) {
                System.out.println("输入类型错误,请重新输入!");
                continue;
            }
            break;
        }
        while(true){
            try {
                System.out.println("请输入第二位玩家的ID和姓名:");
                System.out.println("输入ID:");
                ID2=sc.next();
                System.out.println("输入姓名:");
                name2=sc.next();
                gamer2=new Gamer(Integer.parseInt(ID2),name2);
            } catch (NumberFormatException e) {
                System.out.println("输入类型错误,请重新输入!");
                continue;
            }
            break;
        }
        System.out.println("---欢迎玩家"+name1);
        System.out.println("---欢迎玩家"+name2);
        // 3.发牌
        System.out.println("------开始发牌------");
        gamer1.addGamerList(puke.getPukeList().get(0).getPai());
        System.out.println("---玩家:"+name1+"-拿牌");
        gamer2.addGamerList(puke.getPukeList().get(1).getPai());
        System.out.println("---玩家:"+name2+"-拿牌");
        gamer1.addGamerList(puke.getPukeList().get(2).getPai());
        System.out.println("---玩家:"+name1+"-拿牌");
        gamer2.addGamerList(puke.getPukeList().get(3).getPai());
        System.out.println("---玩家:"+name2+"-拿牌");
        // 4.开始游戏
        System.out.println("------开始游戏------");
        int max1,max2;
        if(puke.getPukeList().get(0).getId() > puke.getPukeList().get(2).getId())
            max1=0;
        else
            max1=2;
        if(puke.getPukeList().get(1).getId() > puke.getPukeList().get(3).getId())
            max2=1;
        else
            max2=3;
        System.out.println("玩家:"+name1+"的最大手牌为:"+puke.getPukeList().get(max1).getPai());
        System.out.println("玩家:"+name2+"的最大手牌为:"+puke.getPukeList().get(max2).getPai());
        if(puke.getPukeList().get(max1).getId() > puke.getPukeList().get(max2).getId())
            System.out.println("------玩家"+name1+"获胜!------");
        else
            System.out.println("------玩家"+name2+"获胜!------");

        System.out.println("玩家各自的 手牌为:");
        System.out.println(name1+":["+gamer1.getGamerList().get(0)+"、"+gamer1.getGamerList().get(1)+"]");
        System.out.println(name2+":["+gamer2.getGamerList().get(0)+"、"+gamer2.getGamerList().get(1)+"]");
    }

    public static void main(String[] args) {
        Game game=new Game();
        game.start();
    }
}
点击查看更多内容
1人点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消