首页 > IT职业 > IT职场 > 简易扑克牌游戏的简易实现
今天学完了Java入门第三季的最后一课,完成了课后作业,实现了简易扑克游戏。游戏很简单,代码实现也不难,但做了这个很能理解Java面向对象的作用。 就这个游戏而言,我主要是分为三个class:Poker,Player,Game。

剩下的代码来展示,注释比较少,但输出的提示应该够看了。
游戏主程序package com.imooc.homework;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
/**
* Created by LinHongwei on 2017/9/14.
*/
public class Game {
private final String[] cardPointArr={"A","K","Q","J","10","9","8","7","6","5","4","3","2"};
private final String[] cardTypeArr={"黑桃","红桃","梅花","方块"};
private List allPoker;
private List players;
public void createPokerCards(){
allPoker = new ArrayList();
System.out.println("~~~~~~~~~创建并展示所有扑克牌~~~~~~~~~~");
for(int i=0;i();
System.out.println("请输入第一个玩家的ID:");
id=console.next();
System.out.println("请输入第一个玩家的姓名");
name=console.next();
Player player1=new Player(id,name);
players.add(player1);
System.out.println("~~~~~欢迎玩家:"+player1.getName());
System.out.println("请输入第二个玩家的ID:");
id=console.next();
System.out.println("请输入第二个玩家的姓名");
name=console.next();
Player player2=new Player(id,name);
players.add(player2);
System.out.println("~~~~~欢迎玩家:"+player2.getName());
}
public void shuffleCard() {
System.out.println("——————————开始洗牌——————————");
Collections.shuffle(allPoker);
System.out.println("——————————洗牌结束——————————");
}
public void dealCard(){
System.out.println("——————————开始发牌——————————");
for(int i=0;imaxCards=new ArrayList();
for(int i=0;i 扑克牌 package com.imooc.homework;
import java.util.*;
/**
* Created by LinHongwei on 2017/9/14.
*/
public class Poker implements Comparable{
private String type;
private String Num;
public Poker(String a,String b){
Num=a;
type=b;
}
public Poker(){
}
public String getInfo(){
return Num+"-"+type;
}
@Override
public int compareTo(Poker o) {
final String[] cardPointArr={"A","K","Q","J","10","9","8","7","6","5","4","3","2"};
final String[] cardTypeArr={"黑桃","红桃","梅花","方块"};
List cardPointList= Arrays.asList(cardPointArr);
List cardTypeList= Arrays.asList(cardTypeArr);
int a,b;
a=cardPointList.indexOf(this.Num);
b=cardPointList.indexOf(o.Num);
if(ab) return -1;
else{
a=cardTypeList.indexOf(this.type);
b=cardTypeList.indexOf(o.type);
if(ab) return -1;
else return 0;
}
}
public static void main(String[] args){
Poker A=new Poker("A","黑桃");
Poker B=new Poker("4","黑桃");
Poker C=new Poker("A","方块");
List list= new ArrayList();
list.add(A);
list.add(B);
list.add(C);
Collections.sort(list);
for(int i=0;i 游戏玩家 package com.imooc.homework;
import javax.sql.PooledConnection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* Created by LinHongwei on 2017/9/14.
*/
public class Player {
private String id;
private String name;
private List hasCards;
private Poker maxCard;
public Player(String id, String name) {
this.id = id;
this.name = name;
hasCards = new ArrayList();
maxCard = new Poker();
}
public List getHasCards() {
return hasCards;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public Poker getMaxCard() {
Collections.sort(this.hasCards);
this.maxCard =this.hasCards.get(1);
return maxCard;
}
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1377/viewspace-2808090/ ,如需转载,请注明出处,否则将追究法律责任。