package Pcard
import java.util.ArrayList
import java.util.Collections
import java.util.List
import java.util.Random
import java.util.Scanner
/**
* 扑克牌比大小游戏(人机对战 V1.0):
* 用户进入游戏,提示:请输入玩家姓名:
* 输入姓名完成后,提示: XXX您好,现在游戏开始,请选择:1、发牌;0、退出;
* 扑克点数由小到大依次为:2-3-4-5-6-7-8-9-10-J-Q-K-A,一共26张牌;(List)
* 如果选择发牌,系统随机从扑克牌中抽取2张分别发给玩家和计算机,一共三轮发牌
* 第一轮发牌为底牌,双方相互看不到对方的底牌,第二、三轮发牌为明牌,可以看到;
* 三轮发牌完成后,效果如下:
你的牌:5,J,Q
电脑的牌:底,A,2
* 提示玩家:是否摊牌(y/n)
* 输入y后,摊牌并公布结果,效果如下:
你的牌:5,J,Q
电脑的牌:3,A,2
你赢了!!
提示:
玩家类User,属性:姓名,得牌;
Collections类,Random类
*/
public class Game1220 {
private static Scanner sc=new Scanner(System.in)
private static Random ran=new Random()
public static List<String> pcard=new ArrayList<String>()
public static Card ca=new Card()
public static Player p=new Player()
public static void main(String[] args) {
int count =1
System.out.println("请输入玩家姓名:")
int ju=1
boolean b=true
while(b){
System.out.println("开始第"+count+"局")
System.out.println(sc.next()+" 您好,现在游戏开始,请选择:1、发牌;0、退出")
int i=sc.nextInt()
switch(i){
case 1:
fP()
tp()
break
case 0:
break
}
ju++
if(count==3){
b=false
System.out.println("游戏结束")
break
}
count++
}
}
public static void fP(){//发牌的方法
ca.Csh()
int temp=1
boolean b=true
while(b){
System.out.println("第"+temp+"轮发牌")
int a=ran.nextInt(ca.card.size())
ca.dcard.add(ca.card.get(a))
ca.card.remove(a)
int d=ran.nextInt(ca.card.size())
pcard.add(ca.card.get(d))
ca.card.remove(d)
System.out.print("电脑端牌为:"+"底牌 ")
bJ()
System.out.print("玩家手牌为:")
xp()
System.out.println()
if(temp>2){//发三次牌
b=false
System.out.println("发牌结束!")
break
}
System.out.println()
System.out.println("y/继续发牌;任意键/洗牌")
String s0=sc.next()
if(s0.equals("y")){
temp++
}else{
Collections.shuffle(ca.card)
}
}
}
public static void bJ(){
for (int i = 1
System.out.print(ca.dcard.get(i)+" ")
}
System.out.println()
}
public static void xp(){
for (int i = 0
System.out.print(pcard.get(i)+" ")
}
}
public static void tp(){
System.out.println("请选择是否摊牌:y/n")
String xz=sc.next()
int nump=0
int num=0
switch(xz){
case "y":
System.out.println("玩家手牌为:")
for (int i = 0
System.out.print(pcard.get(i)+" ")
String d0=ca.dcard.get(i)
switch(d0.charAt(2)){
case 'J':
num+=11
break
case 'Q':
num+=12
break
case 'K':
num+=13
break
case 'A':
num+=14
break
default :
num+=Integer.valueOf(d0.charAt(2))
break
}
}
System.out.println()
System.out.print("电脑端手牌为:"+"\n")
for (int i = 0
System.out.print(ca.dcard.get(i)+" ")
}
System.out.println()
String p0=pcard.get(0)
switch(p0.charAt(2)){
case 'J':
nump+=11
break
case 'Q':
nump+=12
break
case 'K':
nump+=13
break
case 'A':
nump+=14
break
default :
nump+=Integer.valueOf(p0.charAt(2))
break
}
if(num>nump){
System.out.println("玩家胜!")
}else {
System.out.println("本宝宝获胜!")
}
}
}
}
package Pcard;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Card {
private String color;
private String num;
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String[] getCn() {
return cn;
}
public void setCn(String[] cn) {
this.cn = cn;
}
public List<String> getCard() {
return card;
}
public void setCard(List<String> card) {
this.card = card;
}
private String[] cc={"黑桃","红桃"};
private String[] cn={"2","3","4","5","6","7","8","9","J","Q","K","A"};
public List<String> card=new ArrayList<String>();
public List<String> dcard=new ArrayList<String>();
public void Csh(){
for(int i=0;i<cc.length;i++){
for(int j=0;j<cn.length;j++){
card.add(cc[i]+cn[j]);
}
}
Collections.shuffle(card);
}
}