Java实现简单的抽牌游戏

网友投稿 428 2022-12-08


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";

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java实现扑克牌发牌器
下一篇:IDEA 中创建Spring Data Jpa 项目的示例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~