进宠物商店买小动物的小游戏程序

/**

*本程序用到四个类,一个Pet做为父类,一个Cat和一个Dog继承Pet类,最后一个商店类来进行测试

*/

//Pet类

public Pet(String name, char sex, int age) {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }
    public Pet(){

    }
    public abstract void show();
    public abstract void eat();
    public abstract void howl();
}
//Cat类

public class Cat extends Pet{
    private double love;

    public Cat(String name, char sex, int age, double love) {
        super(name, sex, age);
        this.love = love;
    }
    public Cat(){

    }

    public double getLove() {
        return love;
    }

    public void setLove(double love) {
        this.love = love;
    }

    public void run(){
        System.out.println(super.getName()+"can run");
    }
    public void actionCute(){
        System.out.println(super.getName()+"can actionCute");
    }
    public  void show(){
        System.out.println(super.getName()+":"+super.getAge()+super.getSex()+love);
    }
    public  void eat(){
        System.out.println(super.getName()+"can eat");
    }
    public  void howl(){
        System.out.println(super.getName()+"can howl");
    }

}
//Dog类

public class Dog extends Pet{
    private String food;
    public String getKind() {
        return kind;
    }

    public void setKind(String kind) {
        this.kind = kind;
    }

    private String kind;
    public Dog(){

    }

    public Dog(String name, char sex, int age,String kind) {
        super(name,sex,age);
        this.kind = kind;
    }

    public void run(){
        System.out.println(super.getName()+"can run");
    }
    public void dealer(){
        System.out.println(super.getName()+"can dealer");
    }

    public  void show(){
        System.out.println(super.getName()+":"+super.getAge()+super.getSex()+kind);
    }
    public  void eat(){
        System.out.println(super.getName()+"eat:"+food);
    }
    public  void howl(){
        System.out.println(super.getName()+"can howl");
    }

}
//PetShop类


import java.util.Scanner;
public class PetShop {

    private int arrayTotal=0;
    private int count=0;

    private String name;
    private  Pet[] pets=new Pet[10];


    private Dog dog;
    private Cat cat;

    private int num1;//num1是接收到的宠物类型
    private String acceptkind;//接收狗的品种
    private double acceptlove;//接收猫的亲密度

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Pet[] getPets() {
        return pets;
    }

    public void setPets(Pet[] pets) {
        this.pets = pets;
    }

    private boolean addPet(Pet pet){

        return true;
    }
    public boolean purchasePet(Pet pet){
        return true;
    }
    private void sellPet(int num1){
        boolean flag=false;
        for(;;){

            if(!flag){
                if(num1==1){
                    sellDog();
                    flag=true;
                }else if(num1==2){
                    sellCat();
                    flag=true;
                }else{
                    System.out.println("输入错误,请重新输入");
                }
            }
            break;
        }
    }
    //卖狗
    private void sellDog(){
           for(int i=0;i<pets.length;i++){
               if(i==arrayTotal) {
                   pets[i] = acceptDog();
                   System.out.println("出售成功");
                   arrayTotal += 1;
                   goShop();
               }
               if(i==pets.length){
                   System.out.println("笼子已满,出售失败");
               }
           }
    }
    //卖猫
    private void sellCat(){
        for(int i=0;i<pets.length;i++){
            if(i==arrayTotal){
                pets[i]=acceptCat();
                System.out.println("出售成功");
                arrayTotal+=1;
                goShop();
            }
            if(i==pets.length){
                System.out.println("笼子已满,出售失败");
            }
        }
    }

    public void buyPet(int num1){

        boolean flag=false;
        for(;;){
            if(!flag){
                if(num1==1){
                    buyDog();
                    flag=true;
                }else if(num1==2){
                    buyCat();
                    flag=true;
                }else{
                    System.out.println("输入错误,请重新输入");
                }
            }
            break;
        }
    }

    //买狗
    private Dog buyDog(){
            acceptkind=acceptKind();
            dog=checkDog(acceptkind);
        return dog;
    }
    //买猫
    private Cat buyCat(){
        acceptlove=acceptLove();
        cat=checkCat(acceptlove);
        return cat;
    }


    public void showPets(){

    }

    public int acceptNum(){
        Scanner scanner=new Scanner(System.in);
        int num=scanner.nextInt();
        return num;
    }
    public String acceptKind(){
        System.out.println("请输入你要的品种");
        Scanner scanner=new Scanner(System.in);
        String kind =scanner.next();
        if(kind.isEmpty()){
            System.out.println("你没有输入值");
        }
        return kind;
    }

    public Dog acceptDog(){
        dog=new Dog();
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入你出售狗的品种");
        dog.setKind(scanner.next());
        System.out.println("请输入你出售狗的性别");
        dog.setSex(scanner.next().charAt(0));
        System.out.println("请输入你出售狗的年龄");
        dog.setAge(scanner.nextInt());
        System.out.println("请输入你出售狗的名字");
        dog.setName(scanner.next());
        return dog;
    }

