卡牌游戏——java

今天写了一个关于卡牌游戏的小demo,这个项目明显的显示java与c语言的不通
java 主要是调用各种类及其方法来实现想要的目的;
游戏功能:实现给不同的玩家发扑克牌 并且可以实现比较每个玩家牌的大小
实现代码:
1.实现欢迎界面:(我们在Tools类中实现各种输出的方法,然后在main()函数中调用就好了)

public class Tools {
    public static void showTextln(boolean br, String str) {
        if (br) {
            System.out.println("************");
        }
        System.out.println(str);
        if (br) {
            System.out.println("************");
        }

    }

    public static void showTextsln(boolean br, String... counts) {
        if (br) {
            System.out.println("************");
        }
        for (int i = 1; i <= counts.length; i++) {
            System.out.println(i + "." + " " + counts[i - 1]);
        }
        if (br) {
            System.out.println("************");
        }

    }

    public static int showText(boolean br, String str) {
        if (br) {
            System.out.println("************");
        }
        System.out.print(str);
        Scanner scanner = new Scanner(System.in);
        int count = scanner.nextInt();
        if (br) {
            System.out.println("************");
        }
        return count;
    }
    public static void show(){
        System.out.println();
    }
}

2.创建 扑克牌类 记录扑克牌的属性如 点数 花色等

public class Puker {
    public String number;//记录牌的点数
    public PukerType type;
}

3.创建扑克牌管理器类(在此类中,我们将生产一副扑克牌)

public class PukeMenage {
    public static PukeMenage pukeMenage=new PukeMenage();
    private PukeMenage(){}
    public String[] dots={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
    public PukerType[] types={PukerType.SPADES,PukerType.HEARTS,PukerType.CLUBS,PukerType.DIAMONDS};
    public ArrayList<Puker> pukers = new ArrayList<>();
    public void initPuke(){

        for(String dot:dots){
            for(PukerType type:types){
                Puker puker=new Puker();
                puker.number=dot;
                puker.type=type;
                //将产生的牌保存起来
                pukers.add(puker);
            }
        }
        Collections.shuffle(pukers);
    }
    public void show(){
        for(Puker puker:pukers){
            System.out.print(puker.number+puker.type.pic+" ");
        }
        System.out.println();
    }
    //发牌
    public void deal(ArrayList<Player> players){
        for(int i=0;i<players.size();i++){
            Player player=players.get(i);
            player.puker=pukers.get(i);
          //  System.out.print(player.puker.type+"我是天才");
        }

    }
}

4.扑克牌创建完毕后,我们需要创建玩家类 记录玩家属性如 姓名 等

public class Player {
    String name;
    int totalMoney;
    int id;
    public Puker puker;

}

5.和扑克牌管理器一样,我们需要创建一个玩家管理器

public class PlayMenager {
    public static PlayMenager playMenager=new PlayMenager();
    private PlayMenager(){
    }
    public ArrayList<Player> players=new ArrayList<>();
    String[] names={"黄**","章**","姚**","罗**"};
    public void initPlayer(int count){
        for(int i=0;i<count;i++){
            Player player=new Player();
            player.id=i+1;
            player.name=names[i];
            player.totalMoney=2000;
            players.add(player);
        }

    }
    public void show(){
        int i=1;
        for(Player player:players){
            System.out.println(i+"号玩家"+player.name+"金币:"+player.totalMoney);
            System.out.println(player.puker.number+player.puker.type.pic);
            i++;
        }

    }
}

6.创建一个游戏中心类来开始游戏

public class Gamecenter {
    public int betMoney;
    public void start(){
        PukeMenage.pukeMenage.deal(PlayMenager.playMenager.players);
        PlayMenager.playMenager.show();
}

}

最后贴上main()函数中的代码

public class MyClass {
    public static void main(String[]args){
        String ad="欢迎来到**";
        Tools.showTextln(true,ad);

        String[] str={"看牌","下注","弃牌"};
        Tools.showTextsln(true,str);


        PukeMenage.pukeMenage.initPuke();
        PukeMenage.pukeMenage.show();


        PlayMenager.playMenager.initPlayer(Tools.showText(false,"请输入参加人数:"));
       // PlayMenager.playMenager.show();

        //发牌
        Gamecenter gamecenter=new Gamecenter();
        gamecenter.start();

    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容