• JAVA学习日报 8.2


    今天咱们来做一个石头剪刀布,这个是近期暑假程序设计技能实训的作业之一

    虽说为了完成任务需要有一个分析出拳规律的环节,但有点麻烦所以我只做了简单到不能再简单的分析,这也算是一种折衷嘛。

    代码如下:

    package test;
    import java.util.Scanner;
    import java.util.Random;
    class Winner
    {
        public int[] u= {0,0,0,0,0,0,0,0,0,0,0,0};
        public int[] win={0,0,0,0,0,0,0,0,0,0,0,0};
        public Winner(){}
           void showwin()
           {
               System.out.print("这九局的胜负结果如下:
    ");
               for(int i=0;i<9;i++)
               {
                   System.out.print("第"+(i+1)+"局胜负为:
    ");
                   if(win[i]==0)
                   {System.out.print("平局
    ");}
                   else if(win[i]==1)
                   {System.out.print("用户方胜利
    ");}
                   else if(win[i]==2)
                   {System.out.print("机器方胜利
    ");}
               }
           }
    };
    public class Class11 {
         public static void main(String[] args) {
                int ishi=2;
                int hasami=5;
                int gu=8;
                int handc=0,casec=0,cases=0;
                String redo;
                Winner w=new Winner();
                Random random = new Random();
                Scanner input=new Scanner(System.in);
                for(int i=0;i<9;i++)
                {
                 handc=random.nextInt(9);
                 if(handc>=0&&handc<=ishi)
                 {
                     casec=1;
                 }
                 else if(handc>ishi&&handc<=hasami)
                 {
                     casec=2;
                 }
                 else if(handc>hasami&&handc<=gu)
                 {
                    casec=3;
                 }
                 System.out.print("请出拳
    ");
                 System.out.print("|1 石头| |2 剪刀| |3 布 |
    ");
                 cases=input.nextInt();
                 while(cases>3||cases<1)
                 {
                    System.out.print("没有这一选项,请重新输入");
                    cases=input.nextInt();
                 }
                 if(casec==cases)
                 {
                     if(casec==1)
                     {System.out.print("石头对石头
    ");w.u[i]=1;}
                     else if(casec==2)
                     {System.out.print("剪刀对剪刀
    ");w.u[i]=2;}
                     else if(casec==3)
                     {System.out.print("布对布
    ");w.u[i]=3;}
                     System.out.print("平局!
    ");
                 }
                 if(cases==1)              /*胜负判断,下同*/
                 {
                     if(casec==2)
                     {System.out.print("石头对剪刀
    ");System.out.print("你赢了!
    ");w.u[i]=1;w.win[i]=1;}
                     if(casec==3)
                     {System.out.print("石头对布
    ");System.out.print("你输了!
    ");w.u[i]=1;w.win[i]=2;}
                 }
                 if(cases==2)
                 {
                     if(casec==1)
                     {System.out.print("剪刀对石头
    ");System.out.print("你输了!
    ");w.u[i]=2;w.win[i]=2;}
                     if(casec==3)
                     {System.out.print("剪刀对布
    ");System.out.print("你赢了!
    ");w.u[i]=2;w.win[i]=1;}
                 }
                 if(cases==3)
                 {
                     if(casec==2)
                     {System.out.print("布对剪刀
    ");System.out.print("你输了!
    ");w.u[i]=3;w.win[i]=2;}
                     if(casec==1)
                     {System.out.print("布对石头
    ");System.out.print("你赢了!
    ");w.u[i]=3;w.win[i]=1;}
                 }
                 if(i==8)             /*权重分析*/
                 {
                     ishi=0;hasami=0;gu=0;
                     for(int j=0;j<9;j++)
                     {
                         if(w.u[j]==1)
                         {gu++;}
                         if(w.u[j]==2)
                         {ishi++;}
                         if(w.u[j]==3)
                         {hasami++;}
                     }
                     w.showwin();
                     System.out.print("电脑分析了你的操作,变得强了一点
    ");
                     System.out.print("要继续挑战吗?    Y/N
    ");
                     redo=input.next();
                     if(redo!="N")
                     {i=0;}
                 }
                }
         }
    
    }

    运行结果:

     (这个真的谜之好玩)

  • 相关阅读:
    canvas绘图详解-10-文字渲染
    canvas绘图详解-09-曲线的绘制原理
    websocket,vue链接
    JS 数组对象根据某一相同key合并成新的数组
    nuxt $axios访问多个服务器地址请求数据
    正则去除字符串中的html标签,但不去除<br>标签
    css多行文本溢出显示省略号(兼容ie)
    input accept
    jquery.toast
    jquery toast
  • 原文地址:https://www.cnblogs.com/Sakuraba/p/13453540.html
Copyright © 2020-2023  润新知