编写一个文字游戏

package com.lyh;
//和尚接口
interface Monk {

    void pray();    //念经
}
//演员类
class Actor {

    String name;

    Actor() {
    }

    Actor(String name) {
        this.name = name;
    }
}

class Human extends Actor implements Monk {

    SuperMan[] tudis = new SuperMan[3];
    int number = 0;

    Human() {
    }

    Human(String name) {
        super(name);
    }

    @Override
    public void pray() {
        System.out.println("阿弥陀佛");
    }

    public void shouTudi(SuperMan tudi) {
        System.out.println(this.name + "收了一个徒弟" + tudi.name);
        tudis[number++] = tudi;
    }

    public void help() {
        System.out.println("徒弟救我");  //.....
    }

    public void help(SuperMan tudi) {
        System.out.println(tudi.name + "救我");
    }

    @Override
    public String toString() {
        return null;
        //......
    }
}
//妖怪类
class NoHuman extends Actor {

    int level = 0;
    String weapon;

    NoHuman() {
    }

    NoHuman(String name, int level, String weapon) {
        super(name);
        this.level = level;
        this.weapon = weapon;
    }

    void fly() {
    }

    void magic() {
    }

    void fight(NoHuman noHuman, NoHuman noman) {
        int level01;
        int level02;
        level01 = noHuman.level;
        level02 = noman.level;
        if (level01 <= level02) {
            System.out.println("对不起师父,徒儿无能!");
            System.out.println(noHuman.name + "也被抓!");
        } else {
            System.out.println("敢抓我师傅,找死!");
            System.out.println(noHuman.name + "抓到" + noman.name + "!");
        }
        // System.out.println(noHuman.name + "抓到" + noman.name);

    }
}

class SuperMan extends NoHuman implements Monk {

    Human shifu;    //师傅引用
    //get 和 set方法

    public void setShifu(Human shifu) {
        this.shifu = shifu;
    }

    public Human getShifu() {
        return shifu;
    }

    //构造器
    //....
    @Override
    public void pray() {
    }

    public void answay() {
        System.out.println("师傅,徒弟来就你了!");
    }

    void save(Human shifu) {
        System.out.println("保护师傅的安全");
    }
}

class Monster extends NoHuman {

    boolean hasBackground;
    // get /set 方法

    //构造器
    //成员方法
    void eat(Human human) {
    }

    @Override
    void magic() {
        super.magic();
        System.out.println("抓到唐僧");//To change body of generated methods, choose Tools | Templates.
    }

    void run(NoHuman a) {
        System.out.println(a.name + ",我还会回来的!");
    }
}

public class XiYouJi {

    public static void main(String[] args) {
        System.out.println("---------------------------------");
        //1.向内存要空间,放要处理的数据->定义变量
        Human tangseng = new Human("唐僧");
        SuperMan sunwukong = new SuperMan();
        sunwukong.name = "孙悟空";
        sunwukong.level = 10;
        sunwukong.weapon = "金箍棒";
        SuperMan zhubajie = new SuperMan();
        zhubajie.name = "猪八戒";
        zhubajie.level = 7;
        zhubajie.weapon = "钉耙";
        SuperMan shaheshang = new SuperMan();
        shaheshang.name = "沙和尚";
        shaheshang.level = 5;
        shaheshang.weapon = "截刀";
        Monster huangfengguai = new Monster();
        huangfengguai.name = "黄风怪";
        huangfengguai.level = 7;
        huangfengguai.weapon = "口袋布";
        //2.处理数据。根据业务逻辑来处理数据
        System.out.println("----------人物出场-----------");
        System.out.println(tangseng.name);
        System.out.println(sunwukong.name);
        System.out.println(zhubajie.name);
        System.out.println(shaheshang.name);
        System.out.println(huangfengguai.name);

        System.out.println("----------唐僧收徒弟-----------");
        tangseng.pray();
        tangseng.shouTudi(sunwukong);
        sunwukong.shifu = tangseng;
        tangseng.pray();
        tangseng.shouTudi(zhubajie);
        zhubajie.shifu = tangseng;
        tangseng.pray();
        tangseng.shouTudi(shaheshang);
        shaheshang.shifu = tangseng;
        //......

        System.out.println("----------妖怪抓唐僧-----------");
        huangfengguai.magic();
        tangseng.help(zhubajie);
        System.out.println("------------徒弟救师父---------");
        zhubajie.save(tangseng);
        zhubajie.fly();
        zhubajie.answay();
        zhubajie.fight(zhubajie, huangfengguai);//猪八戒与黄风怪打
        tangseng.help(sunwukong);
        System.out.println("------------徒弟再救师父---------");
        sunwukong.save(tangseng);
        sunwukong.fly();
        sunwukong.answay();
        sunwukong.fight(sunwukong, huangfengguai);
        huangfengguai.run(huangfengguai);
        System.out.println("------------大结局---------");
        System.out.println(tangseng.name + "、" + sunwukong.name + "、" + zhubajie.name + "、" + shaheshang.name
                + "取得真经!");
        System.out.println("--------------------------------------");
        
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值