java新手抽牌_Java实现简单的抽牌游戏

本文实例为大家分享了Java实现简单抽牌游戏的具体代码,供大家参考,具体内容如下

Main类

package com.company;

import java.util.*;

public class Main

{

public static void main(String[] args)

{

Poke p = new Poke();

p.shuffle();

System.out.println("您想抽几张牌?");

Scanner sc = new Scanner(System.in);

int n = sc.nextInt();

System.out.println("抽取了"+n+"张牌,分别为:");

Card[] c = p.draw(n);

for (Card g :c ) System.out.print(g);

System.out.println();

p.sortOut(c);

System.out.println("理牌完成!");

for (Card g :c ) System.out.print(g);

}

}

Poke类

package com.company;

import java.util.Arrays;

/**

* Created by ttc on 16-11-2.

*/

public class Poke

{

Card[] m_card = null;

int[] values = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};

String[] colors = {"♡", "♠", "♢", "♧"};

public Poke()

{

m_card = new Card[52];

for (int i = 0; i < colors.length; i++)

{

for (int j = 0; j < values.length; j++)

{

m_card[i * values.length + j] = new Card(values[j], colors[i]);

}

}

}

public void outPut()

{

//展示当前牌序

for (int i = 0; i < m_card.length; i++)

{

if (i % 13 == 0) System.out.println();

System.out.print(m_card[i]);

}

}

public void shuffle()

{

//洗牌

Card tempC = null;

for (int i = 0; i < 52; i++)

{

tempC = m_card[i];

int j = (int) (Math.random() * 51);

m_card[i] = m_card[j];

m_card[j] = tempC;

}

System.out.print("洗牌完成!");

}

public Card[] draw(int n)

{

//抽N张牌

Card[] c = new Card[n];

for (int i = 0; i < n ; i++) c[i] = m_card[i];

return c;

}

public void sortOut(Card[] c)

{

//理牌

Arrays.sort(c);

}

}

Card类

package com.company;

/**

* Created by ttc on 16-11-2.

*/

public class Card implements Comparable

{

private int m_values;

private String m_colors;

public Card(int m_values, String m_colors)

{

this.m_values = m_values;

this.m_colors = m_colors;

}

@Override

public int compareTo(Object o)

{

if (this.m_values > ((Card)o).m_values) return 1;

else if(this.m_values == ((Card)o).m_values) return 0;

else return -1;

}

@Override

public String toString()

{

String strtmp;

switch (m_values)

{

case 1:

strtmp = "A";

break;

case 11:

strtmp = "J";

break;

case 12:

strtmp = "Q";

break;

case 13:

strtmp = "K";

break;

default:

strtmp = String.valueOf(m_values);

}

return m_colors + strtmp + "\t";

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值