java实现狼人杀游戏发牌
java实现狼人杀游戏发牌
题目描述
共计21张牌。在{村民,狼人,守护,预言家,猎人,丘比特,长老,盗贼,替罪羊,女巫}随机生成12-18个身份
(每个身份唯一,村民狼人除外)。有三张底牌,底牌必须不能出现盗贼身份。 玩家输入游戏人数:15 随机生成游戏人数配置:
游戏配置:12-18人(大于18人或者小于12人,输出超出游戏人数范围) 标准配置: 人数(狼,民,神) 18(5,7,5)人 5狼人
7村民 1预言家 1女巫 1丘比特 1守护 1猎人 1村长 1 替罪羊 1吹笛者 1盗贼 21张牌
17(5,6,6)人 5狼人 7村民 1预言家 1女巫 1丘比特 1守护 1猎人 1村长 1 替罪羊 1盗贼
20张牌 16(5,6,5)人 5狼人 6村民 1预言家 1女巫 1丘比特 1守护 1猎人 1村长 1
替罪羊 1盗贼 19张牌 15(5,5,5)人 5狼人 5村民 1预言家
1女巫 1丘比特 1守护 1猎人 1村长 1 替罪羊 1盗贼 18张牌 14(4,5,5)人
4狼人 5村民 1预言家 1女巫 1丘比特 1守护 1猎人 1村长 1 替罪羊1 盗贼
17张牌 1(4,5,4)人 4狼人 5村民 1预言家 1女巫 1丘比特 1守护 1猎人 1村长 1 盗贼
16张牌 12(4,4,4)人 4狼人 4村民 1预言家 1女巫 1丘比特 1守护 1猎人 1村长 1 盗贼
15张牌盗贼是一个特殊身份:当某位玩家获得盗贼牌的时候,可以翻开底牌三张选择底牌中自己想要的身份(有狼人要选狼人) 要求:
1.底牌可以没有狼人,如果有,最多只能有一个狼人;
2.底牌不能有盗贼;
.输出如下:
玩家手牌为:{01:村民,02:丘比特,0:盗贼,… ,15:女巫} 盗贼底牌为: {01:XX,02:XX ,0:XX}
package Werewolf;import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;public class Werewolf {public static ArrayList<String> all = new ArrayList<>();//所有的牌public static ArrayList<String> play = new ArrayList<>();//可以发给玩家的牌public static ArrayList<String> di = new ArrayList<>();//底牌public static Scanner scanner = new Scanner(System.in);public static int peopleame = 0;//玩家人数public static void main(String[] args) {init();//初始化牌
// println(all);
// println(play);
// println(di);dipai();//分配底牌xipai();//给玩家发牌println(玩家手牌为:);println(play);println(盗贼底牌为:);println(di);}/*把之前玩家数组的牌一起整合到all里 根据随机数发给玩家*/public static void xipai(){Random random = new Random();all.addAll(play);//可以发给玩家的牌 除去底牌();//玩家牌清空while(all.size()>0)//一直分牌给玩家{int index = (all.size());//随机数的范围为all数组大小 左闭右开play.add(all.remove(index));//玩家拿牌}}/*all数组里面是分给底牌的(不能有盗贼)盗贼直接放到了玩家数组 最后重新洗牌 包含一个狼人 */public static void dipai(){Random random = new Random();for (int i = 0;i < ;i){int index = (all.size());//随机数的范围为all数组大小 左闭右开di.add(all.remove(index));}}public static void init(){peopleame = ();if (peopleame >= 12 && peopleame <= 18) {for (int i = 0;i < ;i){play.add(狼人);all.add(村民);}all.add(村民);all.add(狼人);//一张可以给底牌的狼人 放到all数组里 其他狼人牌直接放到play数组里all.add(预言家);all.add(女巫);all.add(丘比特);all.add(守护);all.add(猎人);all.add(村长);play.add(盗贼);//底牌不能有盗贼 直接分配给玩家if (peopleame > 12){all.add(村民);}if (peopleame > 1){all.add(替罪羊);}if (peopleame > 14){play.add(狼人);//放到play数组里}if (peopleame > 15){all.add(村民);}if (peopleame > 16){all.add(村民);}if (peopleame > 17){all.add(吹笛者);}}else {println(超出人数范围);}}
}
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上一篇:JavaScript:反引号用法
下一篇:佛教简介
推荐阅读
留言与评论(共有 18 条评论) |
本站网友 刘本之 | 11分钟前 发表 |
XX} package Werewolf;import java.util.ArrayList; import java.util.Random; import java.util.Scanner;public class Werewolf {public static ArrayList<String> all = new ArrayList<>();//所有的牌public static ArrayList<String> play = new ArrayList<>();//可以发给玩家的牌public static ArrayList<String> di = new ArrayList<>();//底牌public static Scanner scanner = new Scanner(System.in);public static int peopleame = 0;//玩家人数public static void main(String[] args) {init();//初始化牌 // println(all); // println(play); // println(di);dipai();//分配底牌xipai();//给玩家发牌println(玩家手牌为:);println(play);println(盗贼底牌为:);println(di);}/*把之前玩家数组的牌一起整合到all里 根据随机数发给玩家*/public static void xipai(){Random random = new Random();all.addAll(play);//可以发给玩家的牌 除去底牌();//玩家牌清空while(all.size()>0)//一直分牌给玩家{int index = (all.size());//随机数的范围为all数组大小 左闭右开play.add(all.remove(index));//玩家拿牌}}/*all数组里面是分给底牌的(不能有盗贼)盗贼直接放到了玩家数组 最后重新洗牌 包含一个狼人 */public static void dipai(){Random random = new Random();for (int i = 0;i < ;i){int index = (all.size());//随机数的范围为all数组大小 左闭右开di.add(all.remove(index));}}public static void init(){peopleame = ();if (peopleame >= 12 && peopleame <= 18) {for (int i = 0;i < ;i){play.add(狼人);all.add(村民);}all.add(村民);all.add(狼人);//一张可以给底牌的狼人 放到all数组里 其他狼人牌直接放到play数组里all.add(预言家);all.add(女巫);all.add(丘比特);all.add(守护);all.add(猎人);all.add(村长);play.add(盗贼);//底牌不能有盗贼 直接分配给玩家if (peopleame > 12){all.add(村民);}if (peopleame > 1){all.add(替罪羊);}if (peopleame > 14){play.add(狼人);//放到play数组里}if (peopleame > 15){all.add(村民);}if (peopleame > 16){all.add(村民);}if (peopleame > 17){all.add(吹笛者);}}else {println(超出人数范围);}} } | |
本站网友 焦作楼盘 | 26分钟前 发表 |
java实现狼人杀游戏发牌 题目描述 共计21张牌 | |
本站网友 天津二手房搜房网 | 14分钟前 发表 |
6 | |
本站网友 日本大学 | 24分钟前 发表 |
5)人 4狼人 5村民 1预言家 1女巫 1丘比特 1守护 1猎人 1村长 1 替罪羊1 盗贼 17张牌 1(4 | |
本站网友 三合 | 16分钟前 发表 |
5)人 5狼人 6村民 1预言家 1女巫 1丘比特 1守护 1猎人 1村长 1 替罪羊 1盗贼 19张牌 15(5 | |
本站网友 揪耳朵 | 17分钟前 发表 |
5)人 4狼人 5村民 1预言家 1女巫 1丘比特 1守护 1猎人 1村长 1 替罪羊1 盗贼 17张牌 1(4 | |
本站网友 张珊珊 | 15分钟前 发表 |
4)人 4狼人 5村民 1预言家 1女巫 1丘比特 1守护 1猎人 1村长 1 盗贼 16张牌 12(4 | |
本站网友 大同天下 | 25分钟前 发表 |
4 | |
本站网友 武汉的小吃 | 30分钟前 发表 |
4)人 4狼人 4村民 1预言家 1女巫 1丘比特 1守护 1猎人 1村长 1 盗贼 15张牌 盗贼是一个特殊身份:当某位玩家获得盗贼牌的时候,可以翻开底牌三张选择底牌中自己想要的身份(有狼人要选狼人) 要求: 1.底牌可以没有狼人,如果有,最多只能有一个狼人; 2.底牌不能有盗贼; .输出如下: 玩家手牌为: {01:村民,02:丘比特,0:盗贼,… ,15:女巫} 盗贼底牌为: {01:XX,02 | |
本站网友 常在答应 | 25分钟前 发表 |
5 | |
本站网友 海水污染 | 16分钟前 发表 |
5)人 5狼人 5村民 1预言家 1女巫 1丘比特 1守护 1猎人 1村长 1 替罪羊 1盗贼 18张牌 14(4 | |
本站网友 怎么去脸部皱纹 | 22分钟前 发表 |
6 | |
本站网友 流亭租房 | 15分钟前 发表 |
java实现狼人杀游戏发牌 题目描述 共计21张牌 | |
本站网友 儿每天晚上要我 | 1分钟前 发表 |
5 | |
本站网友 鹿回头 | 14分钟前 发表 |
6)人 5狼人 7村民 1预言家 1女巫 1丘比特 1守护 1猎人 1村长 1 替罪羊 1盗贼 20张牌 16(5 | |
本站网友 系统脱敏法 | 25分钟前 发表 |
6 | |
本站网友 中药北沙参 | 12分钟前 发表 |
7 |