Day14学习进度<用定义类实现,输入文字的猜拳小游戏,和输入数字的猜拳小游戏>

2020/11/19 11:45
阅读数 23

Day14学习进度

  • 练习一
  • <输入文字的猜拳小游戏>
    在这里插入图片描述

玩家的类文件,接收玩家输入的石头剪刀布


import java.util.Scanner;                          /接收键盘输入
public class day14_01 {
   
   
    String Play1="玩家";
    int fen=0;                 /记录分数
    
    public String chuquan(){
   
                          /添加带返回值的方法,玩家出拳
        Scanner a=new Scanner(System.in);
        System.out.print("请输入你要出的拳:");
        String temp=a.next();                      /用于接收玩家输入的文字
        return temp;                               /返回玩家输入的文字
    }
}

电脑的类文件,接收电脑随机的石头剪刀布


public class day14_02 {
   
   
    String Npc="电脑";
    int fen=0;                 /记录分数
    
    public String chuquan(){
   
                          /添加带返回值的方法,电脑出拳
        int a=1+(int)(Math.random()*3);            /随机数字1-3;
        String chu="0";
        switch (a){
   
                                   /switch结构
            case 1:                                /如果随机数是1,就返回石头
                chu="石头";
                break;
            case 2:                                /如果随机数是2,就返回剪刀
                chu="剪刀";
                break;
            case 3:                                /如果随机数是3,就返回布
                chu="布";
                break;
        }
        System.out.println("电脑出的是:"+chu);
        return chu;                               /返回电脑的文字
    }
}

裁判的类文件,判断输赢和得分


public class day14_03 {
   
   
    String Peferee="裁判";
    
    public void pd(String wj,String dn,day14_01 a,day14_02 b){
   
         /添加判断输赢并定义参数的方法,参数用来记录得分

		/if结构判断输赢,第一个if判断玩家获胜的3种可能
        if((wj.equals("石头")&&dn.equals("剪刀"))||(wj.equals("剪刀")&&dn.equals("布"))||(wj.equals("布")&&dn.equals("石头"))){
   
   
            System.out.println("玩家获胜!得分+1");
            a.fen+=1;                /玩家得分+1

        /第二个else if判断电脑获胜的3种可能
        }else if((wj.equals("剪刀")&&dn.equals("石头"))||(wj.equals("石头")&&dn.equals("布"))||(wj.equals("布")&&dn.equals("剪刀"))){
   
   
            System.out.println("电脑获胜!得分+1");
            b.fen+=1;                /电脑得分+1

		/第三个else是玩家和电脑都没获胜,那就是平局了
        }else{
   
   
            System.out.println("平局!");
        }
        System.out.println("玩家/电脑:\t"+a.fen+"/"+b.fen);
    }
}

游戏的类文件,用来进行游戏和记录得分


public class day14_04 {
   
   
    String Game="游戏";
    String starGame="开始游戏";
    public void ks(){
   
               /添加开始游戏的方法
        System.out.println(starGame);
        day14_01 wj=new day14_01();          /定义玩家的类
        day14_02 dn=new day14_02();          /定义电脑的类
        day14_03 cp=new day14_03();          /定义裁判的类
        
        for(;;){
   
                 /无限循环,进行猜拳小游戏
            String wjq=wj.chuquan();         /调用玩家的方法并接收返回值
            String dnq=dn.chuquan();         /调用电脑的方法并接收返回值
            cp.pd(wjq,dnq,wj,dn);         /调用裁判的方法,并把接收的返回值,给裁判,四个分别是,玩家出的拳,电脑出的拳,玩家的分数,电脑的分数
        }
    }
}

入口文件,用于开始游戏


public class day14_05 {
   
   
    public static void main(String[]args){
   
   
        day14_04 g=new day14_04();          /定义游戏的类
        g.ks();          /调用游戏的方法
    }
}

  • 练习二
  • <输入数字的猜拳小游戏>
    在这里插入图片描述
    玩家的类文件,接收玩家输入的石头剪刀布


