package langrensha;import java.util.Scanner;public class test {public static void main(String[] args) {String [] cards={"狼人","狼人","平民","平民","平民","预言家","女巫"};//保存每个人的身份String [] people=new String[7];//设置投票数int [] poll=new int[7];int [] random={8,8,8,8,8,8,8};int a=0;//给每一个位置放值int nvNum=1;//标记女巫使用毒药或者解药boolean flag=true;do{int count=1;//如果有相同的随机数就+1int j=(int)(Math.random()*7);for(int i=0;i<random.length;i++){if(j==random[i]){count++;}}if(count==1){//没有相同的随机数时才放值random[a]=j;a++;}}while(a!=7);//随机设置身份for(int i=0;i<cards.length;i++){people[i]=cards[random[i]];}//输出每个人的身份for(int i=0;i<people.length;i++){System.out.println((i+1)+"号的身份为:"+people[i]+"\t");}int yuYan=0;int nvWu=0;for(int i=0;i<people.length;i++){if(people[i].equals("预言家")){yuYan=i;}else if(people[i].equals("女巫")){nvWu=i;}}do{Scanner in=new Scanner(System.in);System.out.println("天黑,请闭眼");System.out.println("狼人选择要杀的号码:");int num=in.nextInt();System.out.println("预言家要查看谁的身份");if(!people[yuYan].equals("死")){int num1=in.nextInt();System.out.println(num1+"号的身份为"+people[num1-1]);}System.out.println("女巫选择是否救(y/n)");int b=1;int num4=0;if(!people[nvWu].equals("死")){if(nvNum!=0){String ans=in.next();if(ans.equals("n")){b=1;}else{b=0;nvNum--;}System.out.println("请选择是否毒人:(y/n)");if(nvNum!=0){String ans1=in.next();if(ans1.equals("y")){System.out.println("请输入要毒几号:");num4=in.nextInt();b=2;nvNum--;}}}}if(b==0){System.out.println("今晚是平安夜");}else if(b==1){System.out.println(num+"号死了");people[num-1]="死";}else{System.out.println(num+"号死了");people[num-1]="死";System.out.println(num4+"号死了");people[num4-1]="死";}//设置投票数for(int i=0;i<people.length;i++){if(!people[i].equals("死")){System.out.println((i+1)+"号请选择:");int num2=in.nextInt();switch(num2-1){case 0:poll[0]++;break;case 1:poll[1]++;break;case 2:poll[2]++;break;case 3:poll[3]++;break;case 4:poll[4]++;break;case 5:poll[5]++;break;case 6:poll[6]++;break;}}}//回去最大投票数的下标int max=poll[0];int num3=0;for(int i=0;i<poll.length;i++){if(poll[i]>max){max=poll[i];num3=i;}}//判断被投死的人System.out.println(num3+1+"号被投死");people[num3]="死";for(int i=0;i<people.length;i++){System.out.println((i+1)+"号的身份为:"+people[i]+"\t");}poll=new int[7];int end1=0;int end2=0;for(int i=0;i<people.length;i++){if(people[i].equals("狼人")){end1++;}else if(people[i].equals("死")){}else{end2++;}}if(end1==0){System.out.println("游戏结束,平民胜利");flag=false;}else if(end1<=end2){System.out.println("游戏继续");}else{System.out.println("游戏结束,狼人胜利");flag=false;}}while(flag);}
}

Java学习--狼人杀相关推荐

  1. Java 1089 狼人杀

    题目内容: 以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人杀"游戏中,1 号玩家说:"2 号是狼 ...

  2. java实现狼人杀游戏发牌

    题目描述 共计21张牌.在{村民,狼人,守护,预言家,猎人,丘比特,长老,盗贼,替罪羊,女巫}随机生成12-18个身份 (每个身份唯一,村民狼人除外).有三张底牌,底牌必须不能出现盗贼身份. 玩家输入 ...

  3. java关于狼人的一个游戏叫什么,狼人杀桌游-石家庄java培训班学员的拿手游戏

    玩游戏是每个人的天性,游戏不用教就会玩,但是学习不一样,自学没有耐心,所以唯有选择培训班才能安心学习.如果为了学习让我们很痛苦,我们情何以堪呢,所以愉快的学习才能让我们有所成就. 就在2月3日,石家庄 ...

  4. 用Java写了一个简单的控制台狼人杀游戏

    最近上课老师布置的作业是写一个简答的狼人杀游戏,花了大概两天不到写完,比较乱,还有很多逻辑不太顺的地方,有问题的欢迎讨论. 先搞清楚游戏的玩法: 12人局的一个游戏 平民阵营(好人阵营):4个平民 神 ...

  5. 狼人杀与血染钟楼的【JAVA面向对象】————类和对象

    目录 一.类 1.什么是类 2.类的定义 3.类的构成 二.对象 1.什么是对象 2.对象的实现 三.static 一.类 1.什么是类 天黑请闭眼! 现在是狼人杀的时间,好了,现在你拿的身份是狼人. ...

  6. PAT(乙级)1089 狼人杀-简单版(JAVA)

    思路: 1.狼人和农民都说谎且只说谎一次.(注意) 2.遍历,假设两个人是狼,然后通过判断所有人说的话是不是满足说谎人数等于2且狼人说谎人数等于1.农名说谎人数1这个条件. 3.题目中的最小条件只需要 ...

  7. JAVA 基础实践项目 -- 狼人杀

    转向博客 题目 狼人杀,身份分配. 12人身份,3个阵营.分配身份. 阵营: 神民:预言家.女巫.猎人.白痴 平民:4民 狼人:4 狼人程序执行: 1. 分配身份 2. 退出 点击分配身份,将12个身 ...

  8. C++学习之路 | PTA乙级—— 1089 狼人杀-简单版(精简)

    1089 狼人杀-简单版 (20 分)以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人杀"游戏中,1 号玩家 ...

  9. 教你快速开发一个 狼人杀微信小程序(附源码)

    点击关注公众号,利用碎片时间学习 一.项目展示 狼人杀是一款多人参与的,通过语言描述推动.较量口才和分析判断能力的策略类桌面游戏 玩家人数适于4-18人参与 主要角色有:狼人 .预言家 .平民 .女巫 ...

最新文章

  1. python调用webservice接口实例_python发布webservice接口
  2. 计算最长公共数字串个数
  3. pgsql动态创建table
  4. powercfg -h off_驭鲛记的主演会是谁?肖战关系特别好的艺人朋友呢?白敬亭和吴映洁有没有故事啊?高伟光是不是隐婚生子了?讲讲管h和马司令呗?...
  5. 工作173:数组转换为对象
  6. Redis数据的类型
  7. 多所“双一流”明确将扩招!清华、上交、哈工大等也做出回应
  8. 通过计算机名访问linux
  9. 修改QQ聊天窗口大小
  10. 网络节点是计算机与网络的什么,网络节点是什么意思?
  11. CentOS 7 配置花生壳(phddns)自启动
  12. android怎么实现记住密码功能,Android学习笔记——记住密码的功能实现(一)
  13. CentOS7 快速搭建VNC Server 实现服务器远程控制台访问(Java Viewer)
  14. 元旦贺卡html,元旦贺卡祝福语
  15. 初识Hadoop(会飞的大象)
  16. 《Thinking in Bets》读书分享 - 如何在信息不完全情况下做出更好的决策(1)
  17. 关于EasyRecovery工具数据恢复的原理
  18. 服务器个别目录下不能新建文件夹,域服务器不能创建sysvol和netlogon共享文件夹...
  19. MYSQL登录遇到的问题:解决ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘(10061)
  20. Serverless 架构的 N 种可能,你 Pick 谁?

热门文章

  1. 论文的可复现性,能否量化分析?
  2. QT 选择文件,另存为文件组件
  3. 品达物流TMS项目_第6章 数据聚合服务开发(pd-aggregation)
  4. Leetcode 517. Super Washing Machines
  5. 通过大数据分析如何提升客户体验
  6. Ubuntu系统切换五笔输入法
  7. 含根式的定积分计算_三种方式计算不定积分∫x√(x+1)dx。
  8. 结构体内数组arr[0]或者arr[1]变量的作用及使用方法
  9. 如何生成一个二维码?
  10. 丁总路由器设置以及401联网