「java发牌算法」java 发牌的按照花色输出
今天给各位分享java发牌算法的知识,其中也会对java 发牌的按照花色输出进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java斗地主发牌程序
- 2、用java编写拖拉机游戏的发牌程序。。。谢谢。。。可以只提供算法
- 3、java实现三人斗地主发牌的思路是怎样的?求大神。。。
- 4、java编写扑克牌游戏里,洗牌时发牌时用到了随机分配的功能,请问在那个包中哪个类哪个方法?
- 5、java洗牌算法问题
java斗地主发牌程序
DeckOfCards()构造函数里面,注释掉的
//deck[count]=new Card(faces[count%13],suits[count/13]);
是对的,下面那行除17是错的
另外,没有把大小王赋值到数组里
最后main函数里,打印方法错了。应该为,原本少了一个%-20s
System.out.printf("%-20s%-20s%-20s\n", myDeckOfCards.dealCard(), myDeckOfCards.dealCard(), myDeckOfCards.dealCard());
发牌完成以后剩下的3张牌就是保留的底牌
用java编写拖拉机游戏的发牌程序。。。谢谢。。。可以只提供算法
拖拉机是4个人打两付牌,那么你在洗牌(把108个数据充分的交换之后)之后,留下8张,把100张分给这四个人就OK了
java实现三人斗地主发牌的思路是怎样的?求大神。。。
最简单的方式,用1到五十四代表牌的大小,再用1到4代表花色,然后用随机数随机产生五十四张不重复的牌即可 采纳吧思密达
java编写扑克牌游戏里,洗牌时发牌时用到了随机分配的功能,请问在那个包中哪个类哪个方法?
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
/**
* Author:danagao
* java 发牌程序,
* 不含大王,小王
* 可设定发牌人数
*/
public class Pai {
HashMapString, String map = new HashMapString, String();
private static final String[] colors = {"红桃", "方块", "梅花", "黑桃"};
private static final String[] values = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};
private String[] newpai; private int len;
//初始化52张牌
public Pai() {
len = colors.length * values.length;
newpai = new String[len];
int k = 0;
for (int i = 0; i colors.length; i++) {
for (int j = 0; j values.length; j++) {
newpai[k] = colors[i] + values[j];
k++;
}
}
}
//洗牌(把牌打乱)
private void getNums() {
Random r = new Random();
int i = r.nextInt(len);
String s;
if (i = 0 !map.containsKey(String.valueOf(i))) {
s = String.valueOf(i);
map.put(s, newpai[i]);
} else {
getNums();
}
}
//发牌
public void showResult(int p) {
for (int i = 0; i len; i++) {
getNums();
}
int l = len/p; //每人发几张牌
int j=1;//计人数
int k=0;//计牌数
for (Map.EntryString, String entry : map.entrySet()) {
if(k%l==0 j=p){
System.out.println("第"+j+"个人的牌:");
j++;
} else if(len-k = len%p){
System.out.println("剩余的牌:");
}
k++;
System.out.println(entry.getValue());
} }
public static void main(String[] args) {
DbColorBall dbColorBall = new DbColorBall();
dbColorBall.showResult(4);
}
}
java洗牌算法问题
你指的是Card里的toString方法吧
public String toString() {
String aa = suit + " " + num + " ";
return aa;
}
toString这个方法一般在 System.out.print时使用,这个是打印出String,JVM就是默认调用类的toSting方法
注:所有类都有toString方法,默认是当前对象的hashcode,即内存地址
所以在发牌是打印
public void dealcard()//发牌
{
for(int i=0;i52;i++)
{
if(i%4==0i!=0){
System.out.println(); //每发4张牌输出换行
}
// 就是这里,默认调用card的toString方法
System.out.print(card[i]); //依次输出 发的牌
}
}
关于java发牌算法和java 发牌的按照花色输出的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。