今天写了一个关于卡牌游戏的小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();
}
}