public class Actor {
String name;
public Actor() {
}
public Actor(String name) {
this.name = name;
}
}
package com.derun;
import com.derun.jiekou.Heshang;
public class Chaoren extends Feiren implements Heshang{
Tangseng shifu;
@Override
public void nianjing() {
}
public Tangseng getShifu() {
return shifu;
}
public void setShifu(Tangseng shifu) {
this.shifu = shifu;
}
public Chaoren(Tangseng shifu) {
this.shifu = shifu;
}
void jiuren(Tangseng shifu){
System.out.println("徒儿"+this.name+"来救你了");
}
void zhandou(Yaoguai yao){
System.out.println("徒儿"+this.name+"和"+yao.name+"打起来了");
}
void zhandou(Tangseng shifu,Yaoguai yao){
System.out.println(this.name+"被"+yao.name+"打败抓住了。");
}
void jiaoren(){
}
void zhandou(int shengming){
this.shengming=shengming;
System.out.println(this.name+"生命值"+this.shengming);
}
public Chaoren() {
}
public Chaoren(String name, int zhandouli, String wuqi,int shengming) {
super(name, zhandouli, wuqi,shengming);
}
}
package com.derun;
public class Feiren extends Actor{
int zhandouli=0;
String wuqi;
int shengming=0;
public Feiren() {
}
public Feiren(String name,int zhandouli,String wuqi,int shengming) {
super(name);
this.zhandouli=zhandouli;
this.wuqi=wuqi;
this.shengming=shengming;
}
@Override
public String toString() {
return "我是"+this.name + ",战斗力=" + zhandouli + ", 武器是" + wuqi + "生命力"+shengming+'!';
}
}
package com.derun;
import com.derun.jiekou.Heshang;
public class Tangseng extends Actor implements Heshang{
@Override
public void nianjing() {
}
Chaoren [] tudis=new Chaoren[3];
int number=0;
public Tangseng() {
}
public Tangseng(String name ) {
super(name);
// System.out.println("我是"+this.name);
}
public void shouTudi(Chaoren tudi){
System.out.println(this.name+"收了个徒弟"+tudi.name);
tudis[number++]=tudi;
}
public void help(){
System.out.println();
}
public void help(Chaoren tudi){
System.out.println(tudi.name+",快来救救为师!");
}
@Override
public String toString() {
return this.name;
}
}
package com.derun;
import com.derun.jiekou.Heshang;
public class Yaoguai extends Feiren{
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
/*
西游记:
唐僧去西天取经,先后收了三个徒弟:孙悟空、猪八戒和沙和尚。
路上,遇到了妖怪黄风怪。黄风怪抓走唐僧,准备吃掉长生不老。
唐僧的徒弟们为了救唐僧,大战黄风怪,最终救出了师傅,前往西天求取真经。
分析:
1)程序要处理的数据 – 名词
2)数据的结构,数据之间的关系
3)对这些数据要做哪些处理(操作)->功能 --动词
4)执行流程
1、要处理的数据有哪些?
和尚(唐僧,孙悟空、猪八戒和沙和尚),妖怪
游戏当中的角色 -> 人(唐僧) 非人(孙悟空,猪八戒,沙和尚,妖怪) -> 类类型
非人->超人:
非人->妖怪:
唐僧、孙悟空、猪八戒、沙和尚都是和尚类型 -> 设计为接口类型
2、这些数据的处理/功能有哪些?
*/
package com.derun;
public class Test {
public static void main(String[] args) {
System.out.println("-------------------全部演员出场-----------------------");
Tangseng tangseng = new Tangseng("唐僧");
Chaoren sunwukong = new Chaoren("孙悟空", 10, "金箍棒", 10);
Chaoren zhubajie = new Chaoren("猪八戒", 7, "九齿钉耙", 10);
Chaoren shahesheng = new Chaoren("沙和尚", 5, "降妖宝杖", 10);
Yaoguai huangfengguai = new Yaoguai("黄风怪", 8, "未知", 10);
System.out.println("我是" + tangseng + ",战斗力为零," + "武器是九环锡杖!");
System.out.println(sunwukong);
System.out.println(zhubajie);
System.out.println(shahesheng);
System.out.println(huangfengguai);
System.out.println("--------------------唐僧收徒弟------------------------");
tangseng.shouTudi(sunwukong);
tangseng.shouTudi(zhubajie);
tangseng.shouTudi(shahesheng);
System.out.println("------------------唐僧被妖怪抓走----------------------");
huangfengguai.zhua(tangseng);
tangseng.help(sunwukong);
tangseng.help(zhubajie);
tangseng.help(shahesheng);
sunwukong.jiuren(tangseng);
zhubajie.jiuren(tangseng);
shahesheng.jiuren(tangseng);
System.out.println("------------------徒弟们和妖怪大战----------------------");
zhubajie.zhandou(huangfengguai);
zhubajie.zhandou(tangseng, huangfengguai);
shahesheng.zhandou(huangfengguai);
shahesheng.zhandou(tangseng, huangfengguai);
sunwukong.zhandou(huangfengguai);
sunwukong.zhandou(tangseng, huangfengguai);
huangfengguai.run();
System.out.println("徒弟们救出师傅");
sunwukong.zhandou(8);
zhubajie.zhandou(7);
shahesheng.zhandou(6);
}
}
public Yaoguai() {
}
public Yaoguai(String name, int zhandouli, String wuqi,int shengming) {
super(name, zhandouli, wuqi,shengming);
}
void eat(Tangseng ren){}
void zhua(Heshang heshang){
System.out.println(this.name+"抓走了"+heshang);
}
void run(){
System.out.println(this.name+"跑了");
}
}
package com.derun.jiekou;
public interface Heshang {
void nianjing();
}