aboutsummaryrefslogtreecommitdiff
path: root/Info/10/2/Datenkapselung/Repository Spielautomat-Datenkapselung.json
blob: 674a1cd030e1c5d8e6204d6092ba21010b73b4fb (plain)
1
2
3
4
5
6
{
   "name": "Spielautomat-Datenkapselung",
   "files": "[{\"id\":2802052,\"version\":1,\"filename\":\"Spielautomat\",\"path\":[],\"text\":\"class Spielautomat\\n{\\n    Spielwalze walze1;\\n    Spielwalze walze2;\\n    Spielwalze walze3;\\n\\n    int gewinnFaktor;\\n\\n    public Spielautomat(){\\n        walze1 \\u003d new Spielwalze(100,100);\\n        walze2 \\u003d new Spielwalze(200,100);\\n        walze3 \\u003d new Spielwalze(300,100);\\n\\n        gewinnFaktor \\u003d 2;\\n    }\\n\\n    public void AlleDrehen(){\\n        walze1.Drehen();\\n        walze2.Drehen();\\n        walze3.Drehen();\\n    }\\n\\n    /**\\n     * Drehe alle Walzen und entscheide ob das Spiel gewonnen wurde\\n     *\\n     * @return Wahrheitswert der angibt ob das Spiel gewonnen wurde\\n     */\\n    public boolean Spielen() {\\n        String farbe1, farbe2, farbe3;\\n\\n        AlleDrehen();\\n\\n        farbe1 \\u003d walze1.GibFarbe();\\n        farbe2 \\u003d walze2.GibFarbe();\\n        farbe3 \\u003d walze3.GibFarbe();\\n        return farbe1 \\u003d\\u003d farbe2 \\u0026\\u0026 farbe2 \\u003d\\u003d farbe3;\\n    }\\n\\n    /**\\n     * Drehe alle Walzen und gib das eventuell gewonnene Geld zurueck\\n     *\\n     * Bei einem Sieg wird der Einsatz mit dem Gewinnfaktor des Automaten\\n     * multipliziert.\\n     *\\n     * @return einsatz * gewinnFaktor falls das Spiel gewonnen wurde, 0 anderenfalls\\n     */\\n    public int SpielenMitEinsatz(int einsatz) {\\n        if (Spielen()) {\\n            return einsatz * gewinnFaktor;\\n        } else {\\n            return 0;\\n        }\\n    }\\n}\\n\"},{\"id\":2802054,\"version\":1,\"filename\":\"Spielwalze\",\"path\":[],\"text\":\"public class Spielwalze\\n{\\n    private Kasten hintergrund;\\n    private Farbkreis farbsymbol;\\n    private int xPos;\\n    private int yPos;\\n\\n    // Wahrscheinlichkeiten der einzelnen Farben\\n    double pRot;\\n    double pBlau;\\n    double pMagenta;\\n    double pGelb;\\n    double pGruen;\\n\\n    Spielwalze(int xPosNeu,int yPosNeu) {\\n        xPos \\u003d xPosNeu;\\n        yPos \\u003d yPosNeu;\\n\\n        hintergrund \\u003d new Kasten(xPos,yPos,100,100);\\n        farbsymbol \\u003d new Farbkreis(xPos+50,yPos+50,50);\\n\\n        pRot \\u003d 0.3;     // Rot erscheint mit 30% Wahrscheinlichkeit.\\n        pBlau \\u003d 0.3;    // Blau erscheint mit 30% Wahrscheinlichkeit.\\n        pMagenta \\u003d 0.1; // Magenta erscheint mit 10% Wahrscheinlichkeit.\\n        pGelb \\u003d 0.15;   // Gelb erscheint mit 15% Wahrscheinlichkeit.\\n        pGruen \\u003d 0.15;  // Gruen erscheint mit 15% Wahrscheinlichkeit.\\n    }\\n\\n    public void SetzePosition(int xPosNeu, int yPosNeu) {\\n        xPos \\u003d xPosNeu;\\n        yPos \\u003d yPosNeu;\\n\\n        hintergrund.SetzePosition(xPos,yPos);\\n        farbsymbol.SetzePosition(xPos,yPos); \\n    }\\n\\n    public void FarbeSetzen(String neueFarbe) {\\n        farbsymbol.FarbeSetzen(neueFarbe);\\n    }\\n\\n    public String GibFarbe() {\\n        return farbsymbol.GibFarbe();\\n    }\\n\\n    /**\\n     * Dreht die Spielwalze und setzt sie auf eine zufaellig bestimmte Farbe.\\n     */\\n    public void Drehen() {\\n        Random zufallsgenerator;\\n        zufallsgenerator \\u003d new Random();\\n        double zufallszahl;\\n        // Generiert eine neue Zufallszahl, zwischen 0.0 und 1.0.\\n        zufallszahl \\u003d (double)(zufallsgenerator.nextInt(10000))/10000;\\n\\n        if ((zufallszahl -\\u003d pRot) \\u003c\\u003d 0) {\\n            FarbeSetzen(\\\"red\\\");\\n        }\\n        else if ((zufallszahl -\\u003d pBlau) \\u003c\\u003d 0) {\\n            FarbeSetzen(\\\"blue\\\");\\n        }\\n        else if ((zufallszahl -\\u003d pMagenta) \\u003c\\u003d 0) {\\n            FarbeSetzen(\\\"magenta\\\");\\n        }\\n        else if ((zufallszahl -\\u003d pGelb) \\u003c\\u003d 0) {\\n            FarbeSetzen(\\\"yellow\\\");\\n        }\\n        else if ((zufallszahl -\\u003d pGruen) \\u003c\\u003d 0) {\\n            FarbeSetzen(\\\"green\\\");\\n        }\\n    }\\n}\\n\"},{\"id\":2802055,\"version\":1,\"filename\":\"Farbkreis\",\"path\":[],\"text\":\"public class Farbkreis extends Circle\\n{\\n   String farbe;\\n\\n   public Farbkreis(int xPosNeu, int yPosNeu, int radiusNeu) {\\n      super(xPosNeu, yPosNeu, radiusNeu);\\n      this.FarbeSetzen(\\\"red\\\");\\n   }\\n\\n   public void FarbeSetzen(String neueFarbe) {\\n      farbe \\u003d neueFarbe;\\n      this.setFillColor(farbe);\\n   }\\n\\n   public String GibFarbe() {\\n      return farbe;\\n   }\\n\\n   public void SetzePosition(int xPosNeu, int yPosNeu) {\\n      this.moveTo(xPosNeu, yPosNeu);\\n   } \\n}\\n\"},{\"id\":2802056,\"version\":1,\"filename\":\"Kasten\",\"path\":[],\"text\":\"class Kasten extends Rectangle\\n{ \\n   Kasten(int xPosNeu, int yPosNeu, int breiteNeu, int hoeheNeu) {\\n      super(xPosNeu, yPosNeu, breiteNeu, hoeheNeu);\\n      this.setFillColor(\\\"gray\\\");\\n   }\\n    \\n   Kasten() {\\n      this(100, 100, 100, 100);\\n   }\\n    \\n   void SetzePosition(int xPosNeu, int yPosNeu) {\\n      this.moveTo(xPosNeu, yPosNeu);\\n   }\\n    \\n   void SetzeMittelpunkt(int xPosNeu, int yPosNeu) {\\n      this.move(xPosNeu - getWidth() / 2, yPosNeu - getHeight() / 2);\\n   }\\n}\"},{\"id\":2802057,\"version\":5,\"filename\":\"Spieler\",\"path\":[],\"text\":\"class Spieler extends Actor\\n{\\n   private String name;\\n   private int geld;\\n   private Spielautomat automat;\\n\\n   public Spieler(String nameNeu, Spielautomat automatNeu, int geldNeu)\\n   {\\n      name \\u003d nameNeu;\\n      automat \\u003d automatNeu;\\n      geld \\u003d geldNeu;\\n   }\\n\\n   public void Spielen(Spielautomat automat, int einsatz)\\n   {\\n      int gewinn;\\n\\n      if(geld \\u003e\\u003d einsatz) {\\n         geld \\u003d geld - einsatz;\\n         gewinn \\u003d automat.SpielenMitEinsatz(einsatz);\\n         if(gewinn \\u003e 0) {\\n            System.out.println(name + \\\" hat \\\" + gewinn + \\\" gewonnen\\\");\\n            geld \\u003d geld + gewinn;\\n         } else {\\n            System.out.println(name + \\\" hat leider veloren\\\");\\n         }\\n      }\\n   }\\n\\n   void onKeyDown(String key) {\\n      if(key \\u003d\\u003d Key.Space) {\\n         Spielen(automat, Input.readInt(\\\"Dein Einsatz?\\\"));\\n      }\\n      else if(key \\u003d\\u003d \\\"a\\\") {\\n         new Auszahlung(geld);\\n         geld \\u003d 0;\\n      }\\n      else if(key \\u003d\\u003d \\\"l\\\") {\\n         SchalteAutomatenLichterAus(automat);\\n      }\\n      else if(key \\u003d\\u003d \\\"m\\\") {\\n         ManipuliereAutomat(automat);\\n      }\\n      else if(key \\u003d\\u003d \\\"x\\\") {\\n         ZerstoereAutomat(automat);\\n      }\\n   }\\n\\n    /** \\n     * Schalte alle Lichter am Spielautomaten aus\\n     */\\n   public void SchalteAutomatenLichterAus(Spielautomat automat)\\n   {\\n        // AUFGABE 1.\\n        // TODO 1: Setze die Farben aller Walzen auf grau\\n        // Tipp:   Verwende die englische Farbbezeichnung\\n      automat.walze1.FarbeSetzen(\\\"gray\\\");\\n      automat.walze2.FarbeSetzen(\\\"gray\\\");\\n      automat.walze3.FarbeSetzen(\\\"gray\\\");\\n   }\\n\\n    /**\\n     * Manipulieren den Spielautomaten\\n     * \\n     * @param automat Der zu manipulierende Spielautomat\\n     */\\n   public void ManipuliereAutomat(Spielautomat automat)\\n   {\\n        // AUFGABE 2.\\n        // TODO 2: Schaue dir in SPIELWALZE an wie die Farben bestimmt werden.\\n        //         Veraendere die Wahrscheinlichkeiten so dass bei jedem Spiel die\\n        //         gleichen Farben gewaehlt werden.\\n        //         Alternativ, erhoehe den ausgeschuetteten Gewinn pro gewonnenen Spiel.\\n      automat.walze1.pRot \\u003d 1;\\n      automat.walze2.pRot \\u003d 1;\\n      automat.walze3.pRot \\u003d 1;\\n\\n      automat.gewinnFaktor \\u003d 1000000;\\n   }\\n\\n    /**\\n     * Sorge dafuer, dass das Programm bei der naechsten Verwendung des Spielautomaten abstuerzt\\n     * \\n     * @param automat Der zu zerstoerende Spielautomat\\n     */\\n   public void ZerstoereAutomat(Spielautomat automat)\\n   {\\n        // ZUSATZAUFGABE.\\n        // TODO: Untersuche die Methoden und Attribute von Spielautomat.\\n        //       Finde eine Moeglichkeit beim naechten Aufruf von automat.Spielen()\\n        //       eine NullPointerException zu erzeigen.\\n        //       https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html\\n        //       https://de.wikipedia.org/wiki/Nullzeiger\\n        automat.walze1 \\u003d null;\\n   }\\n}\\n\\nSpielautomat automat \\u003d new Spielautomat();\\nSpieler spieler \\u003d new Spieler(Input.readString(\\\"Dein Spielername?\\\"), automat, 10);\\nprintln(\\\"Druecke:\\\");\\nprintln(\\\"  Leerstaste - spielen\\\");\\nprintln(\\\"  a -  Auszahlung\\\");\\nprintln(\\\"  l -  Lichter ausschalten\\\");\\nprintln(\\\"  m - Automat manipulieren\\\");\\nprintln(\\\"  x - Automat zerstoeren\\\"); \"},{\"id\":2802256,\"version\":1,\"filename\":\"Auszahlung\",\"path\":[],\"text\":\"class Auszahlung extends Actor {\\n   ArrayList\\u003cSprite\\u003e coins;\\n\\n   public Auszahlung(int betrag) {\\n      int nCoins \\u003d betrag / 10;\\n      coins \\u003d new ArrayList\\u003cSprite\\u003e();\\n\\n      for (int i \\u003d 0; i \\u003c nCoins; i++) {\\n         int rX \\u003d Random.randint(32, 800 - 32);\\n         int rY \\u003d Random.randint(-300, 0);\\n         coins.add(new Sprite(rX, rY, SpriteLibrary.Plattforms, 201));\\n      }\\n\\n      println(\\\"Auszahlung: \\\" + betrag + \\\" Euro\\\");\\n   }\\n\\n   public void act() {\\n      boolean coinsVisible \\u003d false;\\n      for (Sprite coin : coins) {\\n         if(coin.getCenterY() \\u003c 832) {\\n            coin.move(0, 20);\\n            coinsVisible \\u003d true;\\n         }\\n      }\\n\\n      if(!coinsVisible) {\\n         coins.clear();\\n      }\\n   }\\n}\"}]",
   "history": "[{\"timestamp\":\"Wed Feb 04 14:19:21 CET 2026\",\"version\":1,\"userId\":58291,\"username\":\"Florian.Fischer\",\"name\":\"Florian Fischer\",\"comment\":\"Initialer Commit\",\"isIntermediateEntry\":false,\"historyFiles\":[{\"id\":2802052,\"version\":1,\"type\":\"create\",\"filename\":\"Spielautomat\",\"path\":[],\"content\":\"class Spielautomat\\n{\\n    Spielwalze walze1;\\n    Spielwalze walze2;\\n    Spielwalze walze3;\\n\\n    int gewinnFaktor;\\n\\n    public Spielautomat(){\\n        walze1 \\u003d new Spielwalze(100,100);\\n        walze2 \\u003d new Spielwalze(200,100);\\n        walze3 \\u003d new Spielwalze(300,100);\\n\\n        gewinnFaktor \\u003d 2;\\n    }\\n\\n    public void AlleDrehen(){\\n        walze1.Drehen();\\n        walze2.Drehen();\\n        walze3.Drehen();\\n    }\\n\\n    /**\\n     * Drehe alle Walzen und entscheide ob das Spiel gewonnen wurde\\n     *\\n     * @return Wahrheitswert der angibt ob das Spiel gewonnen wurde\\n     */\\n    public boolean Spielen() {\\n        String farbe1, farbe2, farbe3;\\n\\n        AlleDrehen();\\n\\n        farbe1 \\u003d walze1.GibFarbe();\\n        farbe2 \\u003d walze2.GibFarbe();\\n        farbe3 \\u003d walze3.GibFarbe();\\n        return farbe1 \\u003d\\u003d farbe2 \\u0026\\u0026 farbe2 \\u003d\\u003d farbe3;\\n    }\\n\\n    /**\\n     * Drehe alle Walzen und gib das eventuell gewonnene Geld zurueck\\n     *\\n     * Bei einem Sieg wird der Einsatz mit dem Gewinnfaktor des Automaten\\n     * multipliziert.\\n     *\\n     * @return einsatz * gewinnFaktor falls das Spiel gewonnen wurde, 0 anderenfalls\\n     */\\n    public int SpielenMitEinsatz(int einsatz) {\\n        if (Spielen()) {\\n            return einsatz * gewinnFaktor;\\n        } else {\\n            return 0;\\n        }\\n    }\\n}\\n\",\"changeSet\":\"\"},{\"id\":2802054,\"version\":1,\"type\":\"create\",\"filename\":\"Spielwalze\",\"path\":[],\"content\":\"public class Spielwalze\\n{\\n    private Kasten hintergrund;\\n    private Farbkreis farbsymbol;\\n    private int xPos;\\n    private int yPos;\\n\\n    // Wahrscheinlichkeiten der einzelnen Farben\\n    double pRot;\\n    double pBlau;\\n    double pMagenta;\\n    double pGelb;\\n    double pGruen;\\n\\n    Spielwalze(int xPosNeu,int yPosNeu) {\\n        xPos \\u003d xPosNeu;\\n        yPos \\u003d yPosNeu;\\n\\n        hintergrund \\u003d new Kasten(xPos,yPos,100,100);\\n        farbsymbol \\u003d new Farbkreis(xPos+50,yPos+50,50);\\n\\n        pRot \\u003d 0.3;     // Rot erscheint mit 30% Wahrscheinlichkeit.\\n        pBlau \\u003d 0.3;    // Blau erscheint mit 30% Wahrscheinlichkeit.\\n        pMagenta \\u003d 0.1; // Magenta erscheint mit 10% Wahrscheinlichkeit.\\n        pGelb \\u003d 0.15;   // Gelb erscheint mit 15% Wahrscheinlichkeit.\\n        pGruen \\u003d 0.15;  // Gruen erscheint mit 15% Wahrscheinlichkeit.\\n    }\\n\\n    public void SetzePosition(int xPosNeu, int yPosNeu) {\\n        xPos \\u003d xPosNeu;\\n        yPos \\u003d yPosNeu;\\n\\n        hintergrund.SetzePosition(xPos,yPos);\\n        farbsymbol.SetzePosition(xPos,yPos); \\n    }\\n\\n    public void FarbeSetzen(String neueFarbe) {\\n        farbsymbol.FarbeSetzen(neueFarbe);\\n    }\\n\\n    public String GibFarbe() {\\n        return farbsymbol.GibFarbe();\\n    }\\n\\n    /**\\n     * Dreht die Spielwalze und setzt sie auf eine zufaellig bestimmte Farbe.\\n     */\\n    public void Drehen() {\\n        Random zufallsgenerator;\\n        zufallsgenerator \\u003d new Random();\\n        double zufallszahl;\\n        // Generiert eine neue Zufallszahl, zwischen 0.0 und 1.0.\\n        zufallszahl \\u003d (double)(zufallsgenerator.nextInt(10000))/10000;\\n\\n        if ((zufallszahl -\\u003d pRot) \\u003c\\u003d 0) {\\n            FarbeSetzen(\\\"red\\\");\\n        }\\n        else if ((zufallszahl -\\u003d pBlau) \\u003c\\u003d 0) {\\n            FarbeSetzen(\\\"blue\\\");\\n        }\\n        else if ((zufallszahl -\\u003d pMagenta) \\u003c\\u003d 0) {\\n            FarbeSetzen(\\\"magenta\\\");\\n        }\\n        else if ((zufallszahl -\\u003d pGelb) \\u003c\\u003d 0) {\\n            FarbeSetzen(\\\"yellow\\\");\\n        }\\n        else if ((zufallszahl -\\u003d pGruen) \\u003c\\u003d 0) {\\n            FarbeSetzen(\\\"green\\\");\\n        }\\n    }\\n}\\n\",\"changeSet\":\"\"},{\"id\":2802055,\"version\":1,\"type\":\"create\",\"filename\":\"Farbkreis\",\"path\":[],\"content\":\"public class Farbkreis extends Circle\\n{\\n   String farbe;\\n\\n   public Farbkreis(int xPosNeu, int yPosNeu, int radiusNeu) {\\n      super(xPosNeu, yPosNeu, radiusNeu);\\n      this.FarbeSetzen(\\\"red\\\");\\n   }\\n\\n   public void FarbeSetzen(String neueFarbe) {\\n      farbe \\u003d neueFarbe;\\n      this.setFillColor(farbe);\\n   }\\n\\n   public String GibFarbe() {\\n      return farbe;\\n   }\\n\\n   public void SetzePosition(int xPosNeu, int yPosNeu) {\\n      this.moveTo(xPosNeu, yPosNeu);\\n   } \\n}\\n\",\"changeSet\":\"\"},{\"id\":2802056,\"version\":1,\"type\":\"create\",\"filename\":\"Kasten\",\"path\":[],\"content\":\"class Kasten extends Rectangle\\n{ \\n   Kasten(int xPosNeu, int yPosNeu, int breiteNeu, int hoeheNeu) {\\n      super(xPosNeu, yPosNeu, breiteNeu, hoeheNeu);\\n      this.setFillColor(\\\"gray\\\");\\n   }\\n    \\n   Kasten() {\\n      this(100, 100, 100, 100);\\n   }\\n    \\n   void SetzePosition(int xPosNeu, int yPosNeu) {\\n      this.moveTo(xPosNeu, yPosNeu);\\n   }\\n    \\n   void SetzeMittelpunkt(int xPosNeu, int yPosNeu) {\\n      this.move(xPosNeu - getWidth() / 2, yPosNeu - getHeight() / 2);\\n   }\\n}\",\"changeSet\":\"\"},{\"id\":2802057,\"version\":1,\"type\":\"create\",\"filename\":\"Spieler\",\"path\":[],\"content\":\"class Spieler extends Actor\\n{\\n   private String name;\\n   private int geld;\\n   private Spielautomat automat;\\n\\n   public Spieler(String nameNeu, Spielautomat automatNeu, int geldNeu)\\n   {\\n      name \\u003d nameNeu;\\n      automat \\u003d automatNeu;\\n      geld \\u003d geldNeu;\\n   }\\n\\n   public void Spielen(Spielautomat automat, int einsatz)\\n   {\\n      int gewinn;\\n\\n      if(geld \\u003e\\u003d einsatz) {\\n         geld \\u003d geld - einsatz;\\n         gewinn \\u003d automat.SpielenMitEinsatz(einsatz);\\n         if(gewinn \\u003e 0) {\\n            System.out.println(name + \\\" hat \\\" + gewinn + \\\" gewonnen\\\");\\n            geld \\u003d geld + gewinn;\\n         } else {\\n            System.out.println(name + \\\" hat leider veloren\\\");\\n         }\\n      }\\n   }\\n\\n   void onKeyDown(String key) {\\n      if(key \\u003d\\u003d Key.Space) {\\n         Spielen(automat, Input.readInt(\\\"Dein Einsatz?\\\"));\\n      }\\n      else if(key \\u003d\\u003d \\\"l\\\") {\\n         SchalteAutomatenLichterAus(automat);\\n      }\\n      else if(key \\u003d\\u003d \\\"m\\\") {\\n         ManipuliereAutomat(automat);\\n      }\\n      else if(key \\u003d\\u003d \\\"x\\\") {\\n         ZerstoereAutomat(automat);\\n      }\\n   }\\n\\n    /** \\n     * Schalte alle Lichter am Spielautomaten aus\\n     */\\n   public void SchalteAutomatenLichterAus(Spielautomat automat)\\n   {\\n        // AUFGABE 1.\\n        // TODO 1: Setze die Farben aller Walzen auf einen ungueltigen Wert\\n   }\\n\\n    /**\\n     * Manipulieren den Spielautomaten\\n     * \\n     * @param automat Der zu manipulierende Spielautomat\\n     */\\n   public void ManipuliereAutomat(Spielautomat automat)\\n   {\\n        // AUFGABE 2.\\n        // TODO 2: Schaue dir in SPIELWALZE an wie die Farben bestimmt werden.\\n        //         Veraendere die Wahrscheinlichkeiten so dass bei jedem Spiel die\\n        //         gleichen Farben gewaehlt werden.\\n        //         Alternativ, erhoehe den ausgeschuetteten Gewinn pro gewonnenen Spiel.\\n   }\\n\\n    /**\\n     * Sorge dafuer, dass das Programm bei der naechsten Verwendung des Spielautomaten abstuerzt\\n     * \\n     * @param automat Der zu zerstoerende Spielautomat\\n     */\\n   public void ZerstoereAutomat(Spielautomat automat)\\n   {\\n        // ZUSATZAUFGABE.\\n        // TODO: Untersuche die Methoden und Attribute von Spielautomat.\\n        //       Finde eine Moeglichkeit beim naechten Aufruf von automat.Spielen()\\n        //       eine NullPointerException zu erzeigen.\\n        //       https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html\\n        //       https://de.wikipedia.org/wiki/Nullzeiger\\n   }\\n}\\n\\nSpielautomat automat \\u003d new Spielautomat();\\nSpieler spieler \\u003d new Spieler(Input.readString(\\\"Dein Spielername?\\\"), automat, 10);\\nprintln(\\\"Druecke:\\\");\\nprintln(\\\"  Leerstaste - spielen\\\");\\nprintln(\\\"  l -  Lichter ausschalten\\\");\\nprintln(\\\"  m - Automat manipulieren\\\");\\nprintln(\\\"  x - Automat zerstoeren\\\"); \",\"changeSet\":\"\"}]},\n{\"timestamp\":\"04.02.2026, 14:50\",\"version\":2,\"userId\":58291,\"username\":\"Florian.Fischer\",\"name\":\"Florian Fischer\",\"comment\":\"Ergaenze visuelles Feedback durch eine Auszahlung\",\"isIntermediateEntry\":false,\"historyFiles\":[{\"id\":2802057,\"version\":2,\"type\":\"change\",\"content\":\"[{\\\"diffs\\\":[[0,\\\"tz?\\\\\\\"));\\\\n      }\\\\n\\\"],[1,\\\"      else if(key \\u003d\\u003d \\\\\\\"a\\\\\\\") {\\\\n         new Auszahlung(geld);\\\\n         geld \\u003d 0;\\\\n      }\\\\n\\\"],[0,\\\"      else if(ke\\\"]],\\\"start1\\\":808,\\\"start2\\\":808,\\\"length1\\\":32,\\\"length2\\\":118}]\"},{\"id\":2802256,\"version\":1,\"type\":\"create\",\"filename\":\"Auszahlung\",\"path\":[],\"content\":\"class Auszahlung extends Actor {\\n   ArrayList\\u003cSprite\\u003e coins;\\n\\n   public Auszahlung(int betrag) {\\n      int nCoins \\u003d betrag / 10;\\n      coins \\u003d new ArrayList\\u003cSprite\\u003e();\\n\\n      for (int i \\u003d 0; i \\u003c nCoins; i++) {\\n         int rX \\u003d Random.randint(32, 800 - 32);\\n         int rY \\u003d Random.randint(-300, 0);\\n         coins.add(new Sprite(rX, rY, SpriteLibrary.Plattforms, 201));\\n      }\\n\\n      println(\\\"Auszahlung: \\\" + betrag + \\\" Euro\\\");\\n   }\\n\\n   public void act() {\\n      boolean coinsVisible \\u003d false;\\n      for (Sprite coin : coins) {\\n         if(coin.getCenterY() \\u003c 832) {\\n            coin.move(0, 20);\\n            coinsVisible \\u003d true;\\n         }\\n      }\\n\\n      if(!coinsVisible) {\\n         coins.clear();\\n      }\\n   }\\n}\"}]},\n{\"timestamp\":\"04.02.2026, 14:51\",\"version\":3,\"userId\":58291,\"username\":\"Florian.Fischer\",\"name\":\"Florian Fischer\",\"comment\":\"erwaehne die Auszahlung beim Start\",\"isIntermediateEntry\":false,\"historyFiles\":[{\"id\":2802057,\"version\":3,\"type\":\"change\",\"content\":\"[{\\\"diffs\\\":[[0,\\\" spielen\\\\\\\");\\\\n\\\"],[1,\\\"println(\\\\\\\"  a -  Auszahlung\\\\\\\");\\\\n\\\"],[0,\\\"println(\\\\\\\"  l\\\"]],\\\"start1\\\":2701,\\\"start2\\\":2701,\\\"length1\\\":24,\\\"length2\\\":54}]\"}]},\n{\"timestamp\":\"04.02.2026, 14:52\",\"version\":4,\"userId\":58291,\"username\":\"Florian.Fischer\",\"name\":\"Florian Fischer\",\"comment\":\"verbessere die erste aufgabe\",\"isIntermediateEntry\":false,\"historyFiles\":[{\"id\":2802057,\"version\":4,\"type\":\"change\",\"content\":\"[{\\\"diffs\\\":[[0,\\\"auf \\\"],[-1,\\\"einen ungueltigen Wert\\\"],[1,\\\"grau\\\\n        // Tipp:   Verwende die englische Farbbezeichnung\\\"],[0,\\\"\\\\n   \\\"]],\\\"start1\\\":1351,\\\"start2\\\":1351,\\\"length1\\\":30,\\\"length2\\\":70}]\"}]},\n{\"timestamp\":\"04.02.2026, 14:55\",\"version\":5,\"userId\":58291,\"username\":\"Florian.Fischer\",\"name\":\"Florian Fischer\",\"comment\":\"Ergaenze die Loesungen\",\"isIntermediateEntry\":false,\"historyFiles\":[{\"id\":2802057,\"version\":5,\"type\":\"change\",\"content\":\"[{\\\"diffs\\\":[[0,\\\"ichnung\\\\n\\\"],[1,\\\"      automat.walze1.FarbeSetzen(\\\\\\\"gray\\\\\\\");\\\\n      automat.walze2.FarbeSetzen(\\\\\\\"gray\\\\\\\");\\\\n      automat.walze3.FarbeSetzen(\\\\\\\"gray\\\\\\\");\\\\n\\\"],[0,\\\"   }\\\\n\\\"],[-1,\\\"\\\"],[0,\\\"\\\\n    /**\\\"]],\\\"start1\\\":1410,\\\"start2\\\":1410,\\\"length1\\\":21,\\\"length2\\\":147},{\\\"diffs\\\":[[0,\\\" Spiel.\\\\n\\\"],[1,\\\"      automat.walze1.pRot \\u003d 1;\\\\n      automat.walze2.pRot \\u003d 1;\\\\n      automat.walze3.pRot \\u003d 1;\\\\n\\\\n      automat.gewinnFaktor \\u003d 1000000;\\\\n\\\"],[0,\\\"   }\\\\n\\\\n  \\\"]],\\\"start1\\\":2048,\\\"start2\\\":2048,\\\"length1\\\":16,\\\"length2\\\":148},{\\\"diffs\\\":[[0,\\\"on.html\\\\n\\\"],[-1,\\\"\\\"],[0,\\\"        \\\"]],\\\"start1\\\":2755,\\\"start2\\\":2755,\\\"length1\\\":16,\\\"length2\\\":16},{\\\"diffs\\\":[[0,\\\"lzeiger\\\\n\\\"],[1,\\\"        automat.walze1 \\u003d null;\\\\n\\\"],[0,\\\"   }\\\\n}\\\\n\\\\n\\\"]],\\\"start1\\\":2813,\\\"start2\\\":2813,\\\"length1\\\":16,\\\"length2\\\":47}]\"}]}",
   "description": "Einfaches Projekt um die Datenkapselung im Rahmen eines Spielautomaten zu ueben."
}