import java.util.Scanner;                          /接收键盘输入
public class day14_06 {
   
   
    String Play1="玩家";
    int fen=0;                 /记录分数
    
    public int chuquan(){
   
                          /添加带返回值的方法,玩家出拳
        Scanner a=new Scanner(System.in);
        System.out.print("请输入数字\t1:石头\t2:剪刀\t3:布:");
        int temp=a.nextInt();                         /用于接收玩家输入的数字
        String chu="1";
        switch (temp){
   
                                   /switch结构
            case 1:                                /如果输入的是1,就返回石头;
                chu="石头";
                break;
            case 2:                                /如果输入的是2,就返回剪刀;
                chu="剪刀";
                break;
            case 3:                                /如果输入的是3,就返回布;
                chu="布";
                break;
            default:
                System.out.println("输入错误,请重新开始");
        }
        System.out.println("玩家出的是:"+chu);
        return temp;                               /返回玩家输入的文字
    }
}

电脑的类文件,接收电脑随机的石头剪刀布


public class day14_07 {
   
   
    String Npc="电脑";
    int fen=0;                 /记录分数
    
    public int chuquan(){
   
                         /写一个带返回值的方法,电脑出拳
        int a=1+(int)(Math.random()*3);            /随机数字1-3;
        String chu="0";
        switch (a){
   
                                   /switch结构
            case 1:                                /如果随机数是1,就打印出的石头
                chu="石头";
                break;
            case 2:                                /如果随机数是2,就打印出的剪刀
                chu="剪刀";
                break;
            case 3:                                /如果随机数是3,就打印出的布
                chu="布";
                break;
        }
        System.out.println("电脑出的是:"+chu);
        return a;                               /返回电脑随机的数字
    }
}

裁判的类文件,判断输赢和得分


public class day14_08 {
   
   
    String Peferee="裁判";
    
    public void pd(int wj,int dn,day14_06 a,day14_07 b){
   
         /写一个判断输赢并定义参数的方法,参数用来记录得分

		/if结构判断输赢,第一个if判断玩家获胜的3种可能,1是石头,2是剪刀,3是布
        if((wj==1&&dn==2)||(wj==2&&dn==3)||(wj==3&&dn==1)){
   
   
            System.out.println("玩家获胜!得分+1");
            a.fen+=1;                /玩家得分+1

        /第二个else if判断电脑获胜的3种可能
        }else if((wj==2&&dn==1)||(wj==3&&dn==2)||(wj==1&&dn==3)){
   
   
            System.out.println("电脑获胜!得分+1");
            b.fen+=1;                /电脑得分+1

		/第三个else是玩家和电脑都没获胜,那就是平局了
        }else{
   
   
            System.out.println("平局!");
        }
        System.out.println("玩家/电脑:\t"+a.fen+"/"+b.fen);
    }
}

游戏的类文件,用来进行游戏和记录得分


public class day14_09 {
   
   
    String Game="游戏";
    String starGame="开始游戏";
    public void ks(){
   
               /写一个开始游戏的方法
        System.out.println(starGame);
        day14_06 wj=new day14_06();          /定义玩家的类
        day14_07 dn=new day14_07();          /定义电脑的类
        day14_08 cp=new day14_08();          /定义裁判的类
        
        for(;;){
   
                 /无限循环,进行猜拳小游戏
            int wjq=wj.chuquan();         /调用玩家的方法并接收返回值
            int dnq=dn.chuquan();         /调用电脑的方法并接收返回值
            cp.pd(wjq,dnq,wj,dn);         /调用裁判的方法,并把接收的返回值,给裁判,四个分别是,玩家出的拳,电脑出的拳,玩家的分数,电脑的分数
        }
    }
}

入口文件,用于开始游戏


public class day14_10 {
   
   
    public static void main(String[]args){
   
   
        day14_09 g=new day14_09();          /定义游戏的类
        g.ks();          /调用游戏的方法
    }
}

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部