题目:
编写一个游戏程序(游戏的外型风格可能有现代型、古典型,
在未来的版本中可能还会有其他风格,比如哥特式(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 stub
Game[] 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("====================");
}
}
}
本文探讨了游戏开发中不同风格的道路、丛林、房屋和地道的设计,并通过具体代码实例展示了如何实现现代型、古典型及哥特式的游戏场景。文章深入分析了Road、Jungle、Building和Tunnel类的实现,以及它们在游戏开发中的应用,为开发者提供了一个全面的技术指南。
1563

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



