黑马程序员技术交流社区
标题:
模拟三国杀发牌
[打印本页]
作者:
0618张军
时间:
2015-7-13 22:01
标题:
模拟三国杀发牌
学过了模拟斗地主发牌,,因本人不玩斗地主,,所以改了一个三国杀发牌,,一开始就找不到思路,,现在特地分享给大家,一块理解一下思路,,
因为还不会让代码出牌,,所以牌只能一直增加,,
有些人可能没有玩过三国杀,,,在此说一下,,三国杀,每回合每人发两张牌,,出牌结束后到下一个人,,,于是下一个人再得两张牌,,,
另外还有一点必须声明,,,有一个地方还有修改好,,当前这个代码只能发26次牌,,以后学了新知识再改进..
package cn.itcast;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
/*模拟三国杀发牌,,
* 1,买牌
* 2,洗牌
* 3,发牌,每次发两张牌,,回合结束,点结束出牌,则发给下一个人两张牌,以此循环。
*
* */
public class sanGuSha2 {
public static void main(String[] args) {
String[] colors = {"红","方","黑","梅"};
String[] numbers= {"1杀","2杀","3杀","4闪","5闪","6桃","7闪",
"8探囊取物","9釜底抽薪","10烽火狼烟","J万箭齐发","Q刀","K盾"};
ArrayList<String> array = new ArrayList<String>();
for (String c : colors) {
for (String n : numbers) {
array.add(c.concat(n));
}
}
Collections.shuffle(array);
ArrayList<String> zhangfei = new ArrayList<String>();
ArrayList<String> guanyu = new ArrayList<String>();
int j=0;
int x = 0;
System.out.println("开始");
String string = "结束出牌";
while(j<=array.size()&& string.equals("结束出牌")){
if(x%2==0){
for (int i = j; i <= j+1; i++) {
zhangfei.add(array.get(i));
}
System.out.println("zhangfei"+zhangfei);
}else{
for (int i = j; i <= j+1; i++) {
guanyu.add(array.get(i));
}
System.out.println("guanyu"+guanyu);
}
j+=2;
x++;
System.out.println("是否结束出牌");
Scanner scc = new Scanner(System.in);
string = scc.next();
System.out.println("下一回合");
}
}
}
复制代码
作者:
惜爱上缘
时间:
2015-7-13 22:21
真是屌,大神膜拜
作者:
钟志军zzj
时间:
2015-7-13 22:22
膜拜啊大神
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2