import java.util.HashMap; import java.util.ArrayList; import java.util.Iterator; /** * Write a description of class Person here. * * @author (your name) * @version (a version number or a date) */ public class Person { // instance variables - replace the example below with your own private String mName; private int mMood; private HashMap mWeekEvent; private EventGenerator mGenEvent; /** * Konstruktor för klassen person. Fyller automatiskt listan med veckans händelser. * Anropas med en sträng för namn på personen. * * @param name Namnet på personen. */ public Person(String name) { mName = name; mMood = 200; mWeekEvent = new HashMap(); mGenEvent = new EventGenerator(); } public void listWeek() { ArrayList mWeekday = new ArrayList(); mWeekday.add(new String("Måndag")); mWeekday.add(new String("Tisdag")); mWeekday.add(new String("Onsdag")); mWeekday.add(new String("Torsdag")); mWeekday.add(new String("Fredag")); mWeekday.add(new String("Lördag")); mWeekday.add(new String("Söndag")); System.out.println("Hej, " + mName); System.out.println(" Du startar med gott humör på nivå: " + mMood); System.out.println(" Din vecka slumpar sig såhär..."); // Skapar en array med veckans dagar. // Skulle man vilja att veckan börjar på någon annan dag, eller att listWeek() endast // ska gälla för ett visst antal dagar, är det enkelt att modifiera, då den kommande // while-loopen inte plockar upp ett fast värde, utan storleken på samlingen. Iterator it = mWeekday.iterator(); while(it.hasNext()) { String thisDay = it.next(); // Vänta en sekund... wait(1000); System.out.println(thisDay); generateDayEvent(); affectMood(thisDay); System.out.println(" Ditt humör är nu på: " + mMood); } } private void affectMood(String day) { // mMood += day.getAffectMood(); } public void generateDayEvent() { mWeekEvent.put("Måndag", mGenEvent.generateEvent()); } /** * Wait for a specified number of milliseconds before finishing. * This provides an easy way to specify a small delay which can be * used when producing animations. * @param milliseconds the number */ private void wait(int milliseconds) { try { Thread.sleep(milliseconds); } catch (Exception e) { // ignoring exception at the moment } } }