黑马程序员技术交流社区
标题:
java基础,斗地主发牌案例,纯手写
[打印本页]
作者:
我是一棵胖树
时间:
2015-7-7 23:10
标题:
java基础,斗地主发牌案例,纯手写
package z.Collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
/*思路:
* 1,买牌,
* 创建两个String类型的数组,分别建立花色数组(黑桃,红桃,梅花,方块) 和(1-k)
*
* 定义一个集合,存放大王小王。
* 使用for嵌套循环,使用string中的concat方法,将花色组合点数组结合起来。装入集合当中去
* 2,洗牌
* 使用Collections.shuffle()将拍随机打乱
* 3,发牌
* 使用for循环遍历所有的牌,遍历的同时,判断x%3=0 则把牌发给第一个人。如果x%3=1,则把牌发给第二个人,如果x%3=2,
* 则把牌发给第三个人。这样就能平均
* 遍历的同时,将牌数总数减一留作底牌,再将其遍历输出
* 4,开牌
* 输出打印三个人各自的牌
*
*
*/
public class DouDiZhu {
public static void main(String[] args) {
//定义花色数组
String []s={"黑桃","红桃","梅花","方块"};
// 定义点数数组
String []s1={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
// 定义一个集合,将牌装入集合当中
ArrayList<String> l=new ArrayList<String>();
l.add("大王");
l.add("小王");
for(String s2:s){ //使用加强for,需要遍历的对象为S 当s为黑桃时
for(String s3:s1) {// 遍历点数数组,当s为黑桃时,点数数组为A
l.add(s2.concat(s3));//将黑桃和A组合成黑桃A,存入数组当中,以下循环
}
}
// 洗牌
Collections.shuffle(l) ;
// 发牌
System.out.println("发牌中");
ArrayList<String> 乐乐=new ArrayList<String>();
ArrayList<String> 威威=new ArrayList<String>();
ArrayList<String> 胖树=new ArrayList<String>();
for (int x=0;x<l.size()-3;x++) {
if(x%3==0){
乐乐.add(l.get(x));
}
if(x%3==1){
威威.add(l.get(x));
}
if(x%3==2){
胖树.add(l.get(x));
}
}
System.out.println("发牌结束,请叫地主");
while(true){
Scanner sc=new Scanner(System.in);
System.out.println("1");
System.out.println("2");
System.out.println("3");
w: System.out.println("请叫分");
String s7=sc.nextLine();
switch(s7){
case"1": {
System.out.println("叫一分");
System.out.println("没有抢到地主,请等候");
break;}
case"2":{
System.out.println("叫两分");
System.out.println("没有抢到地主,请等候");
break;}
case"3":{
System.out.println("叫三分");
System.out.println("恭喜,您抢到了地主,请看底牌");
for (int i = l.size()-3; i < l.size() ;i++) {
乐乐.add(l.get(i));
System.out.println(l.get(i));
}
}
System.out.println("乐乐的牌"+乐乐);
System.out.println("威威的牌"+威威);
System.out.println("胖树的牌"+胖树);
}
}
}
}
作者:
zimi626
时间:
2015-7-7 23:26
写的挺不错的,不过还需要努力,很多需要完善。
作者:
贾森
时间:
2015-7-7 23:37
不错不错
作者:
shanshan33
时间:
2015-7-8 00:01
惊呆中Σ( ° △ °|||)︴
作者:
Miss.H
时间:
2015-7-8 00:02
看不懂,都是大神啊我才基础班
作者:
zhangxin
时间:
2015-7-8 01:00
给力,赞一个
作者:
Ruby
时间:
2015-7-8 01:21
牛逼 楼主加油
作者:
野驴少东
时间:
2015-7-8 11:56
楼主好有面子
作者:
zhhrai
时间:
2015-7-8 12:04
写的很不错...
作者:
yongaidongbing
时间:
2015-7-8 12:21
楼主现在是什么级别。。。。。
作者:
半山岩
时间:
2015-7-8 19:59
牛神啊,加油啊
作者:
双元王志超
时间:
2015-7-8 21:08
真厉害,学习多长时间了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2