使用多态设计英雄打怪的游戏
英雄:
-----悟空
-----八戒
-----沙僧
怪物:
----白骨精
----金角大王
游戏的入口类:
package com.game;
import java.util.Scanner;
//游戏的入口
public class Game {
public static void main(String[] args) {
System.out.println("游戏开始.......");
System.out.println("(系统默认角色:沙僧、金角大王)");
// 场景开始
Scene se = new Scene();
Scanner sc=new Scanner(System.in);
System.out.println("请选择英雄的序号:");
System.out.println("1:孙悟空");
System.out.println("2:猪八戒");
System.out.println("3:沙僧");
int n=sc.nextInt();
System.out.println("请选择妖怪的序号");
System.out.println("1:白骨精");
System.out.println("2:金角大王");
int m=sc.nextInt();
if(m==1){
//这里用到了多态,传递的是子类对象
se.gameBegin(new BaiGuJing());
}else{
se.gameBegin(new GoldenHorn());
}
if(n==1){
se.heroGo(new WuKong());
}else if(n==2){
se.heroGo(new BaJie());
}else{
se.heroGo(new ShaSeng());
}
}
}
游戏的场景类:
package com.game;
//游戏进行的场景类,妖怪出现后,英雄登场
public class Scene {
public void gameBegin(Monster m){
m.killPerson();
}
public void heroGo(Hero h){
h.hitMonster();
}
}
完整源码下载地址:
http://download.youkuaiyun.com/detail/hoho_12/9583896