编写一个文字游戏
2014-02-14 17:05
162 查看
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("--------------------------------------"); } }
相关文章推荐
- 编写一个基于HBase的MR程序,结果遇到一个错:ERROR security.UserGroupInformation - PriviledgedActionException as ,求帮助
- JAVA编写的一个简单的Socket实现的HTTP响应服务器
- OpenGL织梦之旅【第二章】编写一个的钟表程序
- C primer plus 第七章 练习6: 编写一个程序读取输入,直到#,并报告序列ei出现的次数。
- Android的NDK开发(2)————利用Android NDK编写一个简单的HelloWorld
- 7、编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转(大写字母转成小写,小写字母转成大写)。
- 用C# winform 编写一个计算器
- 基于gulp编写的一个简单实用的前端开发环境
- 初学C时,用C编写的一个送给女朋友的小程序
- MINA框架编写一个通信系统
- [技巧篇]18.过滤器编写一个刷新用户端最新缓存的
- 读书笔记:Orange's 一个操作系统的实现(1) - 实验环境搭建和引导扇区的编写
- 用 Go 编写一个简单的 WebSocket 推送服务
- 编写一个函数reverse_string(char * string)(递归实现)
- 我编写了一个怪物 —— “消沉的程序员”漫画赏析
- 编写一个类的方法,其输入参数为一个整数,输出为该整数各个位上的最大数字
- 假设以带头结点的循环链表表示队列, 并且只设一个指针指向队尾元素结点(注意不设头指针) 试编写相应的队列初始化,入队列和出队列的算法
- From Android to iOS - 零基础编写一个iOS应用
- //4. 编写一个函数reverse_string(char * string)(递归实现) //实现:将参数字符串中的字符反向排列。 //要求:不能使用C函数库中的字符串操作函数。
- Linux网络编程一步一步学-自己编写一个HTTP协议的目录浏览和文件下载服务器