Search
 
SCRIPT & CODE EXAMPLE
 

JAVA

trémaux’ methode

Die Trémaus' Methode
>Algorithmus zum Lösen eines Labyrinths

-Labyrinth wird durch zweidimensionales Array dargestellt
-Mit einem sogenannten Agenten begeht man das Labyrinth, dieser schaut immer in die Richtung in die man gerade geht(wo sich Links, Rechts, u.s.w. befinden ist also von ihm abhänging)
-Es gibt Wege und Plätze(Kreuzungen)
	-Wege bestehen aus zwei Wänden und zwei angrenzenden freien Feldern(der von dem man kam und der zu dem man geht)
    	-man kann sie einfach entlang gehen
    -Plätze bestehen aus zumindest drei freien angrenzenden Feldern
    	-betrete keinen Weg mit zwei Markierungen
    	-wenn man an einen Platz kommt markiert man den Weg hinter sich den man gekommen ist
        -man scannt die angrenzenden Felder und überprüft ob es schon markierungen gibt
        	-gibt es keine sucht mant sich eine Richtung aus und markiert die Richtung in die man geht
            -ist mindestens eine Richtung schon markiert kehrt man um sofern hinter einem nur eine Markierung ist und markiert den weg beim zurück gehen ebenso
            -sind hinter einem schon zwei Markierungen geht man den Weg mit den wenigsten Markierungen (0 oder 1) und markiert diesen ebenso
            -kommt man an einem Platz an der in jeder Richtung zwei Markierungen oder eine Wand hat, hat man das ganze Labyrinth abgesucht
            
-um die Koordinaten also die Position des Agenten bestimmen und änder zu können, benötigt man ein Richtungssystem unabhängig von ihm
	-hier bieten sich die Himmelsrichtungen an(Nord, Ost, Süd, West)
    		N
           ###
          W# #O
           ###
            S
    -Um die Himmelsrichtungen anpassen zu können müssen wir ihnen Werte geben und diese entsprechend ändern
    z.B.: Labyrinth[y][x]
    	  Nord = 1; Ost = 2; Süd = 3; West = 4;
          startRichtung = 3;
          wenn du rechts gehst: Richtung = Richtung + 1
          wenn du links gehst: Richtung = Richtung - 1
          wenn du geradeaus gehst: Richtung = Richtung 
          wenn du umdrehst: Richtung = Richtung + 2
          	wenn Richtung = 5: Richtung = 1 //wenn man von Süden zu Norden wechseln will
            wenn Richtung = 5: Richtung = 2 //wenn man von Westen zu Osten wechseln will
            
          wenn Richtung = 1: ändereRichtung: y + 1 (geh ein Feld Nord)
          wenn Richtung = 2: ändereRichtung: x + 1 (geh ein Feld Ost)
          wenn Richtung = 3: ändereRichtung: y - 1 (geh ein Feld Süd)
          wenn Richtung = 4: ändereRichtung: y + 1 (geh ein Feld West)
          
//Wenn ich helfen konnte würde ich mich über eine Donation freuen
Comment

PREVIOUS NEXT
Code Example
Java :: 2d matrix multiplication 
Java :: Person[] people = in java 
Java :: validate list of objects in javax validation 
Java :: random numeros negativos java 
Java :: how to write a perfect shuffle method in java 
Java :: action listener for button to close window java 
Java :: netbeans how to get string from jcombobox 
Java :: nonnull annotation in java 
Java :: java nom de la methode actuel 
Java :: spring boot thymeleaf bindingresult 
Java :: Java Creating LinkedHashSet from Other Collections 
Java :: find node from pos linkedlist java 
Java :: code for working clock in java eclipse 
Java :: poo pledin 3.0 
Java :: skip list java 
Java :: h2 database allow remote database creation 
Java :: java random 8 digit number 
Java :: java static nested class 
Java :: Java Shuffling Using shuffle() 
Java :: how to do two constructors with super 
Java :: 2.5g ethernet linux problem 
Java :: fog command minecraft 
Java :: Java throws clause 
Java :: Arraylist imp for recursion 
Java :: Java Default Access Modifier creates error in package two by importing package one 
Java :: initialize set of strings java 
Java :: How to pass ArrayList of Objects from one to another activity using Intent in android? 
Java :: for each loop summation 
Java :: String in Queue 
Java :: java Map to LinkedHashMap with ascending order of keys 
ADD CONTENT
Topic
Content
Source link
Name
9+5 =