tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Chumper
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
414
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    Avatar von Chumper
    Chumper Chumper ist offline Eichhörnchen
    Registriert seit
    Mar 2006
    Ort
    Vancouver
    Beiträge
    440
    Hi,
    Die erste Stufe habe ich mit Hilfe von Javascript und Google gelöst.
    Mit Javascript habe ich alle möglichen (25) Lösungen erstellt und mir von Google die richtige Lösung raussuchen lassen.
    Teilweise war ich sehr erstaunt, was Google als deutsche Sprache erkennt...

    Naja... wie auch immer, dementsprechend ist der Code auch zusammengefrimmelt.
    Man kann ihn ganz sicher verkürzen, aber nach der Mühe bin ich froh, dass er überhaupt funktioniert.

    Ich habe die Google Language AJAX API zur Hilfe genommen.
    Testen kann man das hier:
    http://www.nils-canada.de/stufe1.html

    Ihr braucht nun noch eine Textarea für den Ausgangstext und eine Textarea mit der ID "decrypt" für die Lösung, die dann eingetragen wird.

    So, mal sehen was man mit der zweiten Stufe machen kann.

    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    
    google.load("language", "1");
     
     
    //Hilfsfunktion, die man eigentlich nicht nehmen sollte, aber ich war faul...
    function in_array(item,arr) {
    for(p=0;p<arr.length;p++) if (item == arr[p]) return true;
    return false;
    }
        //Array fuer Loesungen
        sol = new Array();
        
        //erlaubte Charzeichen
        charer = new Array(10,32,44,46,13,39);
     
    function decrypt(text) {
        
        //Array leeren
        sol = new Array();
        
        //clearen
        document.getElementById('decrypt').innerHTML = "";
        
        //klein machen
        text = text.toLowerCase(); 
        
        //decrypt
        //Zahlen von 97 zu 122
        for (x=1; x < 26; x++)
        {
            dtext = "";
            for (i = 0; i < text.length; i++) 
            {
                char = "";
                //Charzeichen holen
                char = text.charCodeAt(i);
                
                //Zaehlschritt addieren
                if (!in_array(char, charer))
                    char = char+x;
                
                //Falls wir einen Ueberlauf haben, zum Anfang zurueck
                if (char >= 123) 
                    char = (char % 122) + 96;
                
                //Moegliche Loesung zusammensetzen
                dtext = dtext + String.fromCharCode(char);  
            }
            
            //Ab ins Array mit der Loesung
            sol.push(dtext);            
     
            
     
     
        }//Ende von for, wir haben nun alle Lösungen beisammen
        
        //Starten mit der Identifizierung der richtigen Loesung
        google.language.detect(sol[0], function(result){trans(result);});
    }
     
    function trans(result)
    {
        //Falls das Array leer ist, beenden
        if (sol.length == 0)
            return;
        
        //Falls eine Sprache erkennt wurde...
        if (!result.error)
        {
            //Falls die erkannte Sprache deutsch ist... eintragen
            if (result.language == "de")
            document.getElementById('decrypt').innerHTML = document.getElementById('decrypt').innerHTML + '\n\n' + sol[0];
        }
        
        //Erstes Element des Arrays loeschen
        sol.shift();
        
        //Von vorne
        google.language.detect(sol[0], function(result){trans(result);});
    }
    Sven Mintel bedankt sich. 
    mfg Nils

    Problem gelöst?
    Dann bitte das Thema als erledigt anhaken
    und die Antwort bewerten, die weitergeholfen hat.


    Danke!

  2. #2
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Auf jeden Fall ne interessante Idee Google nach der Sprache für den Text zu fragen

    Was erkennt Google denn so als deutsch, was keines ist?
     

  3. #3
    OnlyFoo OnlyFoo ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    470
    In der Tat, eine sehr niedliche Idee =)
     

  4. #4
    Avatar von Chumper
    Chumper Chumper ist offline Eichhörnchen
    Registriert seit
    Mar 2006
    Ort
    Vancouver
    Beiträge
    440
    Probier mal einige Texte aus, dann wirst du dich wundern, was dir Google neben der richtigen Lösung noch anbietet.
     
    mfg Nils

    Problem gelöst?
    Dann bitte das Thema als erledigt anhaken
    und die Antwort bewerten, die weitergeholfen hat.


    Danke!

Thema nicht erledigt

Ähnliche Themen

  1. [Quiz#14] Chumper (Javascript + Canvas)
    Von Chumper im Forum Archiv
    Antworten: 0
    Letzter Beitrag: 26.03.10, 04:56
  2. [QUIZ#9] SteffenBoerner (JavaScript)
    Von SteffenBoerner im Forum Archiv
    Antworten: 0
    Letzter Beitrag: 02.08.09, 14:15
  3. Problem mit JavaScript-Quiz!
    Von Kevinhatproblem im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 13.01.09, 17:28
  4. [QUIZ#05] OnlyFoo (JavaScript + SVG)
    Von OnlyFoo im Forum Archiv
    Antworten: 0
    Letzter Beitrag: 02.11.08, 01:36
  5. eine art quiz mit javascript
    Von DonMarkeZ im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 30.03.06, 19:51