第十二章

  1. package ch12;      
  2. import java.util.Random;    
  3.     
  4. public class Computer    
  5. {    
  6.    
  7.    public String name;    
  8.     public int score;    
  9.    
  10.    public int showFist()    
  11.     {    
  12.     
  13.        Random r = new Random();    
  14.         int num = r.nextInt(3) + 1;    
  15.         switch (num)    
  16.         {    
  17.         case 1:  .            System.out.println(name+"出的是剪刀");    
  18.            break;    
  19.         case 2:    
  20.             System.out.println(name+"出的是石头");    
  21.             break;    
  22.         case 3:    
  23.             System.out.println(name+"出的是布");    
  24.             break;    
  25.        }    
  26.         return num;    
  27.     }    
  28.     
  29. }    
  30.   
  31.   
  32.   
  33.   
  34.   
  35.   
  36.   
  37.   
  38.   
  39.   
  40.   
  41. [java] view plaincopyprint?在CODE上查看代码片派生到我的代码片  
  42. package ch12;    
  43.     
  44. import java.util.Scanner;    
  45.     
  46. public class Person    
  47. {    
  48.     public String name;    
  49.     public int score;    
  50.     /**   
  51.      * 用户出拳   
  52.      *    
  53.      * @return 返回用户出拳是什么 1 .剪刀 2.石头 3.布   
  54.      */    
  55.     public int showFirst()    
  56.     {    
  57.         Scanner input = new Scanner(System.in);    
  58.         int ch = 0;    
  59.         boolean b = true;          while (b)    
  60.         {              System.out.println("1.剪刀\t2.石头\t3.布");    
  61.             ch = input.nextInt();    
  62.             switch (ch)    
  63.             {    
  64.             case 1:    
  65.                 System.out.println("您出的是剪刀");    
  66.                 b = false;    
  67.                 break;    
  68.             case 2:    
  69.                 System.out.println("您出的是石头");    
  70.              b = false;    
  71.                 break;    
  72.             case 3:    
  73.                 System.out.println("您出的是布");    
  74.                b = false;    
  75.                 break;    
  76.            default:    
  77.                System.out.println("输入错误,请输入1--3 任意整数");    
  78.                 b = true;    
  79.                 break;    
  80.             }    
  81.     
  82.         }    
  83.     
  84.        return ch;    
  85.     }    
  86.     
  87. }    
  88.   
  89.   
  90.   
  91.   
  92.   
  93.   
  94.   
  95.   
  96.   
  97.   
  98.   
  99. [java] view plaincopyprint?在CODE上查看代码片派生到我的代码片  
  100. package ch12;    
  101.     
  102. import java.util.Scanner;    
  103.     
  104. public class Game    
  105. {    
  106.     private Person person;// 人玩家    
  107.     private Computer computer;// 电脑玩家    
  108.     private int count; // 对战次数    
  109.     Scanner input = new Scanner(System.in);    
  110.    
  111.    private void init()    
  112.    {    
  113.         person = new Person();    
  114.         computer = new Computer();    
  115.     }    
  116.     
  117.     public void satrtGame()    
  118.     {          init();    
  119.        int p = 0;// 代表用户出拳    
  120.         int c = 0;// 代表电脑出拳    
  121.     
  122.        System.out.println("************************");    
  123.       System.out.println("******* 猜拳    开始*******");    
  124.        System.out.println("************************");    
  125.        System.out.println("出拳规则1.剪刀2.石头3.布");    
  126.        System.out.println("请选择对方角色(1.刘备2.孙权3.曹操)");    
  127.        switch (input.nextInt())    
  128.         {    
  129.        case 1:    
  130.            computer.name = "刘备";    
  131.            break;    
  132.         case 2:    
  133.          computer.name = "孙权";    
  134.             break;    
  135.         case 3:    
  136.             computer.name = "曹操";    
  137.            break;    
  138.         }    
  139.         System.out.println("请输入您的姓名");    
  140.        person.name = input.next();    
  141.        System.out.println(person.name + "VS" + computer.name + "对战");    
  142.         System.out.println("要开始吗y/n");    
  143.        char a = input.next().charAt(0);    
  144.        if (a == 'y')          {              char b = 'y';    
  145.             while (b == 'y')    
  146.             {    
  147.                 System.out.print("请出拳");    
  148.                 p = person.showFirst();    
  149.                 c = computer.showFist();    
  150.                if (p == c)    
  151.                 {    
  152.                     System.out.println("和局");    
  153.                     // 人赢    
  154.                 } else if (p == 1 && c == 3 || p == 2 && c == 1 || p == 3 && c == 2)    
  155.                {    
  156.                     System.out.println("恭喜你赢了");    
  157.                    person.score += 1;// person.score=person.score+1;    
  158.                } else    
  159.                 {    
  160.                     System.out.println("你输了");    
  161.                     computer.score += 1;    
  162.                }    
  163.                 count++;    
  164.                System.out.println("是否开始下一轮y/n");    
  165.                 b = input.next().charAt(0);    
  166.             }    
  167.             showResult();// 显示对战结果    
  168.                                 
  169.         } else    
  170.         {    
  171.             System.out.println("游戏退出");    
  172.       }    
  173.     }    
  174.     // 显示对战结果    
  175.     public void showResult(){    
  176.             
  177.        System.out.println(person.name+"VS"+computer.name);    
  178.         System.out.println("对战次数"+count);    
  179.        System.out.println();    
  180.             
  181.         System.out.println("姓名\t得分");    
  182.         System.out.println(person.name+"\t"+person.score);    
  183.         System.out.println(computer.name+"\t"+computer.score);    
  184.        if(person.score>computer.score){    
  185.             System.out.println("你真厉害赢了");    
  186.                 
  187.       }else if(person.score<computer.score){    
  188.           System.out.println("你真笨,输了");    
  189.         }else{    
  190.             System.out.println("平局");    
  191.                       }    
  192.     }    
  193.     
  194. }    
  195.   
  196.   
  197.   
  198.   
  199.   
  200. [java] view plaincopyprint?在CODE上查看代码片派生到我的代码片  
  201. package ch12;    
  202.     
  203. public class TestGame    
  204. {    
  205.     public static void main(String[] args)    
  206.     {    
  207.         Game game=new Game();    
  208.         game.satrtGame();    
  209.     }    
  210. }    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值