Skip to content
Snippets Groups Projects
Select Git revision
2 results Searching

README.md

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Game.java 15.67 KiB
    package com.company;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.Iterator;
    import java.util.LinkedList;
    
    public class Game {
    
        public void redmoveleft(Gamechar gamechar, int wuerfel, LinkedList<String> outterring) {
            //Red moves in outter Ring left
            //es wird geprueft ob sich die erste Figur noch in der basis befindet
            //Wenn sie das tut läuft sie von dort los
            //0 tes feld des rings wird mit 1 erreicht
            if (gamechar.color == "red" && gamechar.id == 0) {
                String s = outterring.get(53 - wuerfel);
                outterring.set(53 - wuerfel, "charred" + s);
                gamechar.id = 53 - wuerfel;
    
            }
            //Figur befindet sich nicht mehr in der Basis
            //Läuft von aktueller position weiter
            else {
                if (gamechar.color == "red" && gamechar.id != 0) {
                    String t = outterring.get(gamechar.id);
                    if (t.contains("rest")) {
                        outterring.set(gamechar.id, "rest");
                    } else {
                        if (t.contains("infrontofredbase")) {
                            outterring.set(gamechar.id, "infrontofredbase");
                        } else {
                            outterring.set(gamechar.id, "" + gamechar.id);
                            String u = outterring.get(gamechar.id - wuerfel);
                            outterring.set(gamechar.id - wuerfel, "charred" + u);
                            gamechar.id = gamechar.id - wuerfel;
                        }
                    }
    
                }
                //es wird der extremfall abgefangen index out of linked list
                if (gamechar.id - wuerfel < 0) {
                    //hilfsvariable speichert den wert wo die figur stehen soll
                    //hilfsvariable wird dann benutzt um den hut am gewünschten fel zu platzieren
                    int hilf = (gamechar.id - wuerfel);
                    outterring.set(51 + hilf, "charred");
                    gamechar.id = 51 + hilf;
                } else {
                    outterring.set(gamechar.id - wuerfel, "charred");
                    gamechar.id = gamechar.id - wuerfel;
                }
            }
    
    
        }
    
        public void greenmoveleft(Gamechar gamechar, int wuerfel, LinkedList<String> outterring) {
            //green moves in outter Ring left
            //es wird geprueft ob sich die erste Figur noch in der basis befindet
            //Wenn sie das tut läuft sie von dort los
            if (gamechar.color == "green" && gamechar.id == 0) {
                String s = outterring.get(15 - wuerfel);
                outterring.set(15 - wuerfel, "chargreen" + s);
                gamechar.id = 15 - wuerfel;
            }
            //Figur befindet sich nicht mehr in der Basis
            //Läuft von aktueller position weiter
            else {
                if (gamechar.color == "green" && gamechar.id != 0) {
                    String t = outterring.get(gamechar.id);
                    if (t.contains("rest")) {
                        outterring.set(gamechar.id, "rest");
                    } else {
                        if (t.contains("infrontofgreenbase")) {
                            outterring.set(gamechar.id, "infrontofgreenbase");
                        } else {
                            outterring.set(gamechar.id, "" + gamechar.id);
                            String u = outterring.get(gamechar.id - wuerfel);
                            outterring.set(gamechar.id - wuerfel, "chargreen" + u);
                            gamechar.id = gamechar.id - wuerfel;
                        }
                    }
                }
                //es wird der extremfall abgefangen index out of linked list
                if (gamechar.id - wuerfel < 0) {
                    //hilfsvariable speichert den wert wo die figur stehen soll
                    //hilfsvariable wird dann benutzt um den hut am gewünschten fel zu platzieren
                    int hilf = (gamechar.id - wuerfel);
                    outterring.set(51 + hilf, "chargreen");
                    gamechar.id = 51 + hilf;
                } else {
                    outterring.set(gamechar.id - wuerfel, "chargreen");
                    gamechar.id = gamechar.id - wuerfel;
                }
            }
    
        }
    
        public void yellowmoveleft(Gamechar gamechar, int wuerfel, LinkedList<String> outterring) {
            //yellow moves in outter Ring left
            //es wird geprueft ob sich die erste Figur noch in der basis befindet
            //Wenn sie das tut läuft sie von dort los
            if (gamechar.color == "yellow" && gamechar.id == 0) {
                String s = outterring.get(27 - wuerfel);
                outterring.set(27 - wuerfel, "charyellow" + s);
                gamechar.id = 27 - wuerfel;
            }
            //Figur befindet sich nicht mehr in der Basis
            //Läuft von aktueller position weiter
            else {
                if (gamechar.color == "yellow" && gamechar.id != 0) {
                    //aktuellen stand zwischenspeichern
                    String t = outterring.get(gamechar.id);
                    //Ruhebank
                    if (t.contains("rest")) {
                        outterring.set(gamechar.id, "rest");
                    } else {
                        if (t.contains("infrontofyellowbase")) {
                            outterring.set(gamechar.id, "infrontofyellowbase");
                        } else {
                            outterring.set(gamechar.id, "" + gamechar.id);
                            String u = outterring.get(gamechar.id - wuerfel);
                            outterring.set(gamechar.id - wuerfel, "charyellow" + u);
                            gamechar.id = gamechar.id - wuerfel;
                        }
                    }
    
    
                }
                //es wird der extremfall abgefangen index out of linked list
                if (gamechar.id - wuerfel < 0) {
                    //hilfsvariable speichert den wert wo die figur stehen soll
                    //hilfsvariable wird dann benutzt um den hut am gewünschten fel zu platzieren
                    int hilf = (gamechar.id - wuerfel);
                    outterring.set(51 + hilf, "charyellow");
                    gamechar.id = 51 + hilf;
                } else {
                    outterring.set(gamechar.id - wuerfel, "charyellow");
                    gamechar.id = gamechar.id - wuerfel;
                }
            }
        }
    
    
        public void bluemovesleft(Gamechar gamechar, int wuerfel, LinkedList<String> outterring) {
            //blue moves in outter Ring left
            //es wird geprueft ob sich die erste Figur noch in der basis befindet
            //Wenn sie das tut läuft sie von dort los
            if (gamechar.color == "blue" && gamechar.id == 0) {
                String s = outterring.get(40 - wuerfel);
                outterring.set(40 - wuerfel, "charblue" + s);
                gamechar.id = 40 - wuerfel;
            }
            //Figur befindet sich nicht mehr in der Basis
            //Läuft von aktueller position weiter
            else {
                if (gamechar.color == "blue" && gamechar.id != 0) {
    
                    String t = outterring.get(gamechar.id);
                    if (t.contains("rest")) {
                        outterring.set(gamechar.id, "rest");
                    } else {
                        if (t.contains("infrontofbluebase")) {
                            outterring.set(gamechar.id, "infrontofbluebase");
                        } else {
                            outterring.set(gamechar.id, "" + gamechar.id);
                            String u = outterring.get(gamechar.id - wuerfel);
                            outterring.set(gamechar.id - wuerfel, "charblue" + u);
                            gamechar.id = gamechar.id - wuerfel;
                        }
                    }
    
    
                }
    
                //es wird der extremfall abgefangen index out of linked list
                if (gamechar.id - wuerfel < 0) {
                    //hilfsvariable speichert den wert wo die figur stehen soll
                    //hilfsvariable wird dann benutzt um den hut am gewünschten fel zu platzieren
                    int hilf = (gamechar.id - wuerfel);
                    outterring.set(51 + hilf, "charblue");
                    gamechar.id = 51 + hilf;
                } else {
                    outterring.set(gamechar.id - wuerfel, "charblue");
                    gamechar.id = gamechar.id - wuerfel;
                }
            }
        }
    
    
    //nach rechts auf dem außeren ring bewegen
    
    
        public void redmoveright(Gamechar gamechar, int wuerfel, LinkedList<String> outterring) {
            //Red moves in outter Ring right
            //Wenn id 0 hut befindet sich in basis kann von seiner basis aus loslaufen
            if (gamechar.color == "red" && gamechar.id == 0) {
                String s = outterring.get(-1 + wuerfel);
                outterring.set(-1 + wuerfel, s + "charred");
                gamechar.id = 0 + wuerfel;
            } else {
                //Wenn id nicht null hut befindet sich bereits auf Spielfeld
                if (gamechar.color == "red" && gamechar.id != 0) {
                    outterring.set(gamechar.id, "" + gamechar.id);
                }
                //Ueberlauf abfangen
                if (gamechar.id + wuerfel > 51) {
                    int hilf = (gamechar.id + wuerfel) - 51;
                    outterring.set(hilf - 1, "charred");
                    gamechar.id = hilf - 1;
                } else {
                    outterring.set(gamechar.id + wuerfel, "charred");
                    gamechar.id = gamechar.id + wuerfel;
                }
            }
    
    
        }
    
        public void greenmoveright(Gamechar gamechar, int wuerfel, LinkedList<String> outterring) {
            //Green moves in outter Ring righgt
            //Wenn id 0 hut befindet sich in basis kann von seiner basis aus loslaufen
            if (gamechar.color == "green" && gamechar.id == 0) {
                outterring.set(12 + wuerfel, "charred");
                gamechar.id = 12 + wuerfel;
            } else {
                //Wenn id nicht null hut befindet sich bereits auf Spielfeld
                if (gamechar.color == "green" && gamechar.id != 0) {
                    outterring.set(gamechar.id, "" + gamechar.id);
                }
                //Ueberlauf abfangen
                if (gamechar.id + wuerfel > 51) {
                    int hilf = (gamechar.id + wuerfel) - 51;
                    outterring.set(hilf - 1, "chargreen");
                    gamechar.id = hilf - 1;
                } else {
                    outterring.set(gamechar.id + wuerfel, "chargreen");
                    gamechar.id = gamechar.id + wuerfel;
                }
            }
        }
    
        public void yellowmoveright(Gamechar gamechar, int wuerfel, LinkedList<String> outterring) {
            //Yellow moves in outter Ring righgt
            //Wenn id 0 hut befindet sich in basis kann von seiner basis aus loslaufen
            if (gamechar.color == "yellow" && gamechar.id == 0) {
                outterring.set(25 + wuerfel, "charyellow");
                gamechar.id = 25 + wuerfel;
            } else {
                //Wenn id nicht null hut befindet sich bereits auf Spielfeld
                if (gamechar.color == "yellow" && gamechar.id != 0) {
                    outterring.set(gamechar.id, "" + gamechar.id);
                }
                //Ueberlauf abfangen
                if (gamechar.id + wuerfel > 51) {
                    int hilf = (gamechar.id + wuerfel) - 51;
                    outterring.set(hilf - 1, "charyellow");
                    gamechar.id = hilf - 1;
                } else {
                    outterring.set(gamechar.id + wuerfel, "charyellow");
                    gamechar.id = gamechar.id + wuerfel;
                }
            }
        }
    
        public void bluemoveright(Gamechar gamechar, int wuerfel, LinkedList<String> outterring) {
            //blue moves in outter Ring righgt
            //Wenn id 0 hut befindet sich in basis kann von seiner basis aus loslaufen
            if (gamechar.color == "blue" && gamechar.id == 0) {
                outterring.set(38 + wuerfel, "charblue");
                gamechar.id = 38 + wuerfel;
            } else {
                //Wenn id nicht null hut befindet sich bereits auf Spielfeld
                if (gamechar.color == "blue" && gamechar.id != 0) {
                    outterring.set(gamechar.id, "" + gamechar.id);
                }
                //Ueberlauf abfangen
                if (gamechar.id + wuerfel > 51) {
                    int hilf = (gamechar.id + wuerfel) - 51;
                    outterring.set(hilf - 1, "charblue");
                    gamechar.id = hilf - 1;
                } else {
                    outterring.set(gamechar.id + wuerfel, "charblue");
                    gamechar.id = gamechar.id + wuerfel;
                }
            }
        }
    
        public void redmovesstraight(Gamechar gamechar, int wuerfel, LinkedList<String> redtoyellow, LinkedList<String> bluetogreen,LinkedList<String>outterring) throws IOException {
            //Wenn Spielfigur noch in Basis
            if (gamechar.id == 0 && gamechar.color == "red" && wuerfel > 1) {
                String s = redtoyellow.get(-2 + wuerfel);
                redtoyellow.set(-2 + wuerfel, "charred" + s);
                gamechar.id = -2 + wuerfel;
    
            } else {
                //Wenn sich char nicht mehr in der Basis befindet
            }
            if (gamechar.color == "red" && gamechar.id != 0) {
                String t = redtoyellow.get(gamechar.id);
                if (t.contains("rest")) {
                    redtoyellow.set(gamechar.id, "rest");
                } else {
                    redtoyellow.set(gamechar.id, "" + gamechar.id);
                    String u = redtoyellow.get(gamechar.id + wuerfel);
                    redtoyellow.set(gamechar.id +wuerfel, "charred" + u);
                    gamechar.id = gamechar.id +wuerfel;
    
                }
                        //Überlauf bedeutet entweder nach links in den äußerenring oder nach rechts
                     if (gamechar.id + wuerfel > 12) {
                        int hilf = gamechar.id+wuerfel-12;
                         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                         System.out.println("In welche Richtung wollen Sie gehen?: ");
                         String str = br.readLine();
                        if(str=="r"){
                            gamechar.id =26;
                            redmoveleft(gamechar,hilf,outterring);
                        }
                        else
                        {
                            if(str=="l"){
                                gamechar.id=28;
                                redmoveleft(gamechar,hilf,outterring);
                            }
                            else{
                                throw new IOException("falsche Eingabe");
                            }
                        }
    
                    } else {
                         if (gamechar.id + wuerfel > 6) {
                             int hilf = gamechar.id+wuerfel-6;
                             BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                             System.out.println("In welche Richtung wollen Sie gehen?: ");
                             String str = br.readLine();
                             //rechts kommt in die liste bluetogreen
                             if(str=="r"){
                                 gamechar.id =6;
                                 ;
                             }
                             else
                             {
                                 //blue to green
                                 if(str=="l"){
                                     gamechar.id=6;
                                     redmoveleft(gamechar,hilf,outterring);
                                 }
                                 else{
                                     //geradeaus weiter
                                     if(str=="s"){
                                         redmovesstraight(gamechar,hilf,redtoyellow,bluetogreen,outterring);
                                     }
                                     else{
                                         //weder l r noch s eingegeben
                                         throw new IOException("falsche Eingabe");
                                     }
                                 }
    
                                 }
                             }
                         //kommt an keine Kreuzung und lauft einfach geradeaus weiter
                             outterring.set(gamechar.id + wuerfel, "charred");
                             gamechar.id = gamechar.id + wuerfel;
                          }
    
    
            }
    
        }
    }