70 lines
3.0 KiB
Java
70 lines
3.0 KiB
Java
import characters.Character;
|
||
import exceptions.StoryException;
|
||
import model.*;
|
||
import characters.*;
|
||
import story.StoryContext;
|
||
|
||
import java.util.ArrayList;
|
||
import java.util.List;
|
||
|
||
public class StoryTeller {
|
||
public static void main(String[] args) {
|
||
class DevStoryListener {
|
||
private int devNum = 0;
|
||
|
||
void listenToStory(String device) {
|
||
System.out.println("Translating story on Bus " + devNum + " Device " + devNum + ": ID " + hashCode(devNum) + ":" + device );
|
||
devNum++;
|
||
}
|
||
|
||
private String hashCode(int devNum) {
|
||
return "0x" + Integer.toHexString(devNum * 0x10000 + devNum * 0x100 + devNum);
|
||
}
|
||
}
|
||
|
||
DevStoryListener listener = new DevStoryListener();
|
||
listener.listenToStory("JMTek, LLC. USB PnP Audio Device");
|
||
listener.listenToStory("Creative Technology, Ltd SoundBlaster MP3+");
|
||
listener.listenToStory("Sennheiser Communications USB Headset");
|
||
listener.listenToStory("Bluetooth Audio Device");
|
||
|
||
|
||
// На этом знаменитое путешествие Знайки и его товарищей окончилось.
|
||
// Жизнь в Цветочном городе потекла по-старому... хотя нет, нельзя сказать, чтобы совсем по-старому.
|
||
// С тех пор как наши отважные путешественники вернулись домой, в городе только и говорили о них.
|
||
// Все жители, и малыши и малышки, приходили по вечерам к домику Знайки и слушали рассказы путешественников об их жизни в Зеленом городе.
|
||
|
||
// Creating the setting for the story
|
||
City flowerCity = new City("Цветочный город");
|
||
House znaykasHouse = new House("Домик Знайки");
|
||
StoryContext context = new StoryContext(flowerCity, znaykasHouse, "путешествия Знайки");
|
||
|
||
// Creating the characters
|
||
Character znayka = new Znayka();
|
||
Character malish = new Child("Малыш");
|
||
Character malishka = new Child("Малышка");
|
||
|
||
// Adding characters to Znayka's house
|
||
znaykasHouse.addResident(znayka);
|
||
znaykasHouse.addResident(malish);
|
||
znaykasHouse.addResident(malishka);
|
||
|
||
List<String> stories = new ArrayList<>();
|
||
stories.add("путешествие в Зеленый город");
|
||
stories.add("жизнь в Цветочном городе");
|
||
|
||
znaykasHouse.tellEveningStories(context, stories);
|
||
stories.clear();
|
||
|
||
|
||
try {
|
||
if (stories.isEmpty()) {
|
||
throw new StoryException("No stories available to tell.");
|
||
}
|
||
znaykasHouse.tellEveningStories(context, stories);
|
||
} catch (StoryException e) {
|
||
System.err.println("Error in storytelling: " + e.getMessage());
|
||
}
|
||
}
|
||
}
|