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 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()); } } }