// WARNING: This file is auto-generated and any changes to it will be overwritten
import java.util.*;
import greenfoot.*;

/**
 * 
 */
public class Bank extends World
{
    private ArrayList<Konto> kontoliste =  new  ArrayList < Konto > ();

    /**
     * Constructor for objects of class MyWorld.
     */
    public Bank()
    {
        super(900, 680, 1);
        this.addObject( new  TFKontenAnzeigen("Konten \nanzeigen"), 135, 30);
        this.addObject( new  TFGeldEinzahlen("Geld\neinzahlen"), 135, 100);
        this.addObject( new  TFAnzahlKontenAnzeigen("Konten\nzählen"), 135, 170);
        this.addObject( new  TFKontoErsetzen("Konto\nersetzen"), 135, 240);
        this.addObject( new  TFEinKontoAnzeigen("Ein Konto\nanzeigen"), 135, 310);
        this.addObject( new  TFPruefeKontoInListe("Ziehen Sie ein Konto\nhierher, um zu prüfen,\nob es in der Liste ist"), 778, 639);
        this.addObject( new  TFKontoHinzufuegen("Ziehen Sie ein Konto\nhierher, um es zur Liste\nhinzuzufügen"), 558, 639);
        this.addObject( new  TFKontoLoeschen("Ziehen Sie ein Konto\nhierher, um es aus der Liste\nzu löschen"), 338, 639);
        this.addObject( new  TFKontenindexHerausfinden("Ziehen Sie ein Konto\nhierher, um seinen Index\nherauszufinden "), 108, 639);
        /* 10 zufällige Kunden erzeugen und in die Liste einfügen:*/
        /* 20 zufällige Konten erzeugen, in die ArrayList einfügen und auf der Welt platzieren*/
        int xpos = 820;
        int ypos = 180;
        int verschiebung = 13;
        for (int i = 1;i <= 20;i++) {
            String kontentyp;
            int kontonummer = Greenfoot.getRandomNumber(9000) + 1000;
            int zufallszahlKontentypauswahl = Greenfoot.getRandomNumber(3) + 1;
            switch (zufallszahlKontentypauswahl) {
                case 1 : {
                    kontentyp = "Girokonto";
                    break;
                }
                case 2 : {
                    kontentyp = "Sparkonto";
                    break;
                }
                case 3 : {
                    kontentyp = "SECA (Super Efficient Cheap Account)";
                    break;
                }
                default : {
                    kontentyp = "NEN (Non-Existing Nothing";
                }
            }
            Konto k =  new  Konto(kontentyp, kontonummer);
            this.kontoliste.add(k);
            this.addObject(k, xpos, ypos);
            xpos = xpos + verschiebung;
            ypos = ypos + 10;
            verschiebung = verschiebung * -1;
        }
    }

    /**
     * 
     */
    public ArrayList<Konto> getKontoliste()
    {
        return this.kontoliste;
    }
}
