使用多态设计英雄打怪的游戏
英雄:
-----悟空
-----八戒
-----沙僧
怪物:
----白骨精
----金角大王
游戏的入口类:
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
本文介绍了一个基于多态设计的英雄打怪游戏实现。游戏中包含不同的英雄和怪物角色,通过多态传递子类对象的方式实现了灵活的角色选择。文章提供了游戏入口类和场景类的代码示例。
943

被折叠的 条评论
为什么被折叠?



