Java_9+8实训Day0906作业题

来源:互联网 发布:mac关不了机 编辑:程序博客网 时间:2024/06/14 03:44

题目:


编写一个游戏程序(游戏的外型风格可能有现代型、古典型,

在未来的版本中可能还会有其他风格,比如哥特式(Gothic)等
游戏中的场景有
道路(Road)
丛林(Jungle)
房屋(Building)

地道(Tunnel)


实现:


Road类

package com.problem;public class Road {private String style;Road(String style){this.style=style;}public String getStyle() {return style;}public void setStyle(String style) {this.style = style;}}


Jungle类

package com.problem;public class Jungle {private String style;Jungle(String style){this.style=style;}public String getStyle() {return style;}public void setStyle(String style) {this.style = style;}}


Building类

package com.problem;public class Building {private String style;Building(String style){this.style=style;}public String getStyle() {return style;}public void setStyle(String style) {this.style = style;}}


Tunnel类

package com.problem;public class Tunnel {private String style;Tunnel(String style){this.style=style;}public String getStyle() {return style;}public void setStyle(String style) {this.style = style;}}


Game类(抽象类)

package com.problem;public class Game {private Road road;private Jungle jungle;private Building building;private Tunnel tunnel;public Road getRoad() {return road;}public void setRoad(Road road) {this.road = road;}public Jungle getJungle() {return jungle;}public void setJungle(Jungle jungle) {this.jungle = jungle;}public Building getBuilding() {return building;}public void setBuilding(Building building) {this.building = building;}public Tunnel getTunnel() {return tunnel;}public void setTunnel(Tunnel tunnel) {this.tunnel = tunnel;}public void showRoad(){}public void showJungle(){}public void showBuilding(){}public void showTunnel(){}}


ModernGame类

package com.problem;public class ModernGame extends Game{ModernGame(){this.setRoad(new Road("这是一条现代型的道路!"));this.setJungle(new Jungle("这是一片现代型的丛林!"));this.setBuilding(new Building("这是一间现代型的房屋!"));this.setTunnel(new Tunnel("这是一条现代型的地道!"));}public void showRoad(){System.out.println(this.getRoad().getStyle());}public void showJungle(){System.out.println(this.getJungle().getStyle());}public void showBuilding(){System.out.println(this.getBuilding().getStyle());}public void showTunnel(){System.out.println(this.getTunnel().getStyle());}}


ClassicalGame类

package com.problem;public class ClassicalGame extends Game {ClassicalGame(){this.setRoad(new Road("这是一条古典型的道路!"));this.setJungle(new Jungle("这是一片古典型的丛林!"));this.setBuilding(new Building("这是一间古典型的房屋!"));this.setTunnel(new Tunnel("这是一条古典型的地道!"));}public void showRoad(){System.out.println(this.getRoad().getStyle());}public void showJungle(){System.out.println(this.getJungle().getStyle());}public void showBuilding(){System.out.println(this.getBuilding().getStyle());}public void showTunnel(){System.out.println(this.getTunnel().getStyle());}}


GothicGame类

package com.problem;public class GothicGame extends Game{GothicGame(){this.setRoad(new Road("这是一条哥特式的道路!"));this.setJungle(new Jungle("这是一片哥特式的丛林!"));this.setBuilding(new Building("这是一间哥特式的房屋!"));this.setTunnel(new Tunnel("这是一条哥特式的地道!"));}public void showRoad(){System.out.println(this.getRoad().getStyle());}public void showJungle(){System.out.println(this.getJungle().getStyle());}public void showBuilding(){System.out.println(this.getBuilding().getStyle());}public void showTunnel(){System.out.println(this.getTunnel().getStyle());}}


测试类

package com.problem;public class Test {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubGame[] game=new Game[3];game[0]=new ModernGame();game[1]=new ClassicalGame();game[2]=new GothicGame();for(int i=0;i<3;++i){game[i].showRoad();game[i].showJungle();game[i].showBuilding();game[i].showTunnel();System.out.println("====================");}}}


原创粉丝点击