    public Cat acceptCat(){
        cat=new Cat();
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入你的猫咪和主人的亲密度为多少?(0-100)");
        cat.setLove(scanner.nextDouble());
        System.out.println("请输入你出售猫咪的性别");
        cat.setSex(scanner.next().charAt(0));
        System.out.println("请输入你出售猫咪的年龄");
        cat.setAge(scanner.nextInt());
        System.out.println("请输入你出售猫咪的名字");
        cat.setName(scanner.next());
        return cat;
    }

    public double acceptLove(){
        System.out.println("请输入你要的亲密度");
        Scanner scanner=new Scanner(System.in);
        double love =scanner.nextDouble();
        return love;
    }
    public void goShop(){
        System.out.println(name+"say:"+"你是要买宠物(1)?还是要出售宠物(2)?还是随便看看然后离开(0)?");
        for(;;){
            int num=acceptNum();//num是接收到的买还是卖的类型
            switch (num){
                case 0:
                    //逛一会就离开商店
                    break;
                case 1:
                    System.out.println("请输入你要买的宠物,买小狗(1)?买小猫(2)");
                    num1=acceptNum();//num1是接收到的宠物类型
                    buyPet(num1);
                    break;
                case 2:
                    System.out.println("请输入你要卖的宠物,卖小狗(1)?卖小猫(2)");
                    num1=acceptNum();//num1是接收到的宠物类型
                    sellPet(num1);
                    break;
                default:
                    System.out.println("输入错误,请输入0-2的数");
                    break;
            }
            if(num==0){
                break;
            }
        }
    }
    //选择狗的方法
    public Dog checkDog(String kind){
        boolean flag=false;
        for(;;){
            if(!flag){

                if(kind.equals("exit")){
                   break;
                }
                for(int i=0;i<pets.length;i++){
                    if(pets[i] instanceof Dog){
                        Dog dog=(Dog)pets[i];
                        if(dog.getKind().equals(kind)){
                            System.out.println("dog"+i);
                            //输出宠物信息
                            System.out.println("kind is:"+dog.getKind());
                            System.out.println("name is:"+dog.getName());
                            System.out.println("sex is:"+dog.getSex());
                            System.out.println("age is:"+dog.getAge());
                            for(int j=i;j<pets.length;j++){
                                if(j+1<pets.length){
                                    pets[j]=pets[j+1];
                                }
                            }
                            flag=true;
                            goShop();
                        }
                    }else{
                        if(i<pets.length-1){
                            continue;
                        }
                        System.out.println("你选择的品种本店没有,请重新输入");
                        kind=acceptKind();
                        count++;
                        if(count==5){
                            count=0;
                            System.out.println("店里没有你要的小狗了");
                            goShop();
                        }
                    }
                }

            }
        }
        System.out.println("已经没有狗可以出售了!");
        goShop();
        return dog;
    }
    //选择猫的方法
    public Cat checkCat(Double love){
        boolean flag=false;
        for(;;){
            if(!flag){
                if(love.toString().equals("exit")){
                   break;
                }
            }

            for(int i=0;i<pets.length;i++){
                if(pets[i] instanceof Cat){
                    Cat cat=(Cat)pets[i];
                if(cat.getLove()>=love-10&&cat.getLove()<=love+10){
                    //输出宠物信息
                    System.out.println("kind is:"+cat.getLove());
                    System.out.println("name is:"+cat.getName());
                    System.out.println("sex is:"+cat.getSex());
                    System.out.println("age is:"+cat.getAge());
                    for(int j=i;j<pets.length;j++){
                        if(j+1<pets.length){
                            pets[j]=pets[j+1];
                        }
                    }
                    flag=true;
                    goShop();
                }
            }else{
                    if(i<pets.length-1){
                        continue;
                    }
                    System.out.println("你选择的亲密度本店没有,请重新输入");
                    love=acceptLove();
                    count++;
                    if(count==5){
                        count=0;
                        System.out.println("店里没有你要的小猫了");
                        goShop();
                    }

                }
            }
        }
        System.out.println("已经没有小猫可以出售了!");
        goShop();
        return cat;
    }


    //出售狗的方法
    public Dog sellDog(Dog dog){
        for(;;){
            if(dog.equals("exti")){
                break;
            }
            for(int i=0;i<pets.length;i++){
                if(pets[i].equals(dog)){
                    //输出宠物信息
                    dog= dog;
                    break;
                }else{
                    System.out.println("你选择的品种本店没有,请重新输入");
                }
            }
        }
        return dog;
    }
    //出售猫的方法
    public Cat sellCat(Cat cat){
        for(;;){
            if(cat.equals("exit")){
                break;
            }
            for(int i=0;i<pets.length;i++){
                if(pets[i].equals(cat)){
                    //输出宠物信息
                   cat= cat;
                    break;
                }else{
                    System.out.println("你选择的品种本店没有,请重新输入");
                }
            }
        }
        return cat;
    }

    public static void main(String[] args) {
        PetShop petShop=new PetShop();
        Dog dog=new Dog("xh",'m',1,"hsq");
        Dog dog1=new Dog("dh",'m',3,"eh");
        petShop.pets[1]=dog;
        petShop.pets[2]=dog1;
        System.out.println(petShop.pets[9]);
        petShop.goShop();
    }

}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值