ITPub博客

首页 > IT职业 > IT图书 > JAVA基础3 练习-比大小牌类游戏~~

JAVA基础3 练习-比大小牌类游戏~~

IT图书 作者:youyou0 时间:2021-09-09 09:01:03 0 删除 编辑

和视频功能有点区别,我改为了2个玩家,每个玩家抽取N张牌, 然后每次取一张牌比大小,比N次,输出信息。

添加牌:A   黑桃
添加牌:2   黑桃
添加牌:3   黑桃
添加牌:4   黑桃
。。。
... 太多了就不显示了
。。。
添加牌:j   方块
添加牌:q   方块
添加牌:k   方块
输入1号名字
jack
输入2号名字 
lucy
jack get card :10   红心   cards:51
lucy get card :2    黑桃   cards:50
jack get card :6    黑桃   cards:49
lucy get card :q    方块   cards:48
jack get card :k    红心   cards:47
lucy get card :q    梅花   cards:46
jack get card :8    方块   cards:45
lucy get card :8    梅花   cards:44
jack get card :q    黑桃   cards:43
lucy get card :7    黑桃   cards:42
jack胜   jack:8  方块||    lucy:8  梅花
jack胜   jack:10 红心||    lucy:2  黑桃
lucy胜   jack:6  黑桃||    lucy:q  方块
jack胜   jack:k  红心||    lucy:q  梅花
jack胜   jack:8  方块||    lucy:8  梅花
-------------------RESULT---------------------
jackwin4times
lucywin1times

1建立牌的对象

package com.pock;
//牌  类    存储牌信息
public class pock implements Comparable{
    public String num;//牌大小   字符串
    public String color;//牌花色
    public int nnum;//牌大小   整形 
    public int ncolor;//牌花色  
    static public String[] color_list={"黑桃","梅花","红心","方块"};    //牌花色查询表
    static public String[] num_list={"A","2","3","4","5","6","7","8","9","10","j","q","k"};//牌大小查询表
    public pock(int newnum,int newcolor){//牌初始化
        this.num =num_list[newnum];
        this.color =color_list[newcolor];
        this.nnum=newnum;
        this.ncolor=newcolor;
    }
    public pock(){
    }
    public int compareTo(pock c){//牌大小比较
        if(this.nnum==c.nnum){
            return this.ncolor-c.ncolor;
        }           
        return this.nnum-c.nnum;
    }
}

2 建立牌池对象

package com.pock;
import java.util.*;
//桌面牌集合      
public class pock_set  {
    public List cardlist;//桌面牌池    初始13*4张
    pock_set(){
        cardlist=new ArrayList();
    }
}

3 建立玩家对象

package com.pock;
import java.util.*;
//玩家类-  保存玩家信息,增加了赢得次数
public class player {
        public String name; //名字
        public pock_set player_cards;//玩家牌池
        public int win_num;//胜利次数
        player(String newname){
            this.name=newname;
            player_cards=new pock_set();
            win_num=0;
        }
        player( ){          
            player_cards=new pock_set();
            win_num=0;
        }
}

游戏程序:

package com.pock;

import java.util.Random;
import java.util.Scanner;
//game
public class Init {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        pock_set allcards=new pock_set();//建立桌面牌池
        player p1=new player();//建立玩家
        player p2=new player();
        //填充桌面牌池  共52张牌
        for(int i=0;i0)
            {
                System.out.print(p1.name+"胜");
                p1.win_num++;
            }
            else
            {
                System.out.print(p2.name+"胜");
                p2.win_num++;
            }
            System.out.print("t"+p1.name+":"+p1.player_cards.cardlist.get(x).num+"t"+p1.player_cards.cardlist.get(x).color+"||");
            System.out.println("t"+p2.name+":"+p2.player_cards.cardlist.get(x).num+"t"+p2.player_cards.cardlist.get(x).color);
        }//输出最后结果,可以加个判断谁赢得多,懒得写了~~
        System.out.println("-------------------RESULT---------------------");
        System.out.println(p1.name+"win"+p1.win_num+"times");
        System.out.println(p2.name+"win"+p2.win_num+"times");

    }

}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4362/viewspace-2798661/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-12

  • 博文量
    0
  • 访问量
    946