Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Random;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.HashSet;
- /**
- * The responder class represents a response generator object.
- * It is used to generate an automatic response to an input string.
- *
- * @author Ahmad Lamaul Farid
- * @version 12 November 2020
- */
- public class Responder
- {
- private Random randomGenerator;
- private ArrayList<String> defaultResponses;
- private HashMap<String, String> responseMap;
- /**
- * Create a responder.
- */
- public Responder()
- {
- defaultResponses = new ArrayList<String>();
- responseMap = new HashMap<String, String>();
- fillResponses();
- fillDefaultResponses();
- randomGenerator = new Random();
- }
- /**
- * Generate a response.
- * @return A string that should be displayed as the response.
- */
- public String generateResponse(HashSet<String> character)
- {
- for(String word : character)
- {
- String response = responseMap.get(word);
- if(response != null)
- {
- return response;
- }
- }
- return pickDefaultResponse();
- }
- /**
- * Build up a list of default responses from which we can pick one
- * if we don't know what else to say.
- */
- private void fillResponses()
- {
- responseMap.put("hallo", "Hallo juga");
- responseMap.put("senang", "Wah, saya juga merasa senang jika anda senang\n" +
- "Memangnya apa yang membuatmu senang?");
- responseMap.put("sedih", "Tolong janganlah bersedih kawan :(\n" +
- "Tetaplah jalani hari dengan penuh keceriaan dan semangat");
- responseMap.put("rindu", "Jangan rindu, rindu itu berat kawan kamu tidak akan kuat biar aku saja");
- responseMap.put("letih", "Memang akan sangat meletihkan jika melakukan banyak aktivitas\n" +
- "Jangan lupa relax-kan badan sejenak, seduh secangkir kopi dan nyanyikan lagu indie");
- responseMap.put("gombal1", "Kursi makin lama makin antik, Kalau kamu makin lama makin cantik");
- responseMap.put("gombal2", "Selain ada garuda di dadaku, di dadaku juga selalu ada kamu");
- responseMap.put("gombal3", "Napas aku kok sesek banget ya?\n" + "tau gak kenapa?\n" +
- "karena separuh nafas aku ada pada kamu.");
- responseMap.put("kamu", "aku dibel-bot, teman online kamu saat sedang gabut");
- }
- private void fillDefaultResponses()
- {
- defaultResponses.add("Wah, cukup menarik. ceritakan lebih...");
- defaultResponses.add("Saya masih membutuhkan informasi lebih tentang hal tersebut.");
- defaultResponses.add("Mohon maaf saya kurang paham dengan maksud anda");
- }
- private String pickDefaultResponse()
- {
- int index = randomGenerator.nextInt(defaultResponses.size());
- return defaultResponses.get(index);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement