Hilfe bei ook

Kennt wer die ook Sprache? und könnte mir das übersetzen!Geht dabei nur um ein Spiel, wäre aber trotzdem dankbar für Hilfe
Liebe Grüsse ERNESTOS

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook?
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook?
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook!
Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook.
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook?
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook

Hallo

Kennt wer die ook Sprache? und könnte mir das übersetzen!Geht
dabei nur um ein Spiel, wäre aber trotzdem dankbar für Hilfe

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook?
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook?
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook!
Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook.
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook?
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook

Das ist kein fehlerfreies Ook, da es einen
blanken ‚Ook‘ nicht gibt, jeder Befehl hat
4 Zeichen. Fehlt da vielleicht die Hälfte?

Da es aber auf ein Ook! folgt, muß es wahr-
scheinlich Ook. heißen :wink:

Mein ook-Interpreter sagt:

$\> ook ernestos.ook

09.464/20.785

Und folgender Quelltext wird von
Perl-Acme::open_mouth:ok ausgespuckt:

[ernestos.pl]

no warnings;
BEGIN{
 eval{ require bytes; bytes::import() }
}

my($Ook, @Ook) = (0, ());

$Ook++; $Ook[$Ook] += 4;

while($Ook[$Ook]) {
 $Ook--; $Ook[$Ook] += 3;
 $Ook++; $Ook[$Ook]--;
}

$Ook--;
while($Ook[$Ook]) {
 $Ook--; $Ook[$Ook] += 4;
 $Ook++; $Ook[$Ook]--;
}

$Ook--; print chr $Ook[$Ook];
$Ook++; $Ook[$Ook] += 3;

while($Ook[$Ook]) {
 $Ook--; $Ook[$Ook] += 3;
 $Ook++; $Ook[$Ook]--;
}

$Ook--; print chr $Ook[$Ook];
$Ook[$Ook] -= 11; print chr $Ook[$Ook];
$Ook[$Ook] += 6; print chr $Ook[$Ook];
$Ook[$Ook] += 2; print chr $Ook[$Ook];
$Ook[$Ook] -= 2; print chr $Ook[$Ook];
$Ook[$Ook] -= 5; print chr $Ook[$Ook];
$Ook[$Ook] += 3; print chr $Ook[$Ook];
$Ook[$Ook] -= 2; print chr $Ook[$Ook];
$Ook[$Ook] -= 2; print chr $Ook[$Ook];

$Ook++; $Ook[$Ook] += 3;
while($Ook[$Ook]) {
 $Ook--; $Ook[$Ook]+=3;
 $Ook++; $Ook[$Ook]--;
}

$Ook--; print chr $Ook[$Ook];
$Ook[$Ook]++; print chr $Ook[$Ook];
$Ook[$Ook] -= 3; print chr $Ook[$Ook];

Grüße

CMБ

Vielen Dank für die unglaublich schnelle Antwort!!!

Hallo Semjon,

Das ist kein fehlerfreies Ook, da es einen
blanken ‚Ook‘ nicht gibt, jeder Befehl hat
4 Zeichen. Fehlt da vielleicht die Hälfte?
Da es aber auf ein Ook! folgt, muß es wahr-
scheinlich Ook. heißen :wink:

ja, macht Sinn.

Mein ook-Interpreter sagt:
$> ook ernestos.ook
09.464/20.785

Wie unfair :smile:), ich mußte mir erst was basteln in Excel-Vba was diesen Ook-Code in eine ablauffähige Vba-Prozedur wandelte.
Aber danke dir, da ich dasselbe raushabe kann ich deshalb davon ausgehen daß mein Code einigermaßen hinhaut.
Auch den Hello World-Ook-Code von Wikipedia hat mein Code übersetzt.

Nachstehend der Excel-Vba-Code der die Prozedur Ook3Txt erstellt und die Prozedur.
Vielleicht braucht das ja mal jemand wenn er im Zoo mit den Affen chatten will *grins*

Der Code erwartet den OOk-Code in den Zellen von Tabelle3.
Im aktiven Blatt wird die erzeugte Prozedur angezeigt den muß man dann nur in ein Modul kopieren und starten, war mir jetzt zu aufwendig die Prozedur gleich in ein Modul zu schreiben ud zu starten.
Die Zellenhüpperei des Ook-Codes findet in einem neu erzeugten Blatt statt, Startzelle ist AA1

Gruß
Reinhard

in Modul1:

Option Explicit
Public P() As String, Anz As Long, Einr As Byte
'
Sub Ook()
Dim Zei, Spa, Zelle, strOok, N
ReDim P(3)
P(0) = "Sub Ook2Txt()"
P(1) = "Dim Ausgabe As String"
P(2) = "Worksheets.Add"
P(3) = "Range(""AA1"").Select"
Anz = 3
With Worksheets("Tabelle1")
 .UsedRange.ClearContents
 For Each Zelle In Worksheets("Tabelle3").UsedRange
 If Zelle.Value "" Then strOok = strOok & Zelle.Value
 Next Zelle
 strOok = Replace(strOok, "Ook", "")
 For N = 1 To Len(strOok) / 2
 Call Check(Mid(strOok, (N - 1) \* 2 + 1, 2))
 Next N
 Anz = Anz + 2
 ReDim Preserve P(Anz)
 P(Anz - 1) = "Msgbox Ausgabe"
 P(Anz) = "End Sub"
End With
For N = 0 To Anz
 Cells(N + 1, 1) = P(N)
Next N
End Sub
'
Sub Check(ByVal Zeichen As String)
Dim Z
Select Case Zeichen
 Case "..", "+" '+ den Wert der aktuellen Zelle um 1 erhöhen
 If P(Anz) Like String(Einr, " ") & "ActiveCell = ActiveCell +\*" Then
 P(Anz) = String(Einr, " ") & "ActiveCell = ActiveCell + " & CInt(Mid(P(Anz), 27 + Einr)) + 1
 Else
 Anz = Anz + 1
 ReDim Preserve P(Anz)
 P(Anz) = String(Einr, " ") & "ActiveCell = ActiveCell + 1"
 End If
 Case "!!", "-" '- den Wert der aktuellen Zelle um 1 verringern
 If P(Anz) Like String(Einr, " ") & "ActiveCell = ActiveCell -\*" Then
 P(Anz) = String(Einr, " ") & "ActiveCell = ActiveCell - " & CInt(Mid(P(Anz), 27 + Einr)) + 1
 Else
 Anz = Anz + 1
 ReDim Preserve P(Anz)
 P(Anz) = String(Einr, " ") & "ActiveCell = ActiveCell - 1"
 End If
 Case ".?", "\>" '\> eine Zelle nach rechts gehen
 If P(Anz) Like "ActiveCell.Offset(0, \*" Then
 Z = CInt(Replace(Replace(P(Anz), String(Einr, " ") & "ActiveCell.Offset(0, ", ""), ").Select", "")) + 1
 P(Anz) = String(Einr, " ") & "ActiveCell.Offset(0, " & Z & ").Select"
 Else
 Anz = Anz + 1
 ReDim Preserve P(Anz)
 P(Anz) = String(Einr, " ") & "ActiveCell.Offset(0, 1).Select"
 End If
 Case "?.", "-" ' 0"
 Einr = Einr + 3
 Case "?!", "]" '] Schleifenende - beendet die Schleife, wenn der Wert der aktuellen Zelle gleich 0 ist
 Einr = Einr - 3
 Anz = Anz + 1
 ReDim Preserve P(Anz)
 P(Anz) = String(Einr, " ") & "Wend"
 Case "!.", "." '. den Wert der aktuellen Zelle ausdrucken
 Anz = Anz + 1
 ReDim Preserve P(Anz)
 P(Anz) = String(Einr, " ") & "Ausgabe= Ausgabe & Chr(ActiveCell.value)"
 Case ".!", "," ', einen Wert von der Tastatur in die aktuelle Zelle einlesen
 Anz = Anz + 1
 ReDim Preserve P(Anz)
 P(Anz) = String(Einr, " ") & "Activecell=Inputbox(""Ein Zeichen eingeben"")"
 Case Else
 MsgBox "Fehler bei Zeichen " & Zeichen
End Select
End Sub

Die erzeugte Prozedur:

Sub Ook2Txt()
Dim Ausgabe As String
Worksheets.Add
Range("AA1").Select
ActiveCell.Offset(0, 1).Select
ActiveCell = ActiveCell + 4
While ActiveCell 0
 ActiveCell.Offset(0, -1).Select
 ActiveCell = ActiveCell + 3
 ActiveCell.Offset(0, 1).Select
 ActiveCell = ActiveCell - 1
Wend
ActiveCell.Offset(0, -1).Select
While ActiveCell 0
 ActiveCell.Offset(0, -1).Select
 ActiveCell = ActiveCell + 4
 ActiveCell.Offset(0, 1).Select
 ActiveCell = ActiveCell - 1
Wend
ActiveCell.Offset(0, -1).Select
Ausgabe = Ausgabe & Chr(ActiveCell.Value)
ActiveCell.Offset(0, 1).Select
ActiveCell = ActiveCell + 3
While ActiveCell 0
 ActiveCell.Offset(0, -1).Select
 ActiveCell = ActiveCell + 3
 ActiveCell.Offset(0, 1).Select
 ActiveCell = ActiveCell - 1
Wend
ActiveCell.Offset(0, -1).Select
Ausgabe = Ausgabe & Chr(ActiveCell.Value)
ActiveCell = ActiveCell - 11
Ausgabe = Ausgabe & Chr(ActiveCell.Value)
ActiveCell = ActiveCell + 6
Ausgabe = Ausgabe & Chr(ActiveCell.Value)
ActiveCell = ActiveCell + 2
Ausgabe = Ausgabe & Chr(ActiveCell.Value)
ActiveCell = ActiveCell - 2
Ausgabe = Ausgabe & Chr(ActiveCell.Value)
ActiveCell = ActiveCell - 5
Ausgabe = Ausgabe & Chr(ActiveCell.Value)
ActiveCell = ActiveCell + 3
Ausgabe = Ausgabe & Chr(ActiveCell.Value)
ActiveCell = ActiveCell - 2
Ausgabe = Ausgabe & Chr(ActiveCell.Value)
ActiveCell = ActiveCell - 2
Ausgabe = Ausgabe & Chr(ActiveCell.Value)
ActiveCell.Offset(0, 1).Select
ActiveCell = ActiveCell + 3
While ActiveCell 0
 ActiveCell.Offset(0, -1).Select
 ActiveCell = ActiveCell + 3
 ActiveCell.Offset(0, 1).Select
 ActiveCell = ActiveCell - 1
Wend
ActiveCell.Offset(0, -1).Select
Ausgabe = Ausgabe & Chr(ActiveCell.Value)
ActiveCell = ActiveCell + 1
Ausgabe = Ausgabe & Chr(ActiveCell.Value)
ActiveCell = ActiveCell - 3
Ausgabe = Ausgabe & Chr(ActiveCell.Value)
MsgBox Ausgabe
End Sub