ITPub博客

首页 > IT职业 > IT生活 > JAVA入门第三季代码:简易扑克牌游戏 @long_l

JAVA入门第三季代码:简易扑克牌游戏 @long_l

IT生活 作者:holepun 时间:2021-09-09 09:05:19 0 删除 编辑

游戏规则:2名玩家,每人随机拿2张牌,取各自大的那张,进行比较,得出获胜者。
共52张牌,没有大小王。先比较点数,若点数相同则比较花色。
从大到小为:A,K,Q,J,10,9,8,7,6,5,4,3,2
从大到小为:"黑桃","红桃","梅花","方块“”
Cards

package com.imooc;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
//创建一副牌。这副牌的索引用来比较牌的大小。
public class Cards {
    private String cardPoints;     //牌的点数
    public String getCardPoints() {
        return cardPoints;
    }
    public String getCardSuit() {
        return cardSuit;
    }
    private String cardSuit;        //花色
    final String[] cardPointsArr= {"A","K","Q","J","10","9","8","7","6","5","4","3","2"};
    final String[] cardSuitArr= {"黑桃","红桃","梅花","方块"};
    public List newCards=new ArrayList();     //用于存放一副牌,没有大小王,52张。
    public List newCards1=new ArrayList();
public Cards(String suit,String point) {     //单张牌的构造方法
        cardPoints=point;
        cardSuit=suit;
    }
    public void creatCards() {     //创建一副牌 存入 newCards,
        for(String temp1:cardPointsArr) {
            for(String temp:cardSuitArr) {
            Cards c=new Cards(temp1,temp);
            newCards.add(c);    
            newCards1.add(c);           
            }
        }
        System.out.println("*************洗牌成功!*************");//虽然没有洗牌,但是发牌是随机发的,这是句话给客户看的。
    }
}

Plays

package com.imooc;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
//创建玩家
public class Plays {
    private String name;    //姓名
    public String getName() {
        return name;
    }
    private List handCards;// 手牌
    public List getHandCards() {
        return handCards;
    }
    Plays play,play1;
    public Plays(String name) {          //玩家构造方法
        this.name=name;
        handCards=new ArrayList();
    }
    public void creatPlays() {           //创建2个玩家   play和paly1
        System.out.println("***********************************");
        System.out.println("***********请输入第一位玩家姓名:*********");
        Scanner input=new Scanner(System.in);
        String temp=input.nextLine();
         play=new Plays(temp);
        System.out.println("***********请输入第二位玩家姓名:*********");
        String temp1=input.nextLine();
         play1=new Plays(temp1);
        System.out.println("*************玩家初始化成功!*************");
    }
    public void getHandCards(Plays one,Plays two,List neards) {   //随机给每个玩家各发2张牌
        System.out.println("***************开始发牌*****************");
        Random random=new Random();
        for(int j=0;j

Compare

package com.imooc;

import java.util.List;
//用来比较2个人手牌的大小,得出获胜者。
public class Compare {
static  public void compare(Plays one,Plays  two ,List aq) {
        int oneMax,twoMax;
        Cards temp= one.getHandCards().get(0);//分别得到2个人的2张牌。
        Cards temp1= one.getHandCards().get(1);
        Cards temp2= two.getHandCards().get(0);
        Cards temp3= two.getHandCards().get(1);
        int oneIndex=aq.indexOf(temp);   //得到这4张牌的索引。
        int oneIndex1=aq.indexOf(temp1);
        int twoIndex=aq.indexOf(temp2);
        int twoIndex1=aq.indexOf(temp3);
        if(oneIndex

测试

package com.imooc;
//测试窗口。
public class Test {
    public static void main(String[] args) {    
         Cards aq=new Cards("a","a");//创建1个对象,用来调用方法
         Plays aw=new Plays("aa");      //创建1个对象,用来调用方法
         aq.creatCards();       
         aw.creatPlays();       
        aw.getHandCards(aw.play, aw.play1, aq.newCards);
         Compare.compare(aw.play, aw.play1, aq.newCards1);
    }
}

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

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

注册时间:2019-04-15

  • 博文量
    76
  • 访问量
    517