Samuel Fiedler
Mitglied
        Thread Starter
    
				
					
						- Registriert
- 08.03.2022
- Beiträge
- 3
- Reaktionspunkte
- 0
Hallo im Forum!
Ich habe heute einen linearen zellulären Automaten programmiert. Für weitere Informationen hinsichtlich eines linearen zellulären Automaten siehe Wikipedia.
Der Code ist:
	
	
	
		
Mein konkretes Problem ist, dass AppleScript auch bei Zellen, die eigentlich als 4 Nachbarn nur 0, 0, 0, 0 haben, 1, 1, 0, 0 anzeigt und somit auch diese Zellen „zum Leben erweckt“. Was außerdem sehr merkwürdig ist, ist, dass dieses Problem nur nach schon lebenden Zellen auftaucht.
Gibt es dafür irgendeinen Ursprung (und hoffentlich eine Lösung) oder gibt es keinen Ursprung (& Lösung) und muss ich eine andere Programmiersprache verwenden?
Ich freue mich auf Antworten und Feedback!
LG
Samuel
	
		
			
		
		
	
				
			Ich habe heute einen linearen zellulären Automaten programmiert. Für weitere Informationen hinsichtlich eines linearen zellulären Automaten siehe Wikipedia.
Der Code ist:
		AppleScript:
	
	set links_zwei to 0
set links_eins to 0
set rechts_zwei to 0
set rechts_eins to 0
--                1           5             10             15             20             25             30             35
set spielfeld to [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
--                    1           5             10             15             20             25             30             35
set spielfeld_neu to [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
set ergebnis to "
+-----------------------------------+
|" & spielfeld & "|
"
repeat with i from 1 to 2
    log "Iteration " & i & ":
"
    repeat with ii from 3 to 33
        log "Teil " & ii & ":
"
        set links_zwei to item (ii - 2) of spielfeld
        set links_eins to item (ii - 1) of spielfeld
        set rechts_eins to item (ii + 1) of spielfeld
        set rechts_zwei to item (ii + 2) of spielfeld
        log links_zwei
        log links_eins
        log item ii of spielfeld
        log rechts_eins
        log rechts_zwei
        if links_zwei is 1 and links_eins is 1 and rechts_eins is 0 and rechts_zwei is 0 then
            set item ii of spielfeld_neu to 1
           
        else if links_zwei is 1 and links_eins is 0 and rechts_eins is 1 and rechts_zwei is 0 then
            set item ii of spielfeld_neu to 1
           
        else if links_zwei is 1 and links_eins is 0 and rechts_eins is 0 and rechts_zwei is 1 then
            set item ii of spielfeld_neu to 1
           
        else if links_zwei is 0 and links_eins is 1 and rechts_eins is 1 and rechts_zwei is 0 then
            set item ii of spielfeld_neu to 1
           
        else if links_zwei is 0 and links_eins is 1 and rechts_eins is 0 and rechts_zwei is 1 then
            set item ii of spielfeld_neu to 1
           
        else if links_zwei is 0 and links_eins is 0 and rechts_eins is 1 and rechts_zwei is 1 then
            set item ii of spielfeld_neu to 1
           
        else if links_zwei is 1 and links_eins is 1 and rechts_eins is 1 and rechts_zwei is 0 then
            set item ii of spielfeld_neu to 1
           
        else if links_zwei is 1 and links_eins is 1 and rechts_eins is 0 and rechts_zwei is 1 then
            set item ii of spielfeld_neu to 1
           
        else if links_zwei is 1 and links_eins is 1 and rechts_eins is 1 and rechts_zwei is 1 then
            set item ii of spielfeld_neu to 1
           
        else if links_zwei is 0 and links_eins is 1 and rechts_eins is 1 and rechts_zwei is 1 then
            set item ii of spielfeld_neu to 1
           
        else
            set item ii of spielfeld_neu to 0
        end if
    end repeat
    set ii to 0
    set ergebnis to ergebnis & "|" & spielfeld_neu & "|
"
    set spielfeld to spielfeld_neu
end repeat
tell script "replace"
    set ergebnis to replace(ergebnis, "0", " ")
    set ergebnis to replace(ergebnis, "1", "X")
end tell
set ergebnis to ergebnis & "+-----------------------------------+
"
get ergebnisMein konkretes Problem ist, dass AppleScript auch bei Zellen, die eigentlich als 4 Nachbarn nur 0, 0, 0, 0 haben, 1, 1, 0, 0 anzeigt und somit auch diese Zellen „zum Leben erweckt“. Was außerdem sehr merkwürdig ist, ist, dass dieses Problem nur nach schon lebenden Zellen auftaucht.
Gibt es dafür irgendeinen Ursprung (und hoffentlich eine Lösung) oder gibt es keinen Ursprung (& Lösung) und muss ich eine andere Programmiersprache verwenden?
Ich freue mich auf Antworten und Feedback!
LG
Samuel
 
 
		 .
. .
 . 
 
		 
 
		 
 
		 
 